[−][src]Struct async_smux::Mux
A multiplexer/demultiplexer for AsyncRead / AsyncWrite streams.
Mux
can accept new MuxStream
from the remote peer, or connect new MuxStream
to the remote peer.
Note that if the remote peer is trying to connect to the local Mux
, while there is no task accepting the new MuxStream
on the local side, the Mux
and all related MuxStream
s might get pended.
Implementations
impl<T: AsyncRead + AsyncWrite + Send + Unpin + 'static> Mux<T>
[src]
pub async fn stream_count<'_>(&'_ self) -> usize
[src]
Gets the number of currently established MuxStream
s.
pub async fn clean<'_>(&'_ self) -> Result<()>
[src]
Cleans all dropped MuxStream
s immediately.
pub async fn accept<'_>(&'_ self) -> Result<MuxStream<T>>
[src]
Accepts a new MuxStream
from the remote peer.
pub async fn connect<'_>(&'_ self) -> Result<MuxStream<T>>
[src]
Connects a new MuxStream
to the remote peer.
pub fn new(inner: T, config: MuxConfig) -> Self
[src]
Creates a new Mux
Panic
Panics if the config is not valid. Call MuxConfig::check()
to make sure the config is valid.
Trait Implementations
Auto Trait Implementations
impl<T> !RefUnwindSafe for Mux<T>
impl<T> Send for Mux<T> where
T: Send,
T: Send,
impl<T> Sync for Mux<T> where
T: Send,
T: Send,
impl<T> Unpin for Mux<T>
impl<T> !UnwindSafe for Mux<T>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
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]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,