pub enum ConnectionCache {
Quic(Arc<ConnectionCache<QuicPool, QuicConnectionManager, QuicConfig>>),
Udp(Arc<ConnectionCache<UdpPool, UdpConnectionManager, UdpConfig>>),
}
Expand description
A thin wrapper over connection-cache/ConnectionCache to ease construction of the ConnectionCache for code dealing both with udp and quic. For the scenario only using udp or quic, use connection-cache/ConnectionCache directly.
Variants§
Quic(Arc<ConnectionCache<QuicPool, QuicConnectionManager, QuicConfig>>)
Udp(Arc<ConnectionCache<UdpPool, UdpConnectionManager, UdpConfig>>)
Implementations§
Source§impl ConnectionCache
impl ConnectionCache
pub fn new(name: &'static str) -> Self
Sourcepub fn new_quic(name: &'static str, connection_pool_size: usize) -> Self
pub fn new_quic(name: &'static str, connection_pool_size: usize) -> Self
Create a quic connection_cache
Sourcepub fn new_with_client_options(
name: &'static str,
connection_pool_size: usize,
client_endpoint: Option<Endpoint>,
cert_info: Option<(&Keypair, IpAddr)>,
stake_info: Option<(&Arc<RwLock<StakedNodes>>, &Pubkey)>,
) -> Self
pub fn new_with_client_options( name: &'static str, connection_pool_size: usize, client_endpoint: Option<Endpoint>, cert_info: Option<(&Keypair, IpAddr)>, stake_info: Option<(&Arc<RwLock<StakedNodes>>, &Pubkey)>, ) -> Self
Create a quic connection_cache with more client options
pub fn protocol(&self) -> Protocol
pub fn with_udp(name: &'static str, connection_pool_size: usize) -> Self
pub fn use_quic(&self) -> bool
pub fn get_connection(&self, addr: &SocketAddr) -> BlockingClientConnection
pub fn get_nonblocking_connection( &self, addr: &SocketAddr, ) -> NonblockingClientConnection
Trait Implementations§
Source§impl NotifyKeyUpdate for ConnectionCache
impl NotifyKeyUpdate for ConnectionCache
Auto Trait Implementations§
impl Freeze for ConnectionCache
impl !RefUnwindSafe for ConnectionCache
impl Send for ConnectionCache
impl Sync for ConnectionCache
impl Unpin for ConnectionCache
impl !UnwindSafe for ConnectionCache
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