fn connect(
addr: &SocketAddr,
config: &Config,
connect_timeout: Option<Duration>,
) -> Result<impl Future<Output = Result<TcpStream, ConnectError>>, ConnectError>
fn connect(
addr: &SocketAddr,
config: &Config,
connect_timeout: Option<Duration>,
) -> Result<impl Future<Output = Result<TcpStream, ConnectError>>, ConnectError>