Documentation ¶
Index ¶
- func NewSkipFilter(list *messages.SkipMessageList) conn.SkipFilter
- type DuplicateChecker
- type PeerManager
- type PeerManagerImpl
- func (a *PeerManagerImpl) AddAddress(ctx context.Context, addr proto.TCPAddr) error
- func (a *PeerManagerImpl) AskPeers()
- func (a *PeerManagerImpl) Close()
- func (a *PeerManagerImpl) Connect(ctx context.Context, addr proto.TCPAddr) error
- func (a *PeerManagerImpl) ConnectedCount() int
- func (a *PeerManagerImpl) Disconnect(p peer.Peer)
- func (a *PeerManagerImpl) EachConnected(f func(peer peer.Peer, score *big.Int))
- func (a *PeerManagerImpl) GetPeerWithMaxScore() (peer.Peer, error)
- func (a *PeerManagerImpl) KnownPeers() []storage.KnownPeer
- func (a *PeerManagerImpl) NewConnection(p peer.Peer) error
- func (a *PeerManagerImpl) Run(ctx context.Context)
- func (a *PeerManagerImpl) Score(p peer.Peer) (*proto.Score, error)
- func (a *PeerManagerImpl) SpawnIncomingConnection(ctx context.Context, conn net.Conn) error
- func (a *PeerManagerImpl) SpawnOutgoingConnections(ctx context.Context)
- func (a *PeerManagerImpl) Spawned() []proto.IpPort
- func (a *PeerManagerImpl) Suspend(p peer.Peer, suspendTime time.Time, reason string)
- func (a *PeerManagerImpl) Suspended() []storage.SuspendedPeer
- func (a *PeerManagerImpl) UpdateKnownPeers(known []storage.KnownPeer) error
- func (a *PeerManagerImpl) UpdateScore(p peer.Peer, score *big.Int) error
- type PeerSpawner
- type PeerSpawnerImpl
- type PeerStorage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewSkipFilter ¶ added in v0.10.0
func NewSkipFilter(list *messages.SkipMessageList) conn.SkipFilter
Types ¶
type DuplicateChecker ¶ added in v0.8.1
type PeerManager ¶
type PeerManager interface { NewConnection(peer.Peer) error ConnectedCount() int EachConnected(func(peer.Peer, *proto.Score)) Suspend(peer peer.Peer, suspendTime time.Time, reason string) Suspended() []storage.SuspendedPeer UpdateScore(p peer.Peer, score *proto.Score) error KnownPeers() []storage.KnownPeer UpdateKnownPeers([]storage.KnownPeer) error Close() SpawnOutgoingConnections(context.Context) SpawnIncomingConnection(ctx context.Context, conn net.Conn) error Spawned() []proto.IpPort Connect(context.Context, proto.TCPAddr) error Score(p peer.Peer) (*proto.Score, error) // AskPeers sends GetPeersMessage message to all connected nodes. AskPeers() GetPeerWithMaxScore() (peer.Peer, error) Disconnect(peer.Peer) }
type PeerManagerImpl ¶
type PeerManagerImpl struct {
// contains filtered or unexported fields
}
func NewPeerManager ¶
func NewPeerManager(spawner PeerSpawner, storage PeerStorage, limitConnections int, version proto.Version, networkName string, enableOutboundConnections bool, newConnectionsLimit int) *PeerManagerImpl
func (*PeerManagerImpl) AddAddress ¶
func (*PeerManagerImpl) AskPeers ¶
func (a *PeerManagerImpl) AskPeers()
func (*PeerManagerImpl) Close ¶
func (a *PeerManagerImpl) Close()
func (*PeerManagerImpl) ConnectedCount ¶ added in v0.5.0
func (a *PeerManagerImpl) ConnectedCount() int
func (*PeerManagerImpl) Disconnect ¶
func (a *PeerManagerImpl) Disconnect(p peer.Peer)
func (*PeerManagerImpl) EachConnected ¶
func (a *PeerManagerImpl) EachConnected(f func(peer peer.Peer, score *big.Int))
func (*PeerManagerImpl) GetPeerWithMaxScore ¶ added in v0.10.0
func (a *PeerManagerImpl) GetPeerWithMaxScore() (peer.Peer, error)
func (*PeerManagerImpl) KnownPeers ¶
func (a *PeerManagerImpl) KnownPeers() []storage.KnownPeer
func (*PeerManagerImpl) NewConnection ¶ added in v0.5.0
func (a *PeerManagerImpl) NewConnection(p peer.Peer) error
func (*PeerManagerImpl) Run ¶
func (a *PeerManagerImpl) Run(ctx context.Context)
func (*PeerManagerImpl) SpawnIncomingConnection ¶
func (*PeerManagerImpl) SpawnOutgoingConnections ¶
func (a *PeerManagerImpl) SpawnOutgoingConnections(ctx context.Context)
func (*PeerManagerImpl) Spawned ¶
func (a *PeerManagerImpl) Spawned() []proto.IpPort
func (*PeerManagerImpl) Suspended ¶
func (a *PeerManagerImpl) Suspended() []storage.SuspendedPeer
func (*PeerManagerImpl) UpdateKnownPeers ¶
func (a *PeerManagerImpl) UpdateKnownPeers(known []storage.KnownPeer) error
func (*PeerManagerImpl) UpdateScore ¶
type PeerSpawner ¶
type PeerSpawnerImpl ¶
type PeerSpawnerImpl struct { DuplicateChecker DuplicateChecker // contains filtered or unexported fields }
func NewPeerSpawner ¶
func (*PeerSpawnerImpl) SpawnIncoming ¶
func (*PeerSpawnerImpl) SpawnOutgoing ¶
type PeerStorage ¶
type PeerStorage interface { Known(limit int) []storage.KnownPeer AddOrUpdateKnown(known []storage.KnownPeer, now time.Time) error DeleteKnown(known []storage.KnownPeer) error DropKnown() error Suspended(now time.Time) []storage.SuspendedPeer AddSuspended(suspended []storage.SuspendedPeer) error IsSuspendedIP(ip storage.IP, now time.Time) bool IsSuspendedIPs(ips []storage.IP, now time.Time) []bool DeleteSuspendedByIP(suspended []storage.SuspendedPeer) error RefreshSuspended(now time.Time) error DropSuspended() error DropStorage() error }
Click to show internal directories.
Click to hide internal directories.