pub trait MakeConnection<Target>: Sealed<(Target,)> {
    type Connection: AsyncRead + AsyncWrite;
    type Error;
    type Future: Future<Output = Result<Self::Connection, Self::Error>>;

    fn poll_ready(
        &mut self,
        cx: &mut Context<'_>
    ) -> Poll<Result<(), Self::Error>>; fn make_connection(&mut self, target: Target) -> Self::Future; }
Available on crate feature make only.
Expand description

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.

Required Associated Types

The transport provided by this service

Errors produced by the connecting service

The future that eventually produces the transport

Required Methods

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

Connect and return a transport asynchronously