github.com/cranelv/ethereum_mpc@v0.0.0-20191031014521-23aeb1415092/consensus_pbft/message/netMessage.go (about)

     1  package message
     2  
     3  import (
     4  	"github.com/ethereum/go-ethereum/consensus_pbft/pbftTypes"
     5  )
     6  
     7  type Message struct {
     8  	Type      uint32               `protobuf:"varint,1,opt,name=type,enum=protos.Message_Type" json:"type,omitempty"`
     9  	Timestamp uint64					 `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
    10  	Sender	  pbftTypes.PeerID
    11  	Payload   []byte                     `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
    12  	Signature []byte                     `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"`
    13  }
    14  
    15  func (msg* Message)Unmarshal() (MessageInterface,error) {
    16  	var inner MessageInterface
    17  	err := UnmarshalMsg(msg.Payload,&inner)
    18  	if err != nil{
    19  		return nil,err
    20  	}
    21  	return inner,err
    22  }
    23  const (
    24  	Message_UNDEFINED = iota + 0
    25  	Message_DISC_HELLO
    26  	Message_DISC_DISCONNECT
    27  	Message_DISC_GET_PEERS
    28  	Message_DISC_PEERS
    29  	Message_DISC_NEWMSG
    30  	Message_CHAIN_TASKS
    31  	Message_RESPONSE
    32  	Message_CONSENSUS = 20
    33  )
    34