Versions in this module Expand all Collapse all v0 v0.0.7 Sep 22, 2021 Changes in this version + const DefaultEliminationStrategy + const DefaultMaxConnCountEachPeerAllowed + const DefaultMaxPeerCountAllow + const DefaultTryTimes + const ProtocolExchangerProtocolID + var ErrConnExist = errors.New("conn exist") + var ErrConnNotExist = errors.New("conn not exist") + var ErrNoStreamCanBeBorrowed = errors.New("no stream can be borrowed") + var ErrProtocolIDNotRegistered = errors.New("protocol id is not registered") + var ErrProtocolIDRegistered = errors.New("protocol id has registered") + var ErrProtocolOfExchangerMismatch = errors.New("exchanger protocol mismatch") + var ErrPushProtocolTimeout = errors.New("push protocol timeout") + var ErrReceiveStreamsCountReachMax = errors.New("receive streams count reach the maximum value") + var ErrStreamPoolClosed = errors.New("stream pool closed") + func NewBlackList() blacklist.BlackList + func NewConnSupervisor(h host.Host, logger api.Logger) mgr.ConnSupervisor + func NewReceiveStreamManager(peerReceiveStreamMaxCount int32) mgr.ReceiveStreamManager + func NewSendStreamPoolManager(connMgr mgr.ConnMgr, log api.Logger) mgr.SendStreamPoolManager + func NewSimplePeerStore(localPid peer.ID) store.PeerStore + func NewSimpleProtocolExchanger(host host.Host, protocolMgr mgr.ProtocolManager, logger api.Logger) mgr.ProtocolExchanger + func NewSimpleProtocolMgr(localPID peer.ID, protocolBook store.ProtocolBook) mgr.ProtocolManager + func NewSimpleStreamPool(initSize, cap int32, conn network.Conn, host host.Host, log api.Logger) (mgr.SendStreamPool, error) + type EliminationStrategy string + const FIFO + const LIFO + const Random + const Unknown + func EliminationStrategyFromInt(strategy int) EliminationStrategy + type GroupMulticastMgr struct + func NewGroupMulticastMgr(logger api.Logger, host host.Host) *GroupMulticastMgr + func (cm *GroupMulticastMgr) AddPeerToGroup(groupName string, peers ...peer.ID) + func (cm *GroupMulticastMgr) GroupSize(groupName string) int + func (cm *GroupMulticastMgr) InGroup(groupName string, peer peer.ID) bool + func (cm *GroupMulticastMgr) RemoveGroup(groupName string) + func (cm *GroupMulticastMgr) RemovePeerFromGroup(groupName string, peers ...peer.ID) + func (cm *GroupMulticastMgr) SendToGroupAsync(groupName string, protocolID protocol.ID, data []byte) + func (cm *GroupMulticastMgr) SendToGroupSync(groupName string, protocolID protocol.ID, data []byte) error + type LevelConnManager struct + func NewLevelConnManager(logger api.Logger, h host.Host) *LevelConnManager + func (cm *LevelConnManager) AddAsHighLevelPeer(peerId peer.ID) + func (cm *LevelConnManager) AddPeerConn(pid peer.ID, conn network.Conn) bool + func (cm *LevelConnManager) AllPeer() []peer.ID + func (cm *LevelConnManager) ClearHighLevelPeer() + func (cm *LevelConnManager) Close() error + func (cm *LevelConnManager) ExistPeerConn(pid peer.ID, conn network.Conn) bool + func (cm *LevelConnManager) ExpendConn(pid peer.ID) + func (cm *LevelConnManager) GetPeerAllConn(pid peer.ID) []network.Conn + func (cm *LevelConnManager) GetPeerConn(pid peer.ID) network.Conn + func (cm *LevelConnManager) IsAllowed(pid peer.ID) bool + func (cm *LevelConnManager) IsConnected(pid peer.ID) bool + func (cm *LevelConnManager) IsHighLevel(peerId peer.ID) bool + func (cm *LevelConnManager) MaxPeerCountAllowed() int + func (cm *LevelConnManager) PeerCount() int + func (cm *LevelConnManager) RemoveHighLevelPeer(peerId peer.ID) + func (cm *LevelConnManager) RemovePeerConn(pid peer.ID, conn network.Conn) bool + func (cm *LevelConnManager) SetMaxConnCountEachPeerAllowed(max int) + func (cm *LevelConnManager) SetMaxPeerCountAllowed(max int) + func (cm *LevelConnManager) SetStrategy(strategy EliminationStrategy) + type SimplePeerStore struct