7 个版本
0.2.0 | 2024 年 3 月 14 日 |
---|---|
0.1.6 | 2022 年 7 月 30 日 |
#125 在 性能分析
11KB
197 行
peekbufread
允许窥视任意 std::io::Read
的数据,并提供对检查点的支持。这两个功能都通过缓冲原始流的部分来实现。
此crate故意保持非常简单:它只提供结构体 PeekRead,没有其他功能。
构建 & 测试
git clone https://github.com/codefionn/peekbufread.git
cd peekbufread
cargo test
cargo bench
窥视
允许在不消耗内容的情况下窥视数据。
检查点
允许程序忘记已经读取了流中的数据。
检查点支持是可选的,但默认包含,可以通过以下方式禁用:
peekbufread = { version = "*", default-features = false }
这使crate的性能更快(此问题目前正在调查中)。
lib.rs
:
允许窥视任意 std::io::Read
的数据,并提供对检查点的支持。这两个功能都通过缓冲原始流的部分来实现。
此crate故意保持非常简单:它只提供结构体 PeekRead,没有其他功能。
示例
use peekbufread::PeekRead;
use std::io::Read;
let test = b"hello, world";
let mut read = PeekRead::new(test.as_ref());
let mut buf = [0; 12];
read.peek(&mut buf).ok();
let mut buf = [0; 12];
read.read(&mut buf).ok();