type socket = Flow.flow
val create_connection : ?config:H2.Config.t -> ?push_handler:(H2.Request.t -> (H2.Client_connection.response_handler, unit) Stdlib.result) -> error_handler:H2.Client_connection.error_handler -> socket -> t Lwt.t
val request : t -> H2.Request.t -> error_handler:H2.Client_connection.error_handler -> response_handler:H2.Client_connection.response_handler -> [ `write ] H2.Body.t
val ping : t -> ?payload:Bigstringaf.t -> ?off:int -> (unit -> unit) -> unit
val is_closed : t -> bool