4 releases
0.2.0 | Dec 13, 2023 |
---|---|
0.1.3 | Dec 12, 2023 |
0.1.2 |
|
0.1.1 | Dec 7, 2023 |
0.1.0 | Dec 6, 2023 |
#435 in Memory management
1,825 downloads per month
Used in 17 crates
(via serde_bolt)
17KB
393 lines
Chunked Buffer
A deque style buffer backed by non-contiguous chunks of memory.
The buffer grows incrementally without re-allocations and can also be consumed incrementally, releasing memory as it is consumed.
This structure is useful for memory constrained environments. It limits the size of contiguous allocations and incrementally releases memory as the buffer is consumed.
Supports no_std
environments with alloc
.
Usage
use chunked_buffer::ChunkedBuffer;
fn doit() {
let mut buf = ChunkedBuffer::new();
buf.write(&[1, 2, 3]);
let mut dest = [0; 10];
let n = buf.read(&mut dest);
assert_eq!(n, 3);
assert_eq!(dest, [1, 2, 3, 0, 0, 0, 0, 0, 0, 0]);
}