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

Crate anchored_pool

Crate anchored_pool 

Source
Expand description

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.

Structs§

BoundedBufferPool
A pool with a fixed number of Vec<u8> buffers.
BoundedPool
A resource pool with a fixed number of Resources.
OutOfBuffers
An error that may, instead of waiting for a buffer to become available, be returned if no buffers were available in a bounded pool.
PooledBuffer
A handle to a buffer in a pool, which returns the buffer back to the pool when dropped.
PooledResource
A handle to Resource in a pool, which returns the Resource back to the pool when dropped.
ResetBuffer
An implementation of ResetResource<Vec<u8>>.
ResetNothing
Implements ResetResource with a no-op. Can be used when a Resource does not need to be reset when it is returned to a pool.
ResourcePoolEmpty
An error that may, instead of waiting for a Resource to become available, be returned if no Resources were available in a bounded pool.
SharedBoundedBufferPool
A threadsafe pool with a fixed number of Vec<u8> buffers.
SharedBoundedPool
A threadsafe resource pool with a fixed number of Resources.
SharedUnboundedBufferPool
A threadsafe pool with a growable number of Vec<u8> buffers.
SharedUnboundedPool
A threadsafe resource pool with a growable number of Resources.
UnboundedBufferPool
A pool with a growable number of Vec<u8> buffers.
UnboundedPool
A resource pool with a growable number of Resources.

Traits§

ResetResource
Trait for the operation performed when a Resource is returned to a pool.