Versions in this module Expand all Collapse all v0 v0.0.3 Feb 7, 2021 Changes in this version + const MaxProtocolVersion + const TrickleTimeout + type Config struct + ChainParams *params.Params + DisableRelayTx bool + HostToNetAddress HostToNetAddrFunc + Listeners MessageListeners + NewestGS GSFunc + ProtocolVersion uint32 + Proxy string + Services protocol.ServiceFlag + TrickleInterval time.Duration + UserAgentComments []string + UserAgentName string + UserAgentVersion string + type GSFunc func() (gs *blockdag.GraphState, err error) + type HostToNetAddrFunc func(host string, port uint16, services protocol.ServiceFlag) (*types.NetAddress, error) + type MessageListeners struct + OnAddr func(p *Peer, msg *message.MsgAddr) + OnBlock func(p *Peer, msg *message.MsgBlock, buf []byte) + OnFeeFilter func(p *Peer, msg *message.MsgFeeFilter) + OnGetAddr func(p *Peer, msg *message.MsgGetAddr) + OnGetBlocks func(p *Peer, msg *message.MsgGetBlocks) + OnGetData func(p *Peer, msg *message.MsgGetData) + OnGetHeaders func(p *Peer, msg *message.MsgGetHeaders) + OnGetMiningState func(p *Peer, msg *message.MsgGetMiningState) + OnGraphState func(p *Peer, msg *message.MsgGraphState) + OnInv func(p *Peer, msg *message.MsgInv) + OnMemPool func(p *Peer, msg *message.MsgMemPool) + OnMiningState func(p *Peer, msg *message.MsgMiningState) + OnNotFound func(p *Peer, msg *message.MsgNotFound) + OnPing func(p *Peer, msg *message.MsgPing) + OnPong func(p *Peer, msg *message.MsgPong) + OnRead func(p *Peer, bytesRead int, msg message.Message, err error) + OnReject func(p *Peer, msg *message.MsgReject) + OnSyncDAG func(p *Peer, msg *message.MsgSyncDAG) + OnSyncPoint func(p *Peer, msg *message.MsgSyncPoint) + OnSyncResult func(p *Peer, msg *message.MsgSyncResult) + OnTx func(p *Peer, msg *message.MsgTx) + OnVerAck func(p *Peer, msg *message.MsgVerAck) + OnVersion func(p *Peer, msg *message.MsgVersion) *message.MsgReject + OnWrite func(p *Peer, bytesWritten int, msg message.Message, err error) + type Peer struct + PrevGet PrevGet + func NewInboundPeer(cfg *Config) *Peer + func NewOutboundPeer(cfg *Config, addr string) (*Peer, error) + func (p *Peer) AddKnownInventory(invVect *message.InvVect) + func (p *Peer) Addr() string + func (p *Peer) AssociateConnection(c *connmgr.ConnReq) + func (p *Peer) BytesReceived() uint64 + func (p *Peer) BytesSent() uint64 + func (p *Peer) Cfg() *Config + func (p *Peer) CleanGetBlocksSet() + func (p *Peer) Connected() bool + func (p *Peer) Disconnect() + func (p *Peer) GetGraphState() *blockdag.GraphState + func (p *Peer) ID() int32 + func (p *Peer) Inbound() bool + func (p *Peer) LastAnnouncedBlock() *hash.Hash + func (p *Peer) LastGS() *blockdag.GraphState + func (p *Peer) LastPingNonce() uint64 + func (p *Peer) LastRecv() time.Time + func (p *Peer) LastSend() time.Time + func (p *Peer) LocalAddr() net.Addr + func (p *Peer) NA() *types.NetAddress + func (p *Peer) ProtocolVersion() uint32 + func (p *Peer) PushAddrMsg(addresses []*types.NetAddress) ([]*types.NetAddress, error) + func (p *Peer) PushGetBlocksMsg(sgs *blockdag.GraphState, blocks []*hash.Hash) error + func (p *Peer) PushGetHeadersMsg(sgs *blockdag.GraphState, blocks []*hash.Hash) error + func (p *Peer) PushGraphStateMsg(gs *blockdag.GraphState) error + func (p *Peer) PushRejectMsg(command string, code message.RejectCode, reason string, h *hash.Hash, ...) + func (p *Peer) PushSyncDAGMsg(sgs *blockdag.GraphState, mainLocator []*hash.Hash) error + func (p *Peer) QueueInventory(invVect *message.InvVect) + func (p *Peer) QueueInventoryImmediate(invVect *message.InvVect, gs *blockdag.GraphState) + func (p *Peer) QueueMessage(msg message.Message, doneChan chan<- struct{}) + func (p *Peer) Services() protocol.ServiceFlag + func (p *Peer) StatsSnapshot() *StatsSnap + func (p *Peer) String() string + func (p *Peer) UUID() uuid.UUID + func (p *Peer) UpdateLastAnnouncedBlock(blkHash *hash.Hash) + func (p *Peer) UpdateLastGS(newGS *blockdag.GraphState) + func (p *Peer) UserAgent() string + func (p *Peer) VerAckReceived() bool + func (p *Peer) VersionKnown() bool + func (p *Peer) WaitForDisconnect() + func (p *Peer) WantsHeaders() bool + type PrevGet struct + Blocks *blockdag.HashSet + GS *blockdag.GraphState + Locator []*hash.Hash + Point *hash.Hash + func (pg *PrevGet) CheckBlocks(p *Peer, gs *blockdag.GraphState, blocks []*hash.Hash) (bool, *blockdag.HashSet) + func (pg *PrevGet) Clean() + func (pg *PrevGet) Init(p *Peer) + func (pg *PrevGet) UpdateBlocks(blocks []*hash.Hash) + func (pg *PrevGet) UpdateGS(gs *blockdag.GraphState, locator []*hash.Hash) + func (pg *PrevGet) UpdatePoint(point *hash.Hash) + type ServerPeer struct + BlockProcessed chan connmgr.BanScore + RequestQueue []*message.InvVect + RequestedBlocks map[hash.Hash]struct{} + RequestedTxns map[hash.Hash]struct{} + SyncCandidate bool + TxProcessed chan struct{} + type StatsSnap struct + Addr string + BytesRecv uint64 + BytesSent uint64 + ConnTime time.Time + GraphState *blockdag.GraphState + ID int32 + Inbound bool + LastPingMicros int64 + LastPingNonce uint64 + LastPingTime time.Time + LastRecv time.Time + LastSend time.Time + Services protocol.ServiceFlag + TimeOffset int64 + UUID uuid.UUID + UserAgent string + Version uint32