Trait MakeConnection

pub trait MakeConnection<Target>: Sealed<(Target,)>

The MakeConnection trait is used to create transports.

The goal of this service is to allow composable methods for creating AsyncRead + AsyncWrite transports. This could mean creating a TLS based connection or using some other method to authenticate the connection.

Associated Types

type Connection: AsyncRead + AsyncWrite;

The transport provided by this service

type Error;

Errors produced by the connecting service

type Future: Future<Output = Result<Self::Connection, Self::Error>>;

The future that eventually produces the transport

Required Methods

fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>

Returns Poll::Ready(Ok(())) when it is able to make more connections.

fn make_connection(&mut self, target: Target) -> Self::Future

Connect and return a transport asynchronously

Implementors