Struct ConnectionPool
pub struct ConnectionPool { /* private fields */ }Expand description
A connection pool
Implementations§
§impl ConnectionPool
impl ConnectionPool
pub fn new(endpoint: Endpoint, alpn: &[u8], options: Options) -> ConnectionPool
pub async fn get_or_connect(
&self,
id: PublicKey,
) -> Result<ConnectionRef, PoolConnectError>
pub async fn get_or_connect( &self, id: PublicKey, ) -> Result<ConnectionRef, PoolConnectError>
Returns either a fresh connection or a reference to an existing one.
This is guaranteed to return after approximately Options::connect_timeout with either an error or a connection.
pub async fn close(&self, id: PublicKey) -> Result<(), ConnectionPoolError>
pub async fn close(&self, id: PublicKey) -> Result<(), ConnectionPoolError>
Close an existing connection, if it exists
This will finish pending tasks and close the connection. New tasks will get a new connection if they are submitted after this call
Trait Implementations§
§impl Clone for ConnectionPool
impl Clone for ConnectionPool
§fn clone(&self) -> ConnectionPool
fn clone(&self) -> ConnectionPool
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConnectionPool
impl RefUnwindSafe for ConnectionPool
impl Send for ConnectionPool
impl Sync for ConnectionPool
impl Unpin for ConnectionPool
impl UnsafeUnpin for ConnectionPool
impl UnwindSafe for ConnectionPool
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more