Documentation ¶
Index ¶
Constants ¶
View Source
const ( MSGCMDLEN = 12 CMDOFFSET = 4 CHECKSUMLEN = 4 HASHLEN = 32 // hash length in byte MSGHDRLEN = 24 MAXBLKHDRCNT = 400 MAXINVHDRCNT = 20 MinConnectionCount = 3 TIMESOFUPDATETIME = 2 )
View Source
const ( MAXBUFLEN = 1024 * 16 // Fixme The maximum buffer to receive message PROTOCOLVERSION = 0 KEEPALIVETIMEOUT = 3 DIALTIMEOUT = 6 CONNMONITOR = 6 MAXSYNCHDRREQ = 2 //Max Concurrent Sync Header Request MaxOutBoundCount = 8 DefaultMaxPeers = 125 MAXIDCACHED = 5000 )
View Source
const ( Init = 0 Hand = 1 HandShake = 2 HandShaked = 3 Establish = 4 Inactive = 5 )
The node state
Variables ¶
View Source
var ReceiveDuplicateBlockCnt uint64 //an index to detecting networking status
Functions ¶
This section is empty.
Types ¶
type NodeAddr ¶
type NodeAddr struct { Time int64 Services uint64 IpAddr [16]byte Port uint16 ID uint64 // Unique ID }
func (*NodeAddr) Deserialization ¶
func (NodeAddr) Serialization ¶
type Noder ¶
type Noder interface { Version() uint32 GetID() uint64 Services() uint64 GetAddr() string GetAddr16() ([16]byte, error) GetPort() uint16 GetHttpInfoPort() int SetHttpInfoPort(uint16) GetState() uint32 GetRelay() bool SetState(state uint32) CompareAndSetState(old, new uint32) bool LocalNode() Noder DelNbrNode(id uint64) (Noder, bool) AddNbrNode(Noder) CloseConn() GetHeight() uint64 GetConnectionCnt() uint GetConn() net.Conn GetTxnPool(bool) map[common.Uint256]*transaction.Transaction AppendToTxnPool(*transaction.Transaction) ErrCode ExistedID(id common.Uint256) bool ReqNeighborList() DumpInfo() UpdateInfo(t time.Time, version uint32, services uint64, port uint16, nonce uint64, relay uint8, height uint64) ConnectSeeds() Connect(nodeAddr string) error Tx(buf []byte) GetTime() int64 NodeEstablished(uid uint64) bool GetEvent(eventName string) *events.Event GetNeighborAddrs() ([]NodeAddr, uint64) GetTransaction(hash common.Uint256) *transaction.Transaction IncRxTxnCnt() GetTxnCnt() uint64 GetRxTxnCnt() uint64 Xmit(interface{}) error GetNeighborHeights() ([]uint64, uint64) WaitForSyncFinish() CleanSubmittedTransactions(block *ledger.Block) error MaybeAcceptTransaction(txn *transaction.Transaction) error RemoveTransaction(txn *transaction.Transaction) GetNeighborNoder() []Noder GetNbrNodeCnt() uint32 GetLastRXTime() time.Time SetHeight(height uint64) IsAddrInNbrList(addr string) bool SetAddrInConnectingList(addr string) bool RemoveAddrInConnectingList(addr string) GetAddressCnt() uint64 AddAddressToKnownAddress(na NodeAddr) RandGetAddresses(nbrAddrs []NodeAddr) []NodeAddr NeedMoreAddresses() bool RandSelectAddresses() []NodeAddr UpdateLastDisconn(id uint64) Relay(Noder, interface{}) error ExistHash(hash common.Uint256) bool IsSyncHeaders() bool SetSyncHeaders(b bool) IsSyncFailed() bool RequestedBlockExisted(hash common.Uint256) bool AddRequestedBlock(hash common.Uint256) DeleteRequestedBlock(hash common.Uint256) GetRequestBlockList() map[common.Uint256]time.Time IsNeighborNoder(n Noder) bool FindSyncNode() (Noder, error) GetBestHeightNoder() Noder AcqSyncBlkReqSem() RelSyncBlkReqSem() AcqSyncHdrReqSem() RelSyncHdrReqSem() SetStartHash(hash common.Uint256) GetStartHash() common.Uint256 SetStopHash(hash common.Uint256) GetStopHash() common.Uint256 ResetRequestedBlock() }
Click to show internal directories.
Click to hide internal directories.