1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! # EsoxSolutions.ObjectPool (Rust Port)
//!
//! High-performance, thread-safe object pool for Rust with async support,
//! metrics, health monitoring, and advanced features.
//!
//! ## Features
//!
//! - Thread-safe object pooling with lock-free operations
//! - Automatic return of objects via RAII (Drop trait)
//! - Async support with timeout and cancellation
//! - Queryable pools for finding objects matching predicates
//! - Dynamic pools with factory methods
//! - Health monitoring and metrics
//! - Prometheus metrics export
//! - Pool warm-up/pre-population
//! - Eviction/TTL support
//! - Circuit breaker pattern
//! - Lifecycle hooks
//!
//! ## Quick Start
//!
//! ```rust
//! use esox_objectpool::ObjectPool;
//!
//! let pool = ObjectPool::new(vec![1, 2, 3], Default::default());
//! {
//! let obj = pool.get_object().unwrap();
//! println!("Got: {}", *obj);
//! // Object automatically returned when `obj` goes out of scope
//! }
//! ```
pub use ;
pub use PoolConfiguration;
pub use ;
pub use HealthStatus;
pub use EvictionPolicy;
pub use ;
pub use ;