Skip to main content

orbit_client_pool/
lib.rs

1//! Protocol-neutral outbound client pools for asynchronous applications.
2//!
3//! [`ClientPool`] owns process-local client objects. Creating the pool performs
4//! no IO; [`ClientPool::acquire`] creates on demand and [`ClientPool::run`]
5//! maintains the configured warm floor during the runtime phase.
6
7mod error;
8#[cfg(feature = "fleet")]
9mod fleet;
10mod options;
11mod policy;
12mod pool;
13
14pub use error::{AcquireError, OptionsError};
15#[cfg(feature = "fleet")]
16pub use fleet::{
17    FleetAcquireError, FleetClient, FleetClientLease, FleetClientPool,
18    FleetRemoteClient, IncomingClientSession,
19};
20#[cfg(feature = "fleet")]
21pub use options::FleetPoolOptions;
22pub use options::PoolOptions;
23pub use policy::{ClientPolicy, PoolDirective};
24pub use pool::{
25    ActiveRequestPolicy, ClientLease, ClientManager, ClientPool, PoolState,
26    PoolStats,
27};