anchored-pool

Crates.ioanchored-pool
lib.rsanchored-pool
version0.2.0
created_at2025-08-26 18:58:46.958788+00
updated_at2025-11-04 18:06:33.125157+00
descriptionBounded and unbounded pools for generic resources or buffers
homepage
repositoryhttps://github.com/robofinch/anchored-leveldb
max_upload_size
id1811709
size102,347
(robofinch)

documentation

README

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.

Commit count: 92

cargo fmt