Versions in this module Expand all Collapse all v0 v0.0.7 Sep 22, 2021 Changes in this version + var ErrAllDialFailed = errors.New("all dial failed") + var ErrBlackPeer = errors.New("black peer") + var ErrConnClosed = errors.New("connection closed") + var ErrPeerAddrNotFoundInPeerStore = errors.New("peer address not found in peer store") + var ErrPeerNotConnected = errors.New("peer not connected") + var ErrProtocolIDNotSupportedByPeer = errors.New("protocol id not supported by remote peer") + var ErrSendMsgIncompletely = errors.New("send msg incompletely") + var ErrStreamPoolNotFound = errors.New("peer stream pool not found") + var ErrUnknownNetworkType = errors.New("unknown network type") + type BasicHost struct + func (bh *BasicHost) AddDirectPeer(mA ma.Multiaddr) + func (bh *BasicHost) Blacklist() blacklist.BlackList + func (bh *BasicHost) CheckClosedConnWithErr(conn network.Conn, err error) bool + func (bh *BasicHost) ClearDirectPeers() + func (bh *BasicHost) ConnMgr() mgr.ConnMgr + func (bh *BasicHost) Context() context.Context + func (bh *BasicHost) Dial(remoteAddr ma.Multiaddr) (network.Conn, error) + func (bh *BasicHost) ID() peer.ID + func (bh *BasicHost) IsPeerSupportProtocol(pid peer.ID, protocolID protocol.ID) bool + func (bh *BasicHost) LocalAddresses() []ma.Multiaddr + func (bh *BasicHost) Notify(notifiee host.Notifiee) + func (bh *BasicHost) PeerProtocols(protocolIDs []protocol.ID) ([]*host.PeerProtocols, error) + func (bh *BasicHost) PeerStore() store.PeerStore + func (bh *BasicHost) PrivateKey() crypto.PrivateKey + func (bh *BasicHost) ProtocolMgr() mgr.ProtocolManager + func (bh *BasicHost) RegisterMsgPayloadHandler(protocolID protocol.ID, handler handler.MsgPayloadHandler) error + func (bh *BasicHost) SendMsg(protocolID protocol.ID, receiverPID peer.ID, msgPayload []byte) error + func (bh *BasicHost) Start() error + func (bh *BasicHost) Stop() error + func (bh *BasicHost) UnregisterMsgPayloadHandler(protocolID protocol.ID) error + type HostConfig struct + BlackNetAddr []string + BlackPeers []peer.ID + ConnEliminationStrategy int + DirectPeers map[peer.ID]ma.Multiaddr + GMTlsClientCfg *gmtls.Config + GMTlsServerCfg *gmtls.Config + Insecurity bool + ListenAddresses []ma.Multiaddr + LoadPidFunc types.LoadPeerIdFromTlsCertFunc + LoadPidFuncGm types.LoadPeerIdFromGMTlsCertFunc + LoadPidFuncQ types.LoadPeerIdFromQTlsCertFunc + MaxConnCountEachPeerAllowed int + MaxPeerCountAllowed int + MsgCompress bool + NetType NetworkType + PeerReceiveStreamMaxCount int32 + PrivateKey crypto.PrivateKey + QTlsCfg *tls.Config + SendStreamPoolCap int32 + SendStreamPoolInitSize int32 + TlsCfg *tls.Config + UseGMTls bool + func (c *HostConfig) AddBlackPeers(pidStr ...string) error + func (c *HostConfig) AddDirectPeer(addr string) error + func (c *HostConfig) NewHost(networkType NetworkType, ctx context.Context, logger api.Logger) (*BasicHost, error) + type NetworkType string + const QuicNetwork + const TcpNetwork + const UnknownNetwork + func ConfirmNetworkTypeByAddr(addr ma.Multiaddr) NetworkType + type Option func(cfg *networkConfig) error + func WithCtx(ctx context.Context) Option + func WithEnableTls(enable bool) Option + func WithGMTlcClientCfg(cfg *gmtls.Config) Option + func WithGMTlcServerCfg(cfg *gmtls.Config) Option + func WithGMTls(enable bool) Option + func WithLoadPidFunc(loadPidFunc types.LoadPeerIdFromTlsCertFunc) Option + func WithLoadPidFuncGm(loadPidFuncGm types.LoadPeerIdFromGMTlsCertFunc) Option + func WithLoadPidFuncQ(loadPidFunc types.LoadPeerIdFromQTlsCertFunc) Option + func WithLocalPID(pid peer.ID) Option + func WithQTlsCfg(cfg *tls.Config) Option + func WithTlcCfg(cfg *tls.Config) Option