7个稳定版本
3.0.0 | 2023年1月29日 |
---|---|
2.0.0 | 2023年1月23日 |
1.0.4 | 2023年1月2日 |
1.0.3 | 2023年1月1日 |
1.0.2 | 2022年12月30日 |
#859 在 编码
73KB
1.5K SLoC
async-io-typed
结合 bincode
和 futures
,将任何 AsyncRead
或 AsyncWrite
类型适配成用于传输 serde
兼容的Rust类型的通道。
谁需要这个?
如果你有一个需要通信的端点,并且
- 你可以与它建立某种类型的I/O连接(例如TCP、命名管道或Unix套接字)
- 你需要明确的消息边界
- 你不想遵守现有的线格式,如HTTP或protobufs。此crate使用自定义格式。
- 你希望发送的数据可以轻松地表示为Rust类型,并且该类型实现了serde的
Deserialize
和Serialize
特性。
那么这个crate可能对你很有用!
谁不需要这个?
如果端点在同一个进程中,则不应使用此crate。现有的异步mpsc通道可以更好地为你服务。许多crate提供异步mpsc通道,包括 futures
和 tokio
。选择你喜欢的实现。此外,如果你试图与没有Rust代码的过程接口,并且无法采用Rust部分,此crate会给你带来更多伤害而不是帮助。考虑使用protobufs或JSON,如果Rust采用是障碍。
二进制格式
有关此crate使用的二进制格式的详细信息,请参阅 二进制格式规范。
依赖关系
~1.3–2.1MB
~45K SLoC