Crates.io | anchored-pool |
lib.rs | anchored-pool |
version | 0.1.0 |
created_at | 2025-08-26 18:58:46.958788+00 |
updated_at | 2025-08-26 18:58:46.958788+00 |
description | Bounded and unbounded pools for generic resources or buffers |
homepage | |
repository | https://github.com/robofinch/anchored-leveldb |
max_upload_size | |
id | 1811709 |
size | 88,663 |
Provides bounded and unbounded pools for any type of resource, as well as pools specific to
Vec<u8>
buffers.
The resource pools can have a user-chosen init_resource
function run to create a new resource,
and whenever a resource is returned to the pool, a reset_resource
callback is first run.
The buffer pools use these features to create new empty Vec<u8>
buffers as resources, and
whenever a buffer is returned to the pool, the buffer is either cleared (without changing its
capacity) if its capacity is at most a user-chosen max_buffer_capacity
, and is otherwise replaced
with a new empty Vec<u8>
.
The unbounded pools all have a trim_unused
function that can discard an excessive number of
unused resources or buffers. Together with the max_buffer_capacity
setting of the buffer pools,
the amount of unused memory in a pool can be limited.
clone-behavior
: Implements clone-behavior
traits for relevant structs.Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.