Struct libp2p_core::muxing::SingletonMuxer
source · [−]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
sourceimpl<TSocket> SingletonMuxer<TSocket>
impl<TSocket> SingletonMuxer<TSocket>
Trait Implementations
sourceimpl<TSocket> StreamMuxer for SingletonMuxer<TSocket> where
TSocket: AsyncRead + AsyncWrite + Unpin,
impl<TSocket> StreamMuxer for SingletonMuxer<TSocket> where
TSocket: 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,
_: &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
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,
_: &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
sourcefn 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. Read more
sourcefn 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 more
sourcefn 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 more
sourcefn 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 more
sourcefn 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 more
sourcefn destroy_substream(&self, _: Self::Substream)
fn destroy_substream(&self, _: Self::Substream)
Destroys a substream.
sourcefn close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
fn close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
Closes this StreamMuxer
. Read more
sourcefn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
Flush this StreamMuxer
. Read more
sourcefn is_remote_acknowledged(&self) -> bool
fn is_remote_acknowledged(&self) -> bool
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 more
Auto Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more