2 unstable releases
Uses new Rust 2024
| 0.2.0 | Nov 4, 2025 |
|---|---|
| 0.1.0 | Aug 26, 2025 |
#237 in Memory management
Used in seekable-iterator
88KB
1.5K
SLoC
Anchored Pool
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>.
Features
kanal(default): Implement shared (threadsafe) pools usingkanalchannels.crossbeam-channel: Unless thekanalfeature is enabled, implement shared (threadsafe) pools usingcrossbeam-channelchannels.clone-behavior: Implementsclone-behaviortraits for relevant structs.
If neither of the kanal or crossbeam-channel features is enabled, a compile-time error
is thrown.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
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.
Dependencies
~230–360KB