#buffer #io #zero-copy #io-operations #parser #reference-counting

nightly iobuf

字节连续区域,适用于 I/O 操作

78 个稳定版本

使用旧的 Rust 2015

5.8.1 2017年7月23日
5.7.1 2017年1月10日
5.7.0 2016年9月1日
5.6.3 2016年3月29日
3.3.3 2014年11月28日

#1697 in 算法

MIT 许可证

185KB
3K SLoC

Iobuf

字节连续区域,适用于 I/O 操作。

crates.io

Build Status

Iobuf 由以下组成

  • 缓冲区
  • 限制(缓冲区的一个子范围)
  • 窗口(限制的一个子范围)

所有 iobuf 操作都限制在限制范围内进行。最初,Iobuf 的窗口与限制相同。如果您有一个对 Iobuf 的 &mut 指针,您可以更改窗口和限制。如果您只有一个 &,则不能。类似地,如果您有一个 RWIobuf,则可以修改缓冲区中的数据。如果您有一个 ROIobuf,则不能。

限制可以被 narrow,但不能被扩大。窗口可以设置为限制的任意子范围。

Iobuf 很容易 clone,因为缓冲区是引用计数的。使用此功能可以构建对同一数据的多个视图。

这最初是 Jane Street Core 的 Iobuf 模块的直接移植,但已发展得更多。

文档

请参阅详细的 API 文档

无运行时依赖