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.
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 · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more