pub struct SingletonMuxer<TSocket> { /* private fields */ }
Expand description
Implementation of StreamMuxer
that allows only one substream on top of a connection,
yielding the connection itself.
Applying this muxer on a connection doesn’t read or write any data on the connection itself. Most notably, no protocol is negotiated.
Implementations§
Trait Implementations§
Source§impl<TSocket> StreamMuxer for SingletonMuxer<TSocket>
impl<TSocket> StreamMuxer for SingletonMuxer<TSocket>
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,
_: &mut Context<'_>,
) -> Poll<Result<StreamMuxerEvent<Self::Substream>, Error>>
fn poll_event( &self, _: &mut Context<'_>, ) -> Poll<Result<StreamMuxerEvent<Self::Substream>, Error>>
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,
_: &mut Context<'_>,
_: &mut Self::OutboundSubstream,
) -> Poll<Result<Self::Substream, Error>>
fn poll_outbound( &self, _: &mut Context<'_>, _: &mut Self::OutboundSubstream, ) -> Poll<Result<Self::Substream, Error>>
Polls the outbound substream. Read more
Source§fn destroy_outbound(&self, _: Self::OutboundSubstream)
fn destroy_outbound(&self, _: 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<'_>,
_: &mut Self::Substream,
buf: &mut [u8],
) -> Poll<Result<usize, Error>>
fn read_substream( &self, cx: &mut Context<'_>, _: &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<'_>,
_: &mut Self::Substream,
buf: &[u8],
) -> Poll<Result<usize, Error>>
fn write_substream( &self, cx: &mut Context<'_>, _: &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<'_>,
_: &mut Self::Substream,
) -> Poll<Result<(), Error>>
fn flush_substream( &self, cx: &mut Context<'_>, _: &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<'_>,
_: &mut Self::Substream,
) -> Poll<Result<(), Error>>
fn shutdown_substream( &self, cx: &mut Context<'_>, _: &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, _: Self::Substream)
fn destroy_substream(&self, _: 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<TSocket> !Freeze for SingletonMuxer<TSocket>
impl<TSocket> !RefUnwindSafe for SingletonMuxer<TSocket>
impl<TSocket> Send for SingletonMuxer<TSocket>where
TSocket: Send,
impl<TSocket> Sync for SingletonMuxer<TSocket>where
TSocket: Send,
impl<TSocket> Unpin for SingletonMuxer<TSocket>where
TSocket: Unpin,
impl<TSocket> UnwindSafe for SingletonMuxer<TSocket>where
TSocket: UnwindSafe,
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