Skip to content

A Bufreader ensures N bytes in buffer.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

IgaguriMK/ensured_bufreader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ensured_bufreader

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

Overview

ensured_bufreader provides EnsuredBufReader that ensured length bytes in its buffer if it can read from underlying reader.

std::io::BufReader doesn't read bytes from underlying reader if it has buffered bytes. This behavior is better if you need buffering for performance. But, if you need buffering for algorithm such as peeking N bytes, BufReader donesn't ensure N bytes in its buffer.

If there are too few bytes in buffer when .fill_buf() called, EnsuredBufReader tries to read additional bytes from underlying reader and keep .fill_buf()?.len() > ensured.

Comparition with other crates

buffered-reader provides same functionality as this crate. But there is some differences.

ensured_bufreader buffered-reader = "0.10.0"
Implementation strategy Uses standard trait BufRead and simple wrapper struct Provides new trait and some implementaions
When returns error Immediately Saved and returned when read position error occuered
License MIT or Apache-2.0 (permissive) GPL-3.0 (copyleft)

License

ensured_bufreader is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.

About

A Bufreader ensures N bytes in buffer.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published