58个版本 (34个重大更新)

0.45.1 2024年8月9日
0.44.2 2024年5月1日
0.44.1 2023年12月9日
0.44.0 2023年11月5日
0.1.0 2019年7月19日

1743网络编程 中排名

Download history 55720/week @ 2024-04-26 55617/week @ 2024-05-03 61995/week @ 2024-05-10 58495/week @ 2024-05-17 68798/week @ 2024-05-24 58840/week @ 2024-05-31 53293/week @ 2024-06-07 56204/week @ 2024-06-14 59381/week @ 2024-06-21 47100/week @ 2024-06-28 49824/week @ 2024-07-05 64203/week @ 2024-07-12 66431/week @ 2024-07-19 64058/week @ 2024-07-26 61274/week @ 2024-08-02 83875/week @ 2024-08-09

每月下载量 288,965
333 个Crate中 使用(29 个直接使用)

MIT 许可证

1MB
16K SLoC

高级网络管理器。

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

初始化Swarm

创建一个 Swarm 需要三件事

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

网络行为

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

协议处理器

`ConnectionHandler` 特性定义了与远程节点每个活跃连接的行为:如何处理传入的子流、支持哪些协议、何时打开新的出站子流等。

依赖项

~8–22MB
~338K SLoC