Struct libp2p_mplex::Multiplex
source · [−]pub struct Multiplex<C> { /* private fields */ }Expand description
Multiplexer. Implements the StreamMuxer trait.
This implementation isn’t capable of detecting when the underlying socket changes its address,
and no StreamMuxerEvent::AddressChange event is ever emitted.
Trait Implementations
sourceimpl<C> StreamMuxer for Multiplex<C> where
C: AsyncRead + AsyncWrite + Unpin,
impl<C> StreamMuxer for Multiplex<C> where
C: AsyncRead + AsyncWrite + Unpin,
type Substream = Substream
type Substream = Substream
Type of the object that represents the raw substream where data can be read and written.
type OutboundSubstream = OutboundSubstream
type OutboundSubstream = OutboundSubstream
Future that will be resolved when the outgoing substream is open.
sourcefn poll_event(
&self,
cx: &mut Context<'_>
) -> Poll<Result<StreamMuxerEvent<Self::Substream>>>
fn poll_event(
&self,
cx: &mut Context<'_>
) -> Poll<Result<StreamMuxerEvent<Self::Substream>>>
Polls for a connection-wide event. Read more
sourcefn open_outbound(&self) -> Self::OutboundSubstream
fn open_outbound(&self) -> Self::OutboundSubstream
Opens a new outgoing substream, and produces the equivalent to a future that will be resolved when it becomes available. Read more
sourcefn poll_outbound(
&self,
cx: &mut Context<'_>,
_: &mut Self::OutboundSubstream
) -> Poll<Result<Self::Substream, Error>>
fn poll_outbound(
&self,
cx: &mut Context<'_>,
_: &mut Self::OutboundSubstream
) -> Poll<Result<Self::Substream, Error>>
Polls the outbound substream. Read more
sourcefn destroy_outbound(&self, _substream: Self::OutboundSubstream)
fn destroy_outbound(&self, _substream: Self::OutboundSubstream)
Destroys an outbound substream future. Use this after the outbound substream has finished, or if you want to interrupt it. Read more
sourcefn read_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream,
buf: &mut [u8]
) -> Poll<Result<usize, Error>>
fn read_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream,
buf: &mut [u8]
) -> Poll<Result<usize, Error>>
Reads data from a substream. The behaviour is the same as futures::AsyncRead::poll_read. Read more
sourcefn write_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream,
buf: &[u8]
) -> Poll<Result<usize, Error>>
fn write_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream,
buf: &[u8]
) -> Poll<Result<usize, Error>>
Write data to a substream. The behaviour is the same as futures::AsyncWrite::poll_write. Read more
sourcefn flush_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream
) -> Poll<Result<(), Error>>
fn flush_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream
) -> Poll<Result<(), Error>>
Flushes a substream. The behaviour is the same as futures::AsyncWrite::poll_flush. Read more
sourcefn shutdown_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream
) -> Poll<Result<(), Error>>
fn shutdown_substream(
&self,
cx: &mut Context<'_>,
substream: &mut Self::Substream
) -> Poll<Result<(), Error>>
Attempts to shut down the writing side of a substream. The behaviour is similar to
AsyncWrite::poll_close. Read more
sourcefn destroy_substream(&self, sub: Self::Substream)
fn destroy_substream(&self, sub: Self::Substream)
Destroys a substream.
Auto Trait Implementations
impl<C> !RefUnwindSafe for Multiplex<C>
impl<C> Send for Multiplex<C> where
C: Send,
impl<C> Sync for Multiplex<C> where
C: Send,
impl<C> Unpin for Multiplex<C> where
C: Unpin,
impl<C> !UnwindSafe for Multiplex<C>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more