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
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> !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