H1.Client_connectiontype error = [ | `Malformed_response of string| `Invalid_response_body_length of Response.t| `Exn of exn ]type response_handler = Response.t -> Body.Reader.t -> unittype error_handler = error -> unitval request :
?config:Config.t ->
Request.t ->
error_handler:error_handler ->
response_handler:response_handler ->
Body.Writer.t * tval next_read_operation : t -> [ `Read | `Close ]next_read_operation t returns a value describing the next operation that the caller should conduct on behalf of the connection.
read t bigstring ~off ~len reads bytes of input from the provided range of bigstring and returns the number of bytes consumed by the connection. read should be called after next_read_operation returns a `Read value and additional input is available for the connection to consume.
read_eof t bigstring ~off ~len reads bytes of input from the provided range of bigstring and returns the number of bytes consumed by the connection. read_eof should be called after next_read_operation returns a `Read and an EOF has been received from the communication channel. The connection will attempt to consume any buffered input and then shutdown the HTTP parser for the connection.
next_write_operation t returns a value describing the next operation that the caller should conduct on behalf of the connection.
val report_write_result : t -> [ `Ok of int | `Closed ] -> unitreport_write_result t result reports the result of the latest write attempt to the connection. report_write_result should be called after a call to next_write_operation that returns a `Write buffer value.
`Ok n indicates that the caller successfully wrote n bytes of output from the buffer that the caller was provided by next_write_operation.`Closed indicates that the output destination will no longer accept bytes from the write processor.val yield_writer : t -> (unit -> unit) -> unityield_writer t continue registers with the connection to call continue when writing should resume. yield_writer should be called after next_write_operation returns a `Yield value.
val report_exn : t -> exn -> unitreport_exn t exn reports that an error exn has been caught and that it has been attributed to t. Calling this function will switch t into an error state. Depending on the state t is transitioning from, it may call its error handler before terminating the connection.
val is_closed : t -> bool