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 = TSocket
type Substream = TSocket
Type of the object that represents the raw substream where data can be read and written.
sourcefn poll_inbound(
self: Pin<&mut Self>,
_: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>
fn poll_inbound(
self: Pin<&mut Self>,
_: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>
Poll for new inbound substreams. Read more
sourcefn poll_outbound(
self: Pin<&mut Self>,
_: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>
fn poll_outbound(
self: Pin<&mut Self>,
_: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>
Poll for a new, outbound 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>
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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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
sourceimpl<S> StreamMuxerExt for Swhere
S: StreamMuxer,
impl<S> StreamMuxerExt for Swhere
S: StreamMuxer,
sourcefn poll_inbound_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>where
Self: Unpin,
fn poll_inbound_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>where
Self: Unpin,
Convenience function for calling StreamMuxer::poll_inbound for StreamMuxers that are Unpin.
sourcefn poll_outbound_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>where
Self: Unpin,
fn poll_outbound_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<Self::Substream, Self::Error>>where
Self: Unpin,
Convenience function for calling StreamMuxer::poll_outbound for StreamMuxers that are Unpin.
sourcefn poll_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<StreamMuxerEvent, Self::Error>>where
Self: Unpin,
fn poll_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<StreamMuxerEvent, Self::Error>>where
Self: Unpin,
Convenience function for calling StreamMuxer::poll for StreamMuxers that are Unpin.
sourcefn poll_close_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
fn poll_close_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
Convenience function for calling StreamMuxer::poll_close for StreamMuxers that are Unpin.
sourcefn next_inbound(&mut self) -> NextInbound<'_, Self>ⓘNotable traits for NextInbound<'a, S>impl<'a, S> Future for NextInbound<'a, S>where
S: StreamMuxer + Unpin, type Output = Result<S::Substream, S::Error>;
fn next_inbound(&mut self) -> NextInbound<'_, Self>ⓘNotable traits for NextInbound<'a, S>impl<'a, S> Future for NextInbound<'a, S>where
S: StreamMuxer + Unpin, type Output = Result<S::Substream, S::Error>;
S: StreamMuxer + Unpin, type Output = Result<S::Substream, S::Error>;
Returns a future that resolves to the next inbound Substream opened by the remote.
sourcefn next_outbound(&mut self) -> NextOutbound<'_, Self>ⓘNotable traits for NextOutbound<'a, S>impl<'a, S> Future for NextOutbound<'a, S>where
S: StreamMuxer + Unpin, type Output = Result<S::Substream, S::Error>;
fn next_outbound(&mut self) -> NextOutbound<'_, Self>ⓘNotable traits for NextOutbound<'a, S>impl<'a, S> Future for NextOutbound<'a, S>where
S: StreamMuxer + Unpin, type Output = Result<S::Substream, S::Error>;
S: StreamMuxer + Unpin, type Output = Result<S::Substream, S::Error>;
Returns a future that opens a new outbound Substream with the remote.