wire
Package wire defines P2P message types for network communication.
import "github.com/luxfi/node/message/wire"Package wire defines P2P message types for network communication. This package is wire-format agnostic - encoding is handled by the parent message package.
Functions
Marshal
func Marshal(m *Message) ([]byte, error)Marshal encodes a Message to ZAP wire format
Types
Accepted
Accepted message
func (m *Accepted) GetChainId() []bytefunc (m *Accepted) GetRequestId() uint32AcceptedFrontier
AcceptedFrontier message
func (m *AcceptedFrontier) GetChainId() []bytefunc (m *AcceptedFrontier) GetRequestId() uint32AcceptedStateSummary
AcceptedStateSummary message
func (m *AcceptedStateSummary) GetChainId() []bytefunc (m *AcceptedStateSummary) GetRequestId() uint32Ancestors
Ancestors message
func (m *Ancestors) GetChainId() []bytefunc (m *Ancestors) GetRequestId() uint32BFT
BFT message
func (m *BFT) GetChainId() []byteBloomFilter
BloomFilter for peer discovery
Buffer
Buffer for zero-copy encoding
func NewBuffer(size int) *Bufferfunc (b *Buffer) Bytes() []bytefunc (b *Buffer) Reset()func (b *Buffer) WriteBytes(data []byte)func (b *Buffer) WriteBytesSlice(slices [][]byte)func (b *Buffer) WriteString(s string)func (b *Buffer) WriteUint16(v uint16)func (b *Buffer) WriteUint32(v uint32)func (b *Buffer) WriteUint32Slice(vals []uint32)func (b *Buffer) WriteUint64(v uint64)func (b *Buffer) WriteUint64Slice(vals []uint64)func (b *Buffer) WriteUint8(v uint8)ChainPingEntry
ChainPingEntry is the per-chain payload in Ping/Pong. In Lux's chain model each chain is its own validator set, so the legacy (chain, network) pair collapses to a single chain identifier.
Chits
Chits message
func (m *Chits) GetChainId() []bytefunc (m *Chits) GetRequestId() uint32ClaimedIpPort
ClaimedIpPort in peer list
Client
Client info in handshake
EngineType
EngineType represents the consensus engine type
Get
Get message
func (m *Get) GetChainId() []bytefunc (m *Get) GetDeadline() uint64func (m *Get) GetRequestId() uint32GetAccepted
GetAccepted message
func (m *GetAccepted) GetChainId() []bytefunc (m *GetAccepted) GetDeadline() uint64func (m *GetAccepted) GetRequestId() uint32GetAcceptedFrontier
GetAcceptedFrontier message
func (m *GetAcceptedFrontier) GetChainId() []bytefunc (m *GetAcceptedFrontier) GetDeadline() uint64func (m *GetAcceptedFrontier) GetRequestId() uint32GetAcceptedStateSummary
GetAcceptedStateSummary message
func (m *GetAcceptedStateSummary) GetChainId() []bytefunc (m *GetAcceptedStateSummary) GetDeadline() uint64func (m *GetAcceptedStateSummary) GetRequestId() uint32GetAncestors
GetAncestors message
func (m *GetAncestors) GetChainId() []bytefunc (m *GetAncestors) GetDeadline() uint64func (m *GetAncestors) GetEngineType() EngineTypefunc (m *GetAncestors) GetRequestId() uint32GetPeerList
GetPeerList message
GetStateSummaryFrontier
GetStateSummaryFrontier message
func (m *GetStateSummaryFrontier) GetChainId() []bytefunc (m *GetStateSummaryFrontier) GetDeadline() uint64func (m *GetStateSummaryFrontier) GetRequestId() uint32Gossip
Gossip message (app-level)
func (m *Gossip) GetChainId() []byteHandshake
Handshake message
Message
Message is the top-level P2P message container
func Unmarshal(data []byte) (*Message, error)PeerList
PeerList message
Ping
Ping message
Pong
Pong message
PullQuery
PullQuery message
func (m *PullQuery) GetChainId() []bytefunc (m *PullQuery) GetDeadline() uint64func (m *PullQuery) GetRequestId() uint32PushQuery
PushQuery message
func (m *PushQuery) GetChainId() []bytefunc (m *PushQuery) GetDeadline() uint64func (m *PushQuery) GetRequestId() uint32Put
Put message
func (m *Put) GetChainId() []bytefunc (m *Put) GetRequestId() uint32Reader
Reader for zero-copy decoding
func NewReader(data []byte) *Readerfunc (r *Reader) ReadBytes() ([]byte, error)func (r *Reader) ReadBytesSlice() ([][]byte, error)func (r *Reader) ReadString() (string, error)func (r *Reader) ReadUint16() (uint16, error)func (r *Reader) ReadUint32() (uint32, error)func (r *Reader) ReadUint32Slice() ([]uint32, error)func (r *Reader) ReadUint64() (uint64, error)func (r *Reader) ReadUint64Slice() ([]uint64, error)func (r *Reader) ReadUint8() (uint8, error)Request
Request message (app-level)
func (m *Request) GetChainId() []bytefunc (m *Request) GetDeadline() uint64func (m *Request) GetRequestId() uint32Response
Response message (app-level)
func (m *Response) GetChainId() []bytefunc (m *Response) GetRequestId() uint32StateSummaryFrontier
StateSummaryFrontier message
func (m *StateSummaryFrontier) GetChainId() []bytefunc (m *StateSummaryFrontier) GetRequestId() uint32