Struct libp2p_core::connection::Connection [−][src]
pub struct Connection<TMuxer, THandler> where
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>>, { /* fields omitted */ }
A multiplexed connection to a peer with an associated ConnectionHandler
.
Implementations
impl<TMuxer, THandler> Connection<TMuxer, THandler> where
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>>,
[src]
impl<TMuxer, THandler> Connection<TMuxer, THandler> where
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>>,
[src]pub fn new(muxer: TMuxer, handler: THandler) -> Self
[src]
Builds a new Connection
from the given substream multiplexer
and connection handler.
pub fn handler(&self) -> &THandler
[src]
Returns a reference to the ConnectionHandler
pub fn handler_mut(&mut self) -> &mut THandler
[src]
Returns a mutable reference to the ConnectionHandler
pub fn inject_event(&mut self, event: THandler::InEvent)
[src]
Notifies the connection handler of an event.
pub fn close(self) -> Close<TMuxer>ⓘ
[src]
Begins an orderly shutdown of the connection, returning a
Future
that resolves when connection shutdown is complete.
pub fn poll(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<Event<THandler::OutEvent>, ConnectionError<THandler::Error>>>
[src]
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<Event<THandler::OutEvent>, ConnectionError<THandler::Error>>>
Polls the connection for events produced by the associated handler as a result of I/O activity on the substream multiplexer.
Trait Implementations
impl<TMuxer, THandler> Debug for Connection<TMuxer, THandler> where
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>> + Debug,
[src]
impl<TMuxer, THandler> Debug for Connection<TMuxer, THandler> where
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>> + Debug,
[src]impl<TMuxer, THandler> Unpin for Connection<TMuxer, THandler> where
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>>,
[src]
TMuxer: StreamMuxer,
THandler: ConnectionHandler<Substream = Substream<TMuxer>>,
Auto Trait Implementations
impl<TMuxer, THandler> RefUnwindSafe for Connection<TMuxer, THandler> where
THandler: RefUnwindSafe,
TMuxer: RefUnwindSafe,
<THandler as ConnectionHandler>::OutboundOpenInfo: RefUnwindSafe,
<TMuxer as StreamMuxer>::OutboundSubstream: RefUnwindSafe,
THandler: RefUnwindSafe,
TMuxer: RefUnwindSafe,
<THandler as ConnectionHandler>::OutboundOpenInfo: RefUnwindSafe,
<TMuxer as StreamMuxer>::OutboundSubstream: RefUnwindSafe,
impl<TMuxer, THandler> Send for Connection<TMuxer, THandler> where
THandler: Send,
TMuxer: Send + Sync,
<THandler as ConnectionHandler>::OutboundOpenInfo: Send,
<TMuxer as StreamMuxer>::OutboundSubstream: Send,
THandler: Send,
TMuxer: Send + Sync,
<THandler as ConnectionHandler>::OutboundOpenInfo: Send,
<TMuxer as StreamMuxer>::OutboundSubstream: Send,
impl<TMuxer, THandler> Sync for Connection<TMuxer, THandler> where
THandler: Sync,
TMuxer: Send + Sync,
<THandler as ConnectionHandler>::OutboundOpenInfo: Sync,
<TMuxer as StreamMuxer>::OutboundSubstream: Sync,
THandler: Sync,
TMuxer: Send + Sync,
<THandler as ConnectionHandler>::OutboundOpenInfo: Sync,
<TMuxer as StreamMuxer>::OutboundSubstream: Sync,
impl<TMuxer, THandler> UnwindSafe for Connection<TMuxer, THandler> where
THandler: UnwindSafe,
TMuxer: RefUnwindSafe,
<THandler as ConnectionHandler>::OutboundOpenInfo: RefUnwindSafe + UnwindSafe,
<TMuxer as StreamMuxer>::OutboundSubstream: RefUnwindSafe + UnwindSafe,
THandler: UnwindSafe,
TMuxer: RefUnwindSafe,
<THandler as ConnectionHandler>::OutboundOpenInfo: RefUnwindSafe + UnwindSafe,
<TMuxer as StreamMuxer>::OutboundSubstream: RefUnwindSafe + UnwindSafe,