pub struct Pool<M>where
M: ManageConnection,{ /* private fields */ }
Expand description
A generic connection pool.
Implementations§
Source§impl<M: ManageConnection> Pool<M>
impl<M: ManageConnection> Pool<M>
Sourcepub async fn get(&self) -> Result<PooledConnection<'_, M>, RunError<M::Error>>
pub async fn get(&self) -> Result<PooledConnection<'_, M>, RunError<M::Error>>
Retrieves a connection from the pool.
Sourcepub async fn get_owned(
&self,
) -> Result<PooledConnection<'static, M>, RunError<M::Error>>
pub async fn get_owned( &self, ) -> Result<PooledConnection<'static, M>, RunError<M::Error>>
Retrieves an owned connection from the pool
Using an owning PooledConnection
makes it easier to leak the connection pool. Therefore, Pool::get
(which stores a lifetime-bound reference to the pool) should be preferred whenever possible.
Sourcepub async fn dedicated_connection(&self) -> Result<M::Connection, M::Error>
pub async fn dedicated_connection(&self) -> Result<M::Connection, M::Error>
Get a new dedicated connection that will not be managed by the pool. An application may want a persistent connection (e.g. to do a postgres LISTEN) that will not be closed or repurposed by the pool.
This method allows reusing the manager’s configuration but otherwise bypassing the pool
Sourcepub fn add(&self, conn: M::Connection) -> Result<(), AddError<M::Connection>>
pub fn add(&self, conn: M::Connection) -> Result<(), AddError<M::Connection>>
Adds a connection to the pool.
If the connection is broken, or the pool is at capacity, the connection is not added and instead returned to the caller in Err.
Trait Implementations§
Source§impl<M> Clone for Pool<M>where
M: ManageConnection,
impl<M> Clone for Pool<M>where
M: ManageConnection,
Auto Trait Implementations§
impl<M> Freeze for Pool<M>
impl<M> !RefUnwindSafe for Pool<M>
impl<M> Send for Pool<M>
impl<M> Sync for Pool<M>
impl<M> Unpin for Pool<M>
impl<M> !UnwindSafe for Pool<M>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more