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§
Source§impl<C> StreamMuxer for Multiplex<C>
impl<C> StreamMuxer for Multiplex<C>
Source§type Substream = Substream
type Substream = Substream
Type of the object that represents the raw substream where data can be read and written.
Source§type OutboundSubstream = OutboundSubstream
type OutboundSubstream = OutboundSubstream
Future that will be resolved when the outgoing substream is open.
Source§fn 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
Source§fn 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
Source§fn 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
Source§fn 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.
Source§fn 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 moreSource§fn 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 moreSource§fn 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 moreSource§fn 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 moreSource§fn destroy_substream(&self, sub: Self::Substream)
fn destroy_substream(&self, sub: Self::Substream)
Destroys a substream.
Source§fn close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
fn close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
Closes this
StreamMuxer. Read moreSource§fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
Flush this
StreamMuxer. Read moreSource§fn is_remote_acknowledged(&self) -> bool
fn is_remote_acknowledged(&self) -> bool
👎Deprecated: This method is unused and will be removed in the future
Returns
true if the remote has shown any sign of activity after the muxer has been open. Read moreAuto Trait Implementations§
impl<C> !Freeze for Multiplex<C>
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§
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> 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