Function handshake

async fn handshake<T>(io: T) -> Result<(SendRequest<Bytes>, Connection<T, Bytes>), Error>
where
    T: AsyncRead + AsyncWrite + Unpin

Creates a new configured HTTP/2 client with default configuration values backed by io.

It is expected that io already be in an appropriate state to commence the HTTP/2 handshake. See Handshake for more details.

Returns a future which resolves to the Connection / SendRequest tuple once the HTTP/2 handshake has been completed. The returned Connection instance will be using default configuration values. Use Builder to customize the configuration values used by a Connection instance.

Examples

# use tokio::io::{AsyncRead, AsyncWrite};
# use h2::client;
# use h2::client::*;
#
# async fn doc<T: AsyncRead + AsyncWrite + Unpin>(my_io: T) -> Result<(), h2::Error>
# {
let (send_request, connection) = client::handshake(my_io).await?;
// The HTTP/2 handshake has completed, now start polling
// `connection` and use `send_request` to send requests to the
// server.
# Ok(())
# }
#
# pub fn main() {}