显示包…

1 个不稳定版本

0.27.0 2021年3月15日

13#local-node 中排名 13

Download history 51/week @ 2024-04-01 16/week @ 2024-04-08 14/week @ 2024-04-15 22/week @ 2024-04-22 15/week @ 2024-04-29 14/week @ 2024-05-06 27/week @ 2024-05-13 5/week @ 2024-05-20 23/week @ 2024-05-27 15/week @ 2024-06-03 15/week @ 2024-06-10 11/week @ 2024-06-17 20/week @ 2024-06-24 2/week @ 2024-07-08 31/week @ 2024-07-15

54 次每月下载
7 个包中 使用

MIT 许可证

650KB
11K SLoC

网络的高级管理器。

一个 Swarm 包含整个网络的状态。libp2p 网络的整个行为可以通过 Swarm 控制。`Swarm` 结构体包含所有活动和非活动连接到远程的状态,并管理所有已打开的子流状态以及在这些子流上构建的所有升级。

初始化 Swarm

创建一个 Swarm 需要

  1. 本地节点的一个网络身份,形式为 PeerId
  2. Transport 特性的实现。这是用于根据其地址到达网络中的节点所使用的类型。有关更多信息,请参阅 transport 模块。
  3. NetworkBehaviour 特性的实现。这是一个状态机,它定义了一旦与节点连接,swarm 应如何行为。

网络行为

NetworkBehaviour 特性在表示如何对 swarm 进行操作的类型上实现。这包括支持的协议以及尝试连接的节点。是 NetworkBehaviour 控制网络中发生的事情。可以组合多个实现 NetworkBehaviour 的类型以形成一个单一的行为。

协议处理器

ProtocolsHandler 特性定义了每个活动连接到远程的行为:如何处理传入的子流、支持的协议、何时打开新的出站子流等。

依赖项

~9–14MB
~289K SLoC