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