peerset

package
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusCodeBanned  = StatusCode(-1)
	StatusCodeUnknown = StatusCode(0)
	StatusCodeKnown   = StatusCode(1)
	StatusCodeTrusty  = StatusCode(2)
)
View Source
const (
	PeerFlagNodeNetwork = 0x01
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Peer

type Peer struct {
	Status          StatusCode
	Moniker         string
	Agent           string
	PeerID          peer.ID
	PublicKey       bls.PublicKey
	Flags           int
	LastSeen        time.Time
	Height          uint32
	ReceivedBundles int
	InvalidBundles  int
	ReceivedBytes   int
}

func NewPeer

func NewPeer(peerID peer.ID) *Peer

func (*Peer) Address

func (p *Peer) Address() crypto.Address

func (*Peer) IsBanned

func (p *Peer) IsBanned() bool

func (*Peer) IsKnownOrTrusty

func (p *Peer) IsKnownOrTrusty() bool

func (*Peer) IsNodeNetwork

func (p *Peer) IsNodeNetwork() bool

func (*Peer) SetNodeNetworkFlag

func (p *Peer) SetNodeNetworkFlag(nodeNetwork bool)

type PeerSet

type PeerSet struct {
	// contains filtered or unexported fields
}

func NewPeerSet

func NewPeerSet(sessionTimeout time.Duration) *PeerSet

func (*PeerSet) Clear

func (ps *PeerSet) Clear()

func (*PeerSet) CloseSession

func (ps *PeerSet) CloseSession(id int)

func (*PeerSet) FindSession

func (ps *PeerSet) FindSession(id int) *Session

func (*PeerSet) GetPeer

func (ps *PeerSet) GetPeer(pid peer.ID) Peer

GetPeer finds a peer by id and returns a copy of the peer object.

func (*PeerSet) GetPeerList

func (ps *PeerSet) GetPeerList() []Peer

func (*PeerSet) GetRandomPeer

func (ps *PeerSet) GetRandomPeer() Peer

func (*PeerSet) HasAnyOpenSession

func (ps *PeerSet) HasAnyOpenSession() bool

func (*PeerSet) IncreaseInvalidBundlesCounter

func (ps *PeerSet) IncreaseInvalidBundlesCounter(pid peer.ID)

func (*PeerSet) IncreaseReceivedBundlesCounter

func (ps *PeerSet) IncreaseReceivedBundlesCounter(pid peer.ID)

func (*PeerSet) IncreaseReceivedBytesCounter

func (ps *PeerSet) IncreaseReceivedBytesCounter(pid peer.ID, c int)

func (*PeerSet) Len

func (ps *PeerSet) Len() int

func (*PeerSet) MaxClaimedHeight

func (ps *PeerSet) MaxClaimedHeight() uint32

MaxClaimedHeight returns the maximum claimed height.

Note: This value might not be accurate. A bad peer can claim invalid height.

func (*PeerSet) NumberOfOpenSessions

func (ps *PeerSet) NumberOfOpenSessions() int

func (*PeerSet) OpenSession

func (ps *PeerSet) OpenSession(pid peer.ID) *Session

func (*PeerSet) RemovePeer

func (ps *PeerSet) RemovePeer(pid peer.ID)

func (*PeerSet) UpdateHeight

func (ps *PeerSet) UpdateHeight(pid peer.ID, height uint32)

func (*PeerSet) UpdateLastSeen

func (ps *PeerSet) UpdateLastSeen(pid peer.ID)

func (*PeerSet) UpdatePeerInfo

func (ps *PeerSet) UpdatePeerInfo(
	pid peer.ID,
	status StatusCode,
	moniker string,
	agent string,
	publicKey *bls.PublicKey,
	nodeNetwork bool)

func (*PeerSet) UpdateStatus

func (ps *PeerSet) UpdateStatus(pid peer.ID, status StatusCode)

type Session

type Session struct {
	// contains filtered or unexported fields
}

func (*Session) LastActivityAt

func (s *Session) LastActivityAt() time.Time

func (*Session) PeerID

func (s *Session) PeerID() peer.ID

func (*Session) SessionID

func (s *Session) SessionID() int

func (*Session) SetLastResponseCode

func (s *Session) SetLastResponseCode(code message.ResponseCode)

type StatusCode

type StatusCode int

func (StatusCode) String

func (code StatusCode) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL