StreamMuxerBox

Struct StreamMuxerBox 

Source
pub struct StreamMuxerBox { /* private fields */ }
Expand description

Abstract StreamMuxer.

Implementations§

Source§

impl StreamMuxerBox

Source

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

Turns a stream muxer into a StreamMuxerBox.

Trait Implementations§

Source§

impl StreamMuxer for StreamMuxerBox

Source§

type Substream = usize

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

type OutboundSubstream = usize

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

type Error = Error

Error type of the muxer
Source§

fn poll_event( &self, cx: &mut Context<'_>, ) -> Poll<Result<StreamMuxerEvent<Self::Substream>, Self::Error>>

Polls for a connection-wide event. Read more
Source§

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, cx: &mut Context<'_>, s: &mut Self::OutboundSubstream, ) -> Poll<Result<Self::Substream, Self::Error>>

Polls the outbound substream. Read more
Source§

fn destroy_outbound(&self, substream: 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<'_>, s: &mut Self::Substream, buf: &mut [u8], ) -> Poll<Result<usize, Self::Error>>

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

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

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

fn flush_substream( &self, cx: &mut Context<'_>, s: &mut Self::Substream, ) -> Poll<Result<(), Self::Error>>

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

fn shutdown_substream( &self, cx: &mut Context<'_>, s: &mut Self::Substream, ) -> Poll<Result<(), Self::Error>>

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

fn destroy_substream(&self, s: Self::Substream)

Destroys a substream.
Source§

fn close(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>

Closes this StreamMuxer. Read more
Source§

fn flush_all(&self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>

Flush this StreamMuxer. Read more
Source§

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 more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,