Documentation
¶
Index ¶
- type BasicPeerManager
- func (pm *BasicPeerManager) AdjustPeerQuality(peer p2p.PeerID, topic string, adjFn func(int) int)
- func (pm *BasicPeerManager) BanPeer(peer p2p.PeerID)
- func (pm *BasicPeerManager) CloseStream(peerID p2p.PeerID) error
- func (pm *BasicPeerManager) GetHost() host.Host
- func (pm *BasicPeerManager) GetPeerQuality(peer p2p.PeerID) int
- func (pm *BasicPeerManager) GetPeers(topic *pubsubManager.Topic) map[p2p.PeerID]struct{}
- func (pm *BasicPeerManager) GetSelfID() p2p.PeerID
- func (pm *BasicPeerManager) GetStream(peerID p2p.PeerID) (network.Stream, error)
- func (pm *BasicPeerManager) GetStreamPeers() []peer.ID
- func (pm *BasicPeerManager) ProtectPeer(peer p2p.PeerID)
- func (pm *BasicPeerManager) Provide(ctx context.Context, location common.Location, data interface{}) error
- func (pm *BasicPeerManager) RefreshBootpeers() []peer.AddrInfo
- func (pm *BasicPeerManager) RemovePeer(peerID p2p.PeerID) error
- func (pm *BasicPeerManager) SetDHT(dht *kaddht.IpfsDHT)
- func (pm *BasicPeerManager) SetHost(host host.Host)
- func (pm *BasicPeerManager) SetP2PBackend(p2pnode protocol.QuaiP2PNode)
- func (pm *BasicPeerManager) SetSelfID(selfID p2p.PeerID)
- func (pm *BasicPeerManager) SetStreamManager(streamManager streamManager.StreamManager)
- func (pm *BasicPeerManager) Stop() error
- func (pm *BasicPeerManager) UnprotectPeer(peer p2p.PeerID)
- func (pm *BasicPeerManager) WriteMessageToStream(peerID p2p.PeerID, stream network.Stream, msg []byte, ...) error
- type PeerManager
- type PeerQuality
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasicPeerManager ¶
type BasicPeerManager struct {
*basicConnGater.BasicConnectionGater
*basicConnMgr.BasicConnMgr
// contains filtered or unexported fields
}
func (*BasicPeerManager) AdjustPeerQuality ¶
func (*BasicPeerManager) BanPeer ¶
func (pm *BasicPeerManager) BanPeer(peer p2p.PeerID)
func (*BasicPeerManager) CloseStream ¶
func (pm *BasicPeerManager) CloseStream(peerID p2p.PeerID) error
func (*BasicPeerManager) GetHost ¶
func (pm *BasicPeerManager) GetHost() host.Host
func (*BasicPeerManager) GetPeerQuality ¶
func (pm *BasicPeerManager) GetPeerQuality(peer p2p.PeerID) int
func (*BasicPeerManager) GetPeers ¶
func (pm *BasicPeerManager) GetPeers(topic *pubsubManager.Topic) map[p2p.PeerID]struct{}
func (*BasicPeerManager) GetSelfID ¶
func (pm *BasicPeerManager) GetSelfID() p2p.PeerID
func (*BasicPeerManager) GetStreamPeers ¶
func (pm *BasicPeerManager) GetStreamPeers() []peer.ID
func (*BasicPeerManager) ProtectPeer ¶
func (pm *BasicPeerManager) ProtectPeer(peer p2p.PeerID)
func (*BasicPeerManager) RefreshBootpeers ¶
func (pm *BasicPeerManager) RefreshBootpeers() []peer.AddrInfo
func (*BasicPeerManager) RemovePeer ¶
func (pm *BasicPeerManager) RemovePeer(peerID p2p.PeerID) error
func (*BasicPeerManager) SetDHT ¶
func (pm *BasicPeerManager) SetDHT(dht *kaddht.IpfsDHT)
func (*BasicPeerManager) SetHost ¶
func (pm *BasicPeerManager) SetHost(host host.Host)
func (*BasicPeerManager) SetP2PBackend ¶
func (pm *BasicPeerManager) SetP2PBackend(p2pnode protocol.QuaiP2PNode)
Set the host for the stream manager
func (*BasicPeerManager) SetSelfID ¶
func (pm *BasicPeerManager) SetSelfID(selfID p2p.PeerID)
func (*BasicPeerManager) SetStreamManager ¶
func (pm *BasicPeerManager) SetStreamManager(streamManager streamManager.StreamManager)
Implementation of underlying StreamManager interface
func (*BasicPeerManager) Stop ¶
func (pm *BasicPeerManager) Stop() error
func (*BasicPeerManager) UnprotectPeer ¶
func (pm *BasicPeerManager) UnprotectPeer(peer p2p.PeerID)
func (*BasicPeerManager) WriteMessageToStream ¶
func (pm *BasicPeerManager) WriteMessageToStream(peerID p2p.PeerID, stream network.Stream, msg []byte, protoversion libp2pprotocol.ID, reporter libp2pmetrics.Reporter) error
type PeerManager ¶
type PeerManager interface {
connmgr.ConnManager
connmgr.ConnectionGater
streamManager.StreamManager
BlockAddr(ip net.IP) error
BlockPeer(p peer.ID) error
BlockSubnet(ipnet *net.IPNet) error
ListBlockedAddrs() []net.IP
ListBlockedPeers() []peer.ID
ListBlockedSubnets() []*net.IPNet
UnblockAddr(ip net.IP) error
UnblockPeer(p peer.ID) error
UnblockSubnet(ipnet *net.IPNet) error
// Sets the ID for the node running the peer manager
SetSelfID(p2p.PeerID)
GetSelfID() p2p.PeerID
// Sets the DHT provided from the Host interface
SetDHT(*kaddht.IpfsDHT)
// Sets the streamManager interface
SetStreamManager(streamManager.StreamManager)
// Announces to the DHT that we are providing this data
Provide(context.Context, common.Location, interface{}) error
// Removes a peer from all the quality buckets
RemovePeer(p2p.PeerID) error
// GetPeers gets randomized set of peers from the database based on the
// request degree of the topic
GetPeers(topic *pubsubManager.Topic) map[p2p.PeerID]struct{}
// RefreshBootpeers returns all the current bootpeers for bootstrapping
RefreshBootpeers() []peer.AddrInfo
// Adjust the quality score of a peer by applying the given adjustment function
AdjustPeerQuality(p2p.PeerID, string, func(int) int)
// Protects the peer's connection from being disconnected
ProtectPeer(p2p.PeerID)
// Remove protection from the peer's connection
UnprotectPeer(p2p.PeerID)
// Bans the peer's connection from being re-established
BanPeer(p2p.PeerID)
// Stops the peer manager
Stop() error
}
PeerManager is an interface that extends libp2p Connection Manager and Gater
func NewManager ¶
Click to show internal directories.
Click to hide internal directories.