pub(crate) async fn handshake<T, B>(
io: T,
req_rx: Receiver<Request<B>, Response<Body>>,
config: &Config,
exec: Exec
) -> Result<ClientTask<B>>where
T: AsyncRead + AsyncWrite + Send + Unpin + 'static,
B: HttpBody,
B::Data: Send + 'static,