Struct yamux::Connection[][src]

pub struct Connection<T> { /* fields omitted */ }

A Yamux connection object.

Wraps the underlying I/O resource and makes progress via its Connection::next_stream method which must be called repeatedly until Ok(None) signals EOF or an error is encountered.

Implementations

impl<T: AsyncRead + AsyncWrite + Unpin> Connection<T>[src]

pub fn new(socket: T, cfg: Config, mode: Mode) -> Self[src]

Create a new Connection from the given I/O resource.

pub fn control(&self) -> Control[src]

Get a controller for this connection.

pub async fn next_stream(&mut self) -> Result<Option<Stream>, ConnectionError>[src]

Get the next incoming stream, opened by the remote.

This must be called repeatedly in order to make progress. Once Ok(None) or Err(_) is returned the connection is considered closed and no further invocation of this method must be attempted.

Cancellation

Please note that if you poll the returned Future it must not be cancelled but polled until Poll::Ready is returned.

Trait Implementations

impl<T> Debug for Connection<T>[src]

impl<T> Display for Connection<T>[src]

impl<T> Drop for Connection<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for Connection<T>

impl<T> Send for Connection<T> where
    T: Send

impl<T> Sync for Connection<T> where
    T: Sync

impl<T> Unpin for Connection<T> where
    T: Unpin

impl<T> !UnwindSafe for Connection<T>

Blanket Implementations

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

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

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

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

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

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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.

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]