#tokio #async-io #binary-data #bitstream #binary #endian #data-stream

tokio-bitstream-io

Tokio 版本的 bitstream-io:用于从/to 流中读取/写入未对齐值的库

7 个版本

0.0.7 2023年1月29日
0.0.6 2023年1月28日

#699 in 异步

26 每月下载量
用于 2 crates

MIT/Apache

120KB
2K SLoC

tokio-bitstream-io

build test

Tokio 版本的 bitstream-io

一个 Rust 库,用于将二进制值从/to 不按字节对齐的流中读取或写入。

该库足够灵活,可以包装任何实现了 tokio AsyncReadAsyncWrite 特性的流。它还支持多种整数数据类型作为这些二进制值的容器。

文档


lib.rs:

为 tokio 运行时使用 bitstream_io 的端口

异步位流处理功能的特性和辅助函数

异步位流读取器用于从可能不是整字节的流中读取有符号和无符号整数值。位流写入器用于将有符号和无符号整数值写入到流中,也可能不是整字节对齐的。

支持大端和小端流。

包装的读取流唯一的要求是它们必须实现 tokio AsyncRead 特性,而写入流唯一的要求是它们必须实现 tokio AsyncWrite 特性。

此外,读取流不会从底层读取比必需更多的字节,只在需要时缓冲一个部分字节。写入流也会随着积累的内容写入所有整字节。

读取器和写入器还设计为与任何可能的整数类型一起工作。许多 Rust 内置的整数类型默认支持。

使用从该库重导出的 async_trait 宏实现特性

依赖关系

~2.2–4MB
~63K SLoC