7个版本 (破坏性更新)

0.8.0 2024年5月20日
0.7.0 2023年12月30日
0.6.0 2023年3月6日
0.5.0 2022年11月29日
0.1.0 2022年11月18日

#1975 in 网络编程


2 个包中使用 (通过 pushtx)

MIT 协议

63KB
1K SLoC

Peerlink

Documentation Crates.io License Test Status

什么是Peerlink? Peerlink是P2P应用程序的低级构建块。它使用非阻塞反应堆来接受传入连接、建立传出连接、进行消息流和重组、跟踪对等方并执行其他低级操作。它完全抽象出管理TCP套接字和从线路上读取字节的繁琐网络工作。换句话说,它为用户提供了一个简单的接口,用于与其他P2P网络中的节点通信。

如何使用它? 主要用作各种以P2P方式进行通信的应用程序的构建块。例如,如果您正在编写比特币节点或BitTorrent客户端实现,Peerlink可以处理和抽象出网络方面,为开发者提供简化的消息功能,并使他们能够专注于应用程序的业务逻辑。有一个名为 Message 的单个特质,需要在您计划发送和接收的任何消息类型上实现,Peerlink会做繁重的工作。

这与竞争对手有何不同? 该包的哲学是极端的简单性。它不为NAT穿越、对等方发现、加密和其他去中心化网络的应用级方面做出假设,而是为开发者提供简单的API来连接到其他对等方、处理传入的对等方以及发送和接收任意消息。

特性

  • 简单使用(见 示例)。
  • 代理 的第一级支持(Socks5、Tor...)
  • 高效: 基于非阻塞I/O的低延迟操作。
  • 安全: 使用Rust编写。

代理

要启用socks5代理,请启用 socks 特性。

Async/await

默认情况下,反应堆公开一个阻塞句柄。要使用它来处理异步上下文,请启用 async 特性。

使用方法

请参阅文档或提供的示例集成测试

免责声明

本项目没有任何保证。请参阅许可证以获取详细信息。

依赖项

~0.8–11MB
~60K SLoC