67个版本 (重大变更)
0.50.0 | 2024年7月5日 |
---|---|
0.49.0 | 2023年12月29日 |
0.48.0 | 2023年7月3日 |
0.45.0 | 2023年1月13日 |
0.8.0 | 2020年12月31日 |
#1022 in 网络编程
每月632次下载
用于 2 Crate
230KB
1K SLoC
pea2pea
pea2pea是一个简单、底层且可定制的TCP P2P节点实现。
核心库仅提供最基本的函数,如启动、结束和维护连接;其余功能由一些可选的低级协议提供。
Handshake
要求连接在执行其他操作之前必须遵循给定的握手逻辑。Reading
允许节点根据用户提供的解码器接收消息。Writing
允许节点根据用户提供的编码器发送消息。OnDisconnect
使节点在断开与对等方的连接时执行指定的操作。OnConnect
使节点在与对等方完全建立连接(握手之后)时执行指定的操作。
目标
- 小型、简单、无框架的代码库:整个库大约有1k行代码,且依赖项很少。
- 易用性:对象和特质少,没有“turboeels”或泛型/引用等会强迫所有父对象适应的因素。
- 正确性:使用稳定版Rust构建,没有
unsafe
代码,测试代码多于实际库中的代码。 - 底层:用户可以完全控制所有连接以及发送或接收的每个字节。
- 良好的性能:在有利的情况下超过10GB/s,内存占用小。
如何使用
这就完成了!
示例
状态
依赖项
~4–12MB
~125K SLoC