UniListener

Struct UniListener 

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

A simple wrapper of tokio::net::TcpListener.

Implementations§

Source§

impl UniListener

Source

pub async fn accept(&self) -> Result<(UniStream, UniAddr)>

Accepts an incoming connection to this listener, and returns the accepted stream and the peer address.

This method will retry on non-deadly errors, including:

  • ECONNREFUSED.
  • ECONNABORTED.
  • ECONNRESET.
Source

pub fn poll_accept( &self, cx: &mut Context<'_>, ) -> Poll<Result<(UniStream, UniAddr)>>

Accepts an incoming connection to this listener, and returns the accepted stream and the peer address.

Notes that on multiple calls to poll_accept, only the waker from the Context passed to the most recent call is scheduled to receive a wakeup. Unless you are implementing your own future accepting connections, you probably want to use the asynchronous accept method instead.

Source

pub fn local_addr(&self) -> Result<UniAddr>

Returns the socket address of the local half of this socket.

This function directly corresponds to the getsockname(2) function on Windows.

§Notes

Depending on the OS this may return an error if the socket is not bound.

Source

pub fn as_socket_ref(&self) -> SockRef<'_>

Returns a SockRef to the underlying socket for configuration.

Trait Implementations§

Source§

impl Debug for UniListener

Source§

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

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

impl TryFrom<TcpListener> for UniListener

Source§

fn try_from(listener: TcpListener) -> Result<Self, Self::Error>

Converts a standard library TCP listener into a unified UniListener.

Source§

type Error = Error

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

impl TryFrom<TcpListener> for UniListener

Source§

fn try_from(listener: TcpListener) -> Result<Self, Self::Error>

Converts a Tokio library TCP listener into a unified UniListener.

§Errors

Actually, this is infallible and always returns Ok, for APIs consistency.

Source§

type Error = Error

The type returned in the event of a conversion error.

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, 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.