#byte-buffer #reader #io #buf-reader #ensure #read #ensured

ensured_bufreader

Bufreader 确保缓冲区有 N 个字节

2 个不稳定版本

0.2.0 2019年10月4日
0.1.0 2019年9月29日

#1700数据结构

MIT/Apache

18KB
196

ensured_bufreader

ensured_bufreader at crates.io ensured_bufreader at docs.rs Build Status (master) Build Status (dev)

概述

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-APACHELICENSE-MIT

无运行时依赖