Struct yamux::Connection

source ·
pub struct Connection<T> { /* private fields */ }
Expand description

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§

source§

impl<T: AsyncRead + AsyncWrite + Unpin> Connection<T>

source

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

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

source

pub fn control(&self) -> Control

Get a controller for this connection.

source

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

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§

source§

impl<T> Debug for Connection<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Display for Connection<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T> Drop for Connection<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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 Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V