Documentation ¶
Index ¶
Constants ¶
const ( CodeMin = iota + 1 // consensus CodeBlockProposal CodeBlockVote // protocol state sync CodeSyncRequest CodeSyncResponse CodeRangeRequest CodeBatchRequest CodeBlockResponse // cluster consensus CodeClusterBlockProposal CodeClusterBlockVote CodeClusterBlockResponse // collections, guarantees & transactions CodeCollectionGuarantee CodeTransaction CodeTransactionBody // core messages for execution & verification CodeExecutionReceipt CodeResultApproval // execution state synchronization CodeExecutionStateSyncRequest CodeExecutionStateDelta // data exchange for execution of blocks CodeChunkDataRequest CodeChunkDataResponse // result approvals CodeApprovalRequest CodeApprovalResponse // generic entity exchange engines CodeEntityRequest CodeEntityResponse // testing CodeEcho // DKG CodeDKGMessage CodeMax )
Variables ¶
var ChannelToMsgCodes map[network.Channel][]uint8
ChannelToMsgCodes is a mapping of network channels to the cbor codec code's of the messages communicated on them. Each network channel has a list of messages that are expected to be communicated on them.
Functions ¶
This section is empty.
Types ¶
type Codec ¶
type Codec struct { }
Codec represents a CBOR codec for our network.
func (*Codec) Decode ¶
Decode will, given a []byte 'envelope', return a Golang interface 'v'. Return an error if unpacking the envelope fails. NOTE: 'v' is the network message payload in un-serialized form. NOTE: 'code' is the message type. NOTE: 'what' is the 'code' name for debugging / instrumentation. NOTE: 'envelope' contains 'code' & serialized / encoded 'v'. i.e. 1st byte is 'code' and remaining bytes are CBOR encoded 'v'.
func (*Codec) DecodeMsgType ¶ added in v0.26.0
DecodeMsgType is a helper func that returns the first byte of cbor encoded data which corresponds to the message type. This allows users of the codec to have an explicit dependency on this specific property of encoding with the cbor codec. You should not directly interpret the message type in code. i:e msgType := data[0], instead use this func.
func (*Codec) Encode ¶
Encode will, given a Golang interface 'v', return a []byte 'envelope'. Return an error if packing the envelope fails. NOTE: 'v' is the network message payload in unserialized form. NOTE: 'code' is the message type. NOTE: 'what' is the 'code' name for debugging / instrumentation. NOTE: 'envelope' contains 'code' & serialized / encoded 'v'. i.e. 1st byte is 'code' and remaining bytes are CBOR encoded 'v'.
func (*Codec) NewDecoder ¶
NewDecoder creates a new CBOR decoder with the given underlying reader.
type Decoder ¶
type Decoder struct {
// contains filtered or unexported fields
}
Decoder implements a stream decoder for CBOR.