(originally based on the pool crate)
A Rust library providing a pool structure for managing reusable values. All values in the pool are initialized when the pool is created. Values can be checked out from the pool at any time. When the checked out value goes out of scope, the value is returned to the pool and made available for checkout at a later time.
The pool can allocate memory as need, up to a maximum number of elements. Growing the pool does not require copying or moving memory.
To use poule
, first add this to your Cargo.toml
:
[dependencies]
poule = "0.3.0"
Then, add this to your crate root:
extern crate poule;
- Simple
- Lock-free: values can be returned to the pool across threads
- Stores typed values and / or slabs of memory