6 releases
0.2.4 | Apr 12, 2023 |
---|---|
0.2.3 | Mar 28, 2021 |
0.2.2 | Jul 29, 2020 |
0.2.1 | Dec 14, 2019 |
0.1.0 | Nov 13, 2019 |
#143 in Memory management
3,430 downloads per month
Used in 4 crates
(2 directly)
15KB
308 lines
byte-pool
A flexible byte pool.
Example
use byte_pool::BytePool;
// Create a pool
let pool = BytePool::<Vec<u8>>::new();
// Allocate a buffer
let mut buf = pool.alloc(1024);
// write some data into it
for i in 0..100 {
buf[i] = 12;
}
// Check that we actually wrote sth.
assert_eq!(buf[55], 12);
// Returns the underlying memory to the pool.
drop(buf);
// Frees all memory in the pool.
drop(pool);
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~165KB