A thread-safe object pool with automatic return and attach/detach semantics
The goal of an object pool is to reuse expensive to allocate objects or frequently allocated objects Common use case is when using buffer to read IO
You would create a Pool of size n, containing Vecfile.read_to_end(buff)
toml
[dependencies]
object-pool = "0.1"
rust
extern crate object_pool;
Basic usage for pulling from the pool
rust
let pool: Pool<Vec<u8>> = Pool::new(32, || Vec::with_capacity(4096);
let mut reusable_buff = pool.pull().unwrap();
reusable_buff.clear();
some_file.read_to_end(reusable_buff.deref_mut());
//reusable_buff falls out of scope and is returned to the pool