Skip to main content

ConnectionPool

Struct ConnectionPool 

Source
pub struct ConnectionPool<C> { /* private fields */ }
Expand description

Bounded connections shared by every client given the same pool.

Implementations§

Source§

impl<C: Pooled> ConnectionPool<C>

Source

pub fn new(policy: PoolPolicy) -> Result<Arc<Self>, String>

A pool under policy, which must validate.

Source

pub fn policy(&self) -> &PoolPolicy

Source

pub fn binding(&self) -> PoolBinding

The binding view of this pool.

Source

pub fn stats(&self) -> PoolStats

Source

pub async fn acquire( self: &Arc<Self>, key: &PoolKey, budget: &Budget, ) -> Result<Lease<C>, Exhausted>

An idle connection under exactly key, or a reserved place for a fresh one. On exhaustion, refuse or queue as the policy declares, never past budget.

Source

pub fn release(&self, lease: Lease<C>, reusable: bool) -> Option<EvictionReason>

Return a connection after its exchange. reusable is false when the exchange failed or did not complete its response. Returns why the connection left the pool, if it did.

Trait Implementations§

Source§

impl<C> Debug for ConnectionPool<C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<C> !Freeze for ConnectionPool<C>

§

impl<C> RefUnwindSafe for ConnectionPool<C>
where Mutex<State<C>>: RefUnwindSafe,

§

impl<C> Send for ConnectionPool<C>
where Mutex<State<C>>: Send,

§

impl<C> Sync for ConnectionPool<C>
where Mutex<State<C>>: Sync,

§

impl<C> Unpin for ConnectionPool<C>
where Mutex<State<C>>: Unpin,

§

impl<C> UnsafeUnpin for ConnectionPool<C>
where Mutex<State<C>>: UnsafeUnpin,

§

impl<C> UnwindSafe for ConnectionPool<C>
where Mutex<State<C>>: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.