Struct libp2p::core::muxing::StreamMuxerBox[][src]

pub struct StreamMuxerBox { /* fields omitted */ }
Expand description

Abstract StreamMuxer.

Implementations

impl StreamMuxerBox[src]

pub fn new<T>(muxer: T) -> StreamMuxerBox where
    T: StreamMuxer + Send + Sync + 'static,
    <T as StreamMuxer>::OutboundSubstream: Send,
    <T as StreamMuxer>::Substream: Send
[src]

Turns a stream muxer into a StreamMuxerBox.

Trait Implementations

impl StreamMuxer for StreamMuxerBox[src]

type Substream = usize

Type of the object that represents the raw substream where data can be read and written.

type OutboundSubstream = usize

Future that will be resolved when the outgoing substream is open.

type Error = Error

Error type of the muxer

pub fn poll_event(
    &self,
    cx: &mut Context<'_>
) -> Poll<Result<StreamMuxerEvent<<StreamMuxerBox as StreamMuxer>::Substream>, <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Polls for a connection-wide event. Read more

pub fn open_outbound(
    &self
) -> <StreamMuxerBox as StreamMuxer>::OutboundSubstream
[src]

Opens a new outgoing substream, and produces the equivalent to a future that will be resolved when it becomes available. Read more

pub fn poll_outbound(
    &self,
    cx: &mut Context<'_>,
    s: &mut <StreamMuxerBox as StreamMuxer>::OutboundSubstream
) -> Poll<Result<<StreamMuxerBox as StreamMuxer>::Substream, <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Polls the outbound substream. Read more

pub fn destroy_outbound(
    &self,
    substream: <StreamMuxerBox as StreamMuxer>::OutboundSubstream
)
[src]

Destroys an outbound substream future. Use this after the outbound substream has finished, or if you want to interrupt it. Read more

pub fn read_substream(
    &self,
    cx: &mut Context<'_>,
    s: &mut <StreamMuxerBox as StreamMuxer>::Substream,
    buf: &mut [u8]
) -> Poll<Result<usize, <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Reads data from a substream. The behaviour is the same as futures::AsyncRead::poll_read. Read more

pub fn write_substream(
    &self,
    cx: &mut Context<'_>,
    s: &mut <StreamMuxerBox as StreamMuxer>::Substream,
    buf: &[u8]
) -> Poll<Result<usize, <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Write data to a substream. The behaviour is the same as futures::AsyncWrite::poll_write. Read more

pub fn flush_substream(
    &self,
    cx: &mut Context<'_>,
    s: &mut <StreamMuxerBox as StreamMuxer>::Substream
) -> Poll<Result<(), <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Flushes a substream. The behaviour is the same as futures::AsyncWrite::poll_flush. Read more

pub fn shutdown_substream(
    &self,
    cx: &mut Context<'_>,
    s: &mut <StreamMuxerBox as StreamMuxer>::Substream
) -> Poll<Result<(), <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Attempts to shut down the writing side of a substream. The behaviour is similar to AsyncWrite::poll_close. Read more

pub fn destroy_substream(&self, s: <StreamMuxerBox as StreamMuxer>::Substream)[src]

Destroys a substream.

pub fn close(
    &self,
    cx: &mut Context<'_>
) -> Poll<Result<(), <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Closes this StreamMuxer. Read more

pub fn flush_all(
    &self,
    cx: &mut Context<'_>
) -> Poll<Result<(), <StreamMuxerBox as StreamMuxer>::Error>>
[src]

Flush this StreamMuxer. Read more

fn is_remote_acknowledged(&self) -> bool[src]

👎 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 more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V