2 个不稳定版本
0.2.0 | 2019年10月4日 |
---|---|
0.1.0 | 2019年9月29日 |
#1700 在 数据结构
18KB
196 行
ensured_bufreader
概述
ensured_bufreader
提供了一个 EnsuredBufReader
,如果可以从底层读取器中读取,则确保其缓冲区有特定长度的字节。
std::io::BufReader
如果有缓冲的字节,则不会从底层读取器中读取字节。如果您需要为了性能而进行缓冲,这种行为是更好的。但是,如果您需要为了算法(如查看 N 个字节)而进行缓冲,则 BufReader
不会确保其缓冲区中有 N 个字节。
当调用 .fill_buf()
时,如果缓冲区中的字节太少,则 EnsuredBufReader
会尝试从底层读取器中读取额外的字节,并保持 .fill_buf()?.len() > ensured
。
与其他crate的比较
buffered-reader
提供了与这个crate相同的功能。但也有一些不同。
ensured_bufreader |
buffered-reader= "0.10.0" |
|
---|---|---|
实现策略 | 使用标准的 BufRead 特性和简单的包装结构体 |
提供新的特性和一些实现 |
当返回错误时 | 立即 | 保存并返回当读取位置错误发生时 |
许可证 | MIT 或 Apache-2.0(宽容的) | GPL-3.0(版权保留) |
许可证
ensured_bufreader
在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
请参阅 LICENSE-APACHE 和 LICENSE-MIT。