Documentation ¶
Overview ¶
Package manage p2p manage
Index ¶
- Variables
- type ConnManager
- func (s *ConnManager) AddNeighbors(pr *peer.AddrInfo)
- func (s *ConnManager) BandTrackerByProtocol() *types.NetProtocolInfos
- func (s *ConnManager) BoundSize() (insize int, outsize int)
- func (s *ConnManager) CheckDiraction(pid peer.ID) network.Direction
- func (s *ConnManager) Close()
- func (s *ConnManager) Delete(pid peer.ID)
- func (s *ConnManager) FetchConnPeers() []peer.ID
- func (s *ConnManager) FetchNearestPeers() []peer.ID
- func (s *ConnManager) Get(pid peer.ID) *peer.AddrInfo
- func (s *ConnManager) GetLatencyByPeer(pids []peer.ID) map[string]time.Duration
- func (s *ConnManager) GetNetRate() metrics.Stats
- func (s *ConnManager) InBounds() []peer.ID
- func (s *ConnManager) InboundSize() int
- func (s *ConnManager) IsNeighbors(pid peer.ID) bool
- func (s *ConnManager) MonitorAllPeers(seeds []string, host core.Host)
- func (s *ConnManager) OutBounds() []peer.ID
- func (s *ConnManager) OutboundSize() int
- func (s *ConnManager) RateCaculate(ratebytes float64) string
- func (s *ConnManager) Size() int
- type Conngater
- func (s *Conngater) InterceptAccept(n network.ConnMultiaddrs) (allow bool)
- func (s *Conngater) InterceptAddrDial(_ peer.ID, m multiaddr.Multiaddr) (allow bool)
- func (s *Conngater) InterceptPeerDial(p peer.ID) (allow bool)
- func (s *Conngater) InterceptSecured(_ network.Direction, _ peer.ID, n network.ConnMultiaddrs) (allow bool)
- func (s *Conngater) InterceptUpgraded(n network.Conn) (allow bool, reason control.DisconnectReason)
- type PeerInfoManager
- func (p *PeerInfoManager) Add(pid string, info *types.Peer)
- func (p *PeerInfoManager) Close()
- func (p *PeerInfoManager) Copy(dest *types.Peer, source *types.P2PPeerInfo)
- func (p *PeerInfoManager) FetchPeerInfosInMin() []*types.Peer
- func (p *PeerInfoManager) GetPeerInfoInMin(key string) *types.Peer
- func (p *PeerInfoManager) Start()
- type PruePeers
- type TimeCache
Constants ¶
This section is empty.
Variables ¶
var CacheLimit int32 = 50
CacheLimit cachebuffer
Functions ¶
This section is empty.
Types ¶
type ConnManager ¶
type ConnManager struct { Done chan struct{} // contains filtered or unexported fields }
ConnManager p2p connection manager
func NewConnManager ¶
func NewConnManager(host core.Host, discovery *net.Discovery, tracker *metrics.BandwidthCounter, cfg *p2pty.P2PSubConfig) *ConnManager
NewConnManager new connection manager
func (*ConnManager) AddNeighbors ¶
func (s *ConnManager) AddNeighbors(pr *peer.AddrInfo)
AddNeighbors add neighbors by peer info
func (*ConnManager) BandTrackerByProtocol ¶ added in v1.65.0
func (s *ConnManager) BandTrackerByProtocol() *types.NetProtocolInfos
BandTrackerByProtocol returan allprotocols bandinfo
func (*ConnManager) BoundSize ¶
func (s *ConnManager) BoundSize() (insize int, outsize int)
BoundSize get in out conn bound size
func (*ConnManager) CheckDiraction ¶
func (s *ConnManager) CheckDiraction(pid peer.ID) network.Direction
CheckDiraction 检查连接的节点ID是被连接的还是主动连接的
func (*ConnManager) FetchConnPeers ¶
func (s *ConnManager) FetchConnPeers() []peer.ID
FetchConnPeers 获取连接的Peer's ID 这个连接包含被连接的peer以及主动连接的peer.
func (*ConnManager) FetchNearestPeers ¶
func (s *ConnManager) FetchNearestPeers() []peer.ID
FetchNearestPeers fetch nearest peer ids
func (*ConnManager) Get ¶
func (s *ConnManager) Get(pid peer.ID) *peer.AddrInfo
Get get peer add info by id
func (*ConnManager) GetLatencyByPeer ¶
GetLatencyByPeer get peer latency by id
func (*ConnManager) GetNetRate ¶ added in v1.65.0
func (s *ConnManager) GetNetRate() metrics.Stats
GetNetRate get rateinfo
func (*ConnManager) InBounds ¶
func (s *ConnManager) InBounds() []peer.ID
InBounds get in bounds conn peers
func (*ConnManager) InboundSize ¶
func (s *ConnManager) InboundSize() int
InboundSize get inbound conn size
func (*ConnManager) IsNeighbors ¶
func (s *ConnManager) IsNeighbors(pid peer.ID) bool
IsNeighbors check is neighbors by id
func (*ConnManager) MonitorAllPeers ¶
func (s *ConnManager) MonitorAllPeers(seeds []string, host core.Host)
MonitorAllPeers monitory all peers
func (*ConnManager) OutBounds ¶
func (s *ConnManager) OutBounds() []peer.ID
OutBounds get out bounds conn peers
func (*ConnManager) OutboundSize ¶
func (s *ConnManager) OutboundSize() int
OutboundSize get outbound conn size
func (*ConnManager) RateCaculate ¶ added in v1.65.0
func (s *ConnManager) RateCaculate(ratebytes float64) string
RateCaculate means bytes sent / received per second.
type Conngater ¶ added in v1.65.0
type Conngater struct {
// contains filtered or unexported fields
}
Conngater gater struct data
func NewConnGater ¶ added in v1.65.0
NewConnGater connect gater
func (*Conngater) InterceptAccept ¶ added in v1.65.0
func (s *Conngater) InterceptAccept(n network.ConnMultiaddrs) (allow bool)
InterceptAccept tests whether an incipient inbound connection is allowed.
func (*Conngater) InterceptAddrDial ¶ added in v1.65.0
InterceptAddrDial tests whether we're permitted to dial the specified multiaddr for the given peer.
func (*Conngater) InterceptPeerDial ¶ added in v1.65.0
InterceptPeerDial tests whether we're permitted to Dial the specified peer.
func (*Conngater) InterceptSecured ¶ added in v1.65.0
func (s *Conngater) InterceptSecured(_ network.Direction, _ peer.ID, n network.ConnMultiaddrs) (allow bool)
InterceptSecured tests whether a given connection, now authenticated, is allowed.
func (*Conngater) InterceptUpgraded ¶ added in v1.65.0
InterceptUpgraded tests whether a fully capable connection is allowed.
type PeerInfoManager ¶
type PeerInfoManager struct {
// contains filtered or unexported fields
}
PeerInfoManager peer info manager
func NewPeerInfoManager ¶
func NewPeerInfoManager(host host.Host, cli queue.Client, timecache *TimeCache, callFunc PruePeers) *PeerInfoManager
NewPeerInfoManager new peer info manager
func (*PeerInfoManager) Add ¶
func (p *PeerInfoManager) Add(pid string, info *types.Peer)
Add add peer info
func (*PeerInfoManager) Copy ¶
func (p *PeerInfoManager) Copy(dest *types.Peer, source *types.P2PPeerInfo)
Copy copy peer info
func (*PeerInfoManager) FetchPeerInfosInMin ¶
func (p *PeerInfoManager) FetchPeerInfosInMin() []*types.Peer
FetchPeerInfosInMin fetch peer info
func (*PeerInfoManager) GetPeerInfoInMin ¶
func (p *PeerInfoManager) GetPeerInfoInMin(key string) *types.Peer
GetPeerInfoInMin get peer info
func (*PeerInfoManager) Start ¶ added in v1.65.0
func (p *PeerInfoManager) Start()
Start monitor peer info
type PruePeers ¶ added in v1.65.0
PruePeers close peer and put it into blacklist is beBlock is true.