Crate buf_redux [−] [src]
A drop-in replacement for std::io::BufReader with more functionality.
Features include:
- More direct control over the buffer. Provides methods to:
- Access the buffer through an
&-reference without performing I/O - Force unconditional reads into the buffer
- Increase the capacity of the buffer
- Get the number of available bytes as well as the total capacity of the buffer
- Consume the
BufReaderwithout losing data - Get inner reader and trimmed buffer with the remaining data
- Get a
Readadapter which empties the buffer and then pulls from the inner reader directly
- Access the buffer through an
- More sensible buffering behavior
- Data is moved down to the beginning of the buffer when appropriate
- Such as when there is more room at the beginning of the buffer than at the end
- Exact allocation instead of leaving it up to
Vec, which allocates sizes in powers of two- Vec's behavior is more efficient for frequent growth, but much too greedy for infrequent growth and custom capacities.
- Data is moved down to the beginning of the buffer when appropriate
- Drop-in replacement
- Method names/signatures and implemented traits are unchanged from
std::io::BufReader, making replacement as simple as swapping the import of the type.
- Method names/signatures and implemented traits are unchanged from
- use std::io::BufReader;
+ extern crate buf_redux;
+ use buf_redux::BufReader;
See the BufReader type in this crate for more info.
Structs
| BufReader |
A drop-in replacement for |
| Unbuffer |
A |