Skip to main content

Status

Struct Status 

Source
pub struct Status {
    pub size: usize,
    pub idle: usize,
    pub in_use: usize,
    pub max_size: usize,
}
Available on crate feature std only.
Expand description

A snapshot of how many resources a Pool holds.

Returned by Pool::status. The counts are read under the pool’s lock, but in a concurrent program they are stale the instant they are returned — treat them as a gauge for logging and metrics, not as a value to branch on for correctness.

The invariant size == idle + in_use holds for each individual snapshot.

§Examples

use pool_mod::{Manager, Pool};
use std::convert::Infallible;

struct Nothing;
impl Manager for Nothing {
    type Resource = ();
    type Error = Infallible;
    fn create(&self) -> Result<(), Infallible> { Ok(()) }
    fn recycle(&self, _r: &mut ()) -> Result<(), Infallible> { Ok(()) }
}

let pool = Pool::builder(Nothing).max_size(4).min_idle(2).build()
    .expect("configuration is valid");

let status = pool.status();
assert_eq!(status.size, 2);
assert_eq!(status.idle, 2);
assert_eq!(status.in_use, 0);
assert_eq!(status.max_size, 4);
assert_eq!(status.size, status.idle + status.in_use);

Fields§

§size: usize

Total resources the pool owns right now: idle, plus checked out, plus any currently being created.

§idle: usize

Resources sitting idle and available for immediate checkout.

§in_use: usize

Resources currently lent out to callers (counted as size - idle, which folds in-flight creations into the in-use figure).

§max_size: usize

The configured max_size the pool will not grow beyond.

Trait Implementations§

Source§

impl Clone for Status

Source§

fn clone(&self) -> Status

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Status

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Status

Source§

fn eq(&self, other: &Status) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Status

Source§

impl Eq for Status

Source§

impl StructuralPartialEq for Status

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.