Trait Listener

Source
pub trait Listener:
    Sync
    + Send
    + 'static {
    type Sink: Sink;
    type Stream: Stream;

    // Required methods
    fn accept(
        &mut self,
    ) -> impl Future<Output = Result<(SocketAddr, Self::Sink, Self::Stream), Error>> + Send;
    fn local_addr(&self) -> Result<SocketAddr, Error>;
}
Expand description

Interface that any runtime must implement to handle incoming network connections.

Required Associated Types§

Source

type Sink: Sink

The type of Sink that’s returned when accepting a connection. This is used to send data to the remote connection.

Source

type Stream: Stream

The type of Stream that’s returned when accepting a connection. This is used to receive data from the remote connection.

Required Methods§

Source

fn accept( &mut self, ) -> impl Future<Output = Result<(SocketAddr, Self::Sink, Self::Stream), Error>> + Send

Accept an incoming connection.

Source

fn local_addr(&self) -> Result<SocketAddr, Error>

Returns the local address of the listener.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§