pub struct QuicPool { /* private fields */ }
Trait Implementations§
Source§impl ConnectionPool for QuicPool
impl ConnectionPool for QuicPool
type BaseClientConnection = Quic
type NewConnectionConfig = QuicConfig
Source§fn add_connection(
&mut self,
config: &Self::NewConnectionConfig,
addr: &SocketAddr,
) -> usize
fn add_connection( &mut self, config: &Self::NewConnectionConfig, addr: &SocketAddr, ) -> usize
Add a connection to the pool and return its index
Source§fn num_connections(&self) -> usize
fn num_connections(&self) -> usize
Get the number of current connections in the pool
Source§fn get(
&self,
index: usize,
) -> Result<Arc<Self::BaseClientConnection>, ConnectionPoolError>
fn get( &self, index: usize, ) -> Result<Arc<Self::BaseClientConnection>, ConnectionPoolError>
Get a connection based on its index in the pool, without checking if the
fn create_pool_entry( &self, _config: &Self::NewConnectionConfig, addr: &SocketAddr, ) -> Arc<Self::BaseClientConnection>
Source§fn borrow_connection(&self) -> Arc<Self::BaseClientConnection>
fn borrow_connection(&self) -> Arc<Self::BaseClientConnection>
Get a connection from the pool. It must have at least one connection in the pool.
This randomly picks a connection in the pool.
Source§fn check_pool_status(&self, required_pool_size: usize) -> PoolStatus
fn check_pool_status(&self, required_pool_size: usize) -> PoolStatus
Check if we need to create a new connection. If the count of the connections
is smaller than the pool size and if there is no connection at all.
Auto Trait Implementations§
impl Freeze for QuicPool
impl !RefUnwindSafe for QuicPool
impl Send for QuicPool
impl Sync for QuicPool
impl Unpin for QuicPool
impl !UnwindSafe for QuicPool
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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