Documentation
¶
Overview ¶
Package host 提供了 dep2p 的核心 Host 接口。
Host 表示对等网络中的单个 dep2p 节点。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InfoFromHost ¶
InfoFromHost 从主机获取对等节点地址信息。
参数:
- h: 主机实例,用于获取其ID和监听地址。
返回值:
- *peer.AddrInfo: 包含主机ID和所有监听地址的对等节点地址信息结构体。
Types ¶
type Host ¶
type Host interface { // ID 返回与此主机关联的(本地)对等节点ID。 ID() peer.ID // Peerstore 返回此主机的对等节点地址和密钥的存储库。 Peerstore() peerstore.Peerstore // Addrs 返回此主机的监听地址。 Addrs() []ma.Multiaddr // Network 返回此主机的网络接口。 Network() network.Network // Mux 返回此主机的流多路复用器。 Mux() protocol.Switch // Connect 确保此主机与给定对等节点ID的对等节点之间存在连接。 // Connect 将pi中的地址吸收到其内部对等节点存储库中。 // 如果没有活动的连接,Connect将发出h.Network.Dial,并阻塞直到连接打开或返回错误。 Connect(ctx context.Context, pi peer.AddrInfo) error // SetStreamHandler 设置主机的流处理器。 // 这等同于: // host.Mux().SetHandler(proto, handler) // (Thread-safe) SetStreamHandler(pid protocol.ID, handler network.StreamHandler) // SetStreamHandlerMatch 设置主机的流处理器,使用匹配函数进行协议选择。 SetStreamHandlerMatch(protocol.ID, func(protocol.ID) bool, network.StreamHandler) // RemoveStreamHandler 移除主机的流处理器。 RemoveStreamHandler(pid protocol.ID) // NewStream 打开到给定对等节点p的新流,并写入带有给定ProtocolID的p2p/protocol头。 // 如果没有到p的连接,尝试创建一个。如果ProtocolID为空,则不写头。 // (Thread-safe) NewStream(ctx context.Context, p peer.ID, pids ...protocol.ID) (network.Stream, error) // Close 关闭主机、其网络和服务的连接。 Close() error // ConnManager 返回此主机的连接管理器。 ConnManager() connmgr.ConnManager // EventBus 返回此主机的EventBus。 EventBus() event.Bus }
Host 是一个参与p2p网络的对象,它实现了协议或提供服务。 它像Server一样处理请求,像Client一样发出请求。 它被称为Host,因为它既是Server又是Client(Peer可能令人困惑)。
Click to show internal directories.
Click to hide internal directories.