Documentation
¶
Index ¶
- Constants
- type Peer
- type PeerSet
- func (ps *PeerSet) FindSession(sid int) *session.Session
- func (ps *PeerSet) GetPeer(pid peer.ID) *Peer
- func (ps *PeerSet) GetRandomPeer() *Peer
- func (ps *PeerSet) HasAnyOpenSession() bool
- func (ps *PeerSet) HasOpenSession(pid peer.ID) bool
- func (ps *PeerSet) IncreaseInvalidBundlesCounter(pid peer.ID)
- func (ps *PeerSet) IncreaseReceivedBundlesCounter(pid peer.ID)
- func (ps *PeerSet) IncreaseReceivedBytesCounter(pid peer.ID, msgType message.Type, c int64)
- func (ps *PeerSet) IncreaseSentCounters(msgType message.Type, c int64, pid *peer.ID)
- func (ps *PeerSet) IteratePeers(consumer func(peer *Peer) (stop bool))
- func (ps *PeerSet) Len() int
- func (ps *PeerSet) NumberOfSessions() int
- func (ps *PeerSet) OpenSession(pid peer.ID, from, count uint32) *session.Session
- func (ps *PeerSet) ReceivedBytes() map[message.Type]int64
- func (ps *PeerSet) ReceivedBytesMessageType(msgType message.Type) int64
- func (ps *PeerSet) RemoveAllSessions()
- func (ps *PeerSet) RemovePeer(pid peer.ID)
- func (ps *PeerSet) SentBytes() map[message.Type]int64
- func (ps *PeerSet) SentBytesMessageType(msgType message.Type) int64
- func (ps *PeerSet) SessionStats() SessionStats
- func (ps *PeerSet) Sessions() []*session.Session
- func (ps *PeerSet) SetExpiredSessionsAsUncompleted()
- func (ps *PeerSet) SetSessionCompleted(sid int)
- func (ps *PeerSet) SetSessionUncompleted(sid int)
- func (ps *PeerSet) StartedAt() time.Time
- func (ps *PeerSet) TotalReceivedBytes() int64
- func (ps *PeerSet) TotalSentBundles() int
- func (ps *PeerSet) TotalSentBytes() int64
- func (ps *PeerSet) UpdateAddress(pid peer.ID, addr, direction string)
- func (ps *PeerSet) UpdateHeight(pid peer.ID, height uint32, lastBlockHash hash.Hash)
- func (ps *PeerSet) UpdateInfo(pid peer.ID, moniker string, agent string, consKeys []*bls.PublicKey, ...)
- func (ps *PeerSet) UpdateLastReceived(pid peer.ID)
- func (ps *PeerSet) UpdateLastSent(pid peer.ID)
- func (ps *PeerSet) UpdateProtocols(pid peer.ID, protocols []string)
- func (ps *PeerSet) UpdateSessionLastActivity(sid int)
- func (ps *PeerSet) UpdateStatus(pid peer.ID, status StatusCode)
- type SessionStats
- type StatusCode
Constants ¶
View Source
const ( // The Status here, tells us the status os the connection. // TODO: rename `known` to `handshaked` // TODO: remove `Trusty` and `Banned` from the list. // `Trusty` or `Banned` are not the status of the connection. // We should Whitelist or Blacklist peers in firewall. StatusCodeBanned = StatusCode(-1) StatusCodeUnknown = StatusCode(0) StatusCodeDisconnected = StatusCode(1) StatusCodeConnected = StatusCode(2) StatusCodeKnown = StatusCode(3) StatusCodeTrusty = StatusCode(4) )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Peer ¶
type Peer struct {
Status StatusCode
Moniker string
Agent string
Address string
Direction string
Protocols []string
PeerID peer.ID
ConsensusKeys []*bls.PublicKey
Services service.Services
LastSent time.Time
LastReceived time.Time
LastBlockHash hash.Hash
Height uint32
ReceivedBundles int
InvalidBundles int
TotalSessions int
CompletedSessions int
ReceivedBytes map[message.Type]int64
SentBytes map[message.Type]int64
}
func (*Peer) HasNetworkService ¶ added in v0.15.0
func (*Peer) IsKnownOrTrusty ¶
type PeerSet ¶
type PeerSet struct {
// contains filtered or unexported fields
}
func NewPeerSet ¶
func (*PeerSet) GetRandomPeer ¶
GetRandomPeer selects a random peer from the peer set based on their weights. The weight of each peer is determined by the number of failed and total bundles. Peers with higher weights are more likely to be selected.
func (*PeerSet) HasAnyOpenSession ¶
func (*PeerSet) HasOpenSession ¶ added in v0.11.0
func (*PeerSet) IncreaseInvalidBundlesCounter ¶
func (*PeerSet) IncreaseReceivedBundlesCounter ¶
func (*PeerSet) IncreaseReceivedBytesCounter ¶
func (*PeerSet) IncreaseSentCounters ¶ added in v0.18.3
func (*PeerSet) IteratePeers ¶ added in v0.15.0
func (*PeerSet) NumberOfSessions ¶ added in v0.17.0
func (*PeerSet) OpenSession ¶
func (*PeerSet) ReceivedBytes ¶ added in v0.15.0
func (*PeerSet) ReceivedBytesMessageType ¶ added in v0.15.0
func (*PeerSet) RemoveAllSessions ¶ added in v0.17.0
func (ps *PeerSet) RemoveAllSessions()
func (*PeerSet) RemovePeer ¶
func (*PeerSet) SentBytesMessageType ¶ added in v0.15.0
func (*PeerSet) SessionStats ¶ added in v0.17.0
func (ps *PeerSet) SessionStats() SessionStats
func (*PeerSet) SetExpiredSessionsAsUncompleted ¶ added in v0.17.0
func (ps *PeerSet) SetExpiredSessionsAsUncompleted()
func (*PeerSet) SetSessionCompleted ¶ added in v0.17.0
func (*PeerSet) SetSessionUncompleted ¶ added in v0.17.0
func (*PeerSet) TotalReceivedBytes ¶ added in v0.13.0
func (*PeerSet) TotalSentBundles ¶ added in v0.18.3
func (*PeerSet) TotalSentBytes ¶ added in v0.13.0
func (*PeerSet) UpdateAddress ¶ added in v0.17.0
func (*PeerSet) UpdateHeight ¶
func (*PeerSet) UpdateInfo ¶ added in v0.15.0
func (*PeerSet) UpdateLastReceived ¶ added in v0.15.0
func (*PeerSet) UpdateLastSent ¶ added in v0.15.0
func (*PeerSet) UpdateProtocols ¶ added in v0.18.0
func (*PeerSet) UpdateSessionLastActivity ¶ added in v0.18.0
func (*PeerSet) UpdateStatus ¶
func (ps *PeerSet) UpdateStatus(pid peer.ID, status StatusCode)
type SessionStats ¶ added in v0.17.0
func (*SessionStats) String ¶ added in v0.17.0
func (ss *SessionStats) String() string
type StatusCode ¶
type StatusCode int
func (StatusCode) String ¶
func (code StatusCode) String() string
Click to show internal directories.
Click to hide internal directories.