Struct deadpool::managed::Pool [−][src]
Expand description
A generic object and connection pool.
This struct can be cloned and transferred across thread boundaries and uses reference counting for its internal state.
Implementations
impl<M: Manager, W: From<Object<M>>> Pool<M, W>[src]
impl<M: Manager, W: From<Object<M>>> Pool<M, W>[src]pub fn new(manager: M, max_size: usize) -> Pool<M, W>[src]
pub fn new(manager: M, max_size: usize) -> Pool<M, W>[src]Create new connection pool with a given manager and max_size.
The manager is used to create and recycle objects and max_size
is the maximum number of objects ever created.
pub fn from_config(manager: M, config: PoolConfig) -> Pool<M, W>[src]
pub fn from_config(manager: M, config: PoolConfig) -> Pool<M, W>[src]Create new connection pool with a given manager and config.
The manager is used to create and recycle objects. The config
specifies the maximum numbers of objects to be created and
timeouts.
pub async fn get(&self) -> Result<W, PoolError<M::Error>>[src]
pub async fn get(&self) -> Result<W, PoolError<M::Error>>[src]Retrieve object from pool or wait for one to become available.
pub async fn try_get(&self) -> Result<W, PoolError<M::Error>>[src]
pub async fn try_get(&self) -> Result<W, PoolError<M::Error>>[src]Retrieve object from the pool and do not wait if there is currently no object available and the maximum pool size has been reached.
pub async fn timeout_get(
&self,
timeouts: &Timeouts
) -> Result<W, PoolError<M::Error>>[src]
pub async fn timeout_get(
&self,
timeouts: &Timeouts
) -> Result<W, PoolError<M::Error>>[src]Retrieve object using a different timeout config than the one configured.
Trait Implementations
Auto Trait Implementations
impl<M, W = Object<M>> !RefUnwindSafe for Pool<M, W>
impl<M, W> Send for Pool<M, W> where
M: Send + Sync,
W: Send,
<M as Manager>::Type: Send,
M: Send + Sync,
W: Send,
<M as Manager>::Type: Send,
impl<M, W> Sync for Pool<M, W> where
M: Send + Sync,
W: Sync,
<M as Manager>::Type: Send,
M: Send + Sync,
W: Sync,
<M as Manager>::Type: Send,
impl<M, W> Unpin for Pool<M, W> where
W: Unpin,
W: Unpin,
impl<M, W = Object<M>> !UnwindSafe for Pool<M, W>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more