Thanks to visit codestin.com
Credit goes to lib.rs

#buffer-pool #resource-pool #buffer #pool

anchored-pool

Bounded and unbounded pools for generic resources or buffers

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

MIT/Apache

88KB
1.5K SLoC

Anchored Pool

github Latest version Documentation Apache 2.0 or MIT license.

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 using kanal channels.
  • crossbeam-channel: Unless the kanal feature is enabled, implement shared (threadsafe) pools using crossbeam-channel channels.
  • clone-behavior: Implements clone-behavior traits 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

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