Trait tokio_util::net::Listener

source ·
pub trait Listener {
    type Io: AsyncRead + AsyncWrite;
    type Addr;

    // Required methods
    fn poll_accept(
        &mut self,
        cx: &mut Context<'_>
    ) -> Poll<Result<(Self::Io, Self::Addr)>>;
    fn local_addr(&self) -> Result<Self::Addr>;

    // Provided method
    fn accept(&mut self) -> ListenerAcceptFut<'_, Self> 
       where Self: Sized { ... }
}
Available on crate features net and codec only.
Expand description

A trait for a listener: TcpListener and UnixListener.

Required Associated Types§

source

type Io: AsyncRead + AsyncWrite

The stream’s type of this listener.

source

type Addr

The socket address type of this listener.

Required Methods§

source

fn poll_accept( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(Self::Io, Self::Addr)>>

Polls to accept a new incoming connection to this listener.

source

fn local_addr(&self) -> Result<Self::Addr>

Returns the local address that this listener is bound to.

Provided Methods§

source

fn accept(&mut self) -> ListenerAcceptFut<'_, Self> where Self: Sized,

Accepts a new incoming connection from this listener.

Implementations on Foreign Types§

source§

impl Listener for UnixListener

§

type Io = UnixStream

§

type Addr = SocketAddr

source§

fn poll_accept( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(Self::Io, Self::Addr)>>

source§

fn local_addr(&self) -> Result<Self::Addr>

source§

impl Listener for TcpListener

§

type Io = TcpStream

§

type Addr = SocketAddr

source§

fn poll_accept( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(Self::Io, Self::Addr)>>

source§

fn local_addr(&self) -> Result<Self::Addr>

Implementors§