pub struct RawBlindPoolBuilder { /* private fields */ }Expand description
Builder for creating an instance of RawBlindPool.
This builder allows configuration of pool behavior before creation. Creates a raw pool for manual resource management.
§Examples
use blind_pool::{DropPolicy, RawBlindPool};
// Default raw blind pool.
let mut pool = RawBlindPool::builder().build();
// With custom drop policy.
let mut pool = RawBlindPool::builder()
.drop_policy(DropPolicy::MustNotDropItems)
.build();§Thread safety
The builder is thread-mobile (Send) and can be safely transferred between threads,
allowing pool configuration to happen on different threads than where the pool is used.
However, it is not thread-safe (Sync) as it contains mutable configuration state.
Implementations§
Source§impl RawBlindPoolBuilder
impl RawBlindPoolBuilder
Sourcepub fn drop_policy(self, policy: DropPolicy) -> Self
pub fn drop_policy(self, policy: DropPolicy) -> Self
Sets the drop policy for the pool. This governs how to treat remaining items in the pool when the pool is dropped.
§Examples
use blind_pool::{DropPolicy, RawBlindPool};
let mut pool = RawBlindPool::builder()
.drop_policy(DropPolicy::MustNotDropItems)
.build();Sourcepub fn build(self) -> RawBlindPool
pub fn build(self) -> RawBlindPool
Builds a raw pool with the specified configuration.
This creates a RawBlindPool for manual resource management.
Use this when you need direct control over item lifetimes.
For simple cases, prefer RawBlindPool::new() which is equivalent to
RawBlindPool::builder().build().
§Examples
use blind_pool::RawBlindPool;
let mut pool = RawBlindPool::builder().build();
let pooled_item = pool.insert("Test".to_string());
// Manual cleanup required.
pool.remove(&pooled_item);