Library
Module
Module type
Parameter
Class
Class type
In-memory, function-based flows.
include S
type 'a io = 'a Lwt.t
val pp_error : error Fmt.t
val pp_write_error : write_error Fmt.t
type buffer = Cstruct.t
val write : flow -> buffer -> (unit, write_error) Stdlib.result io
val writev : flow -> buffer list -> (unit, write_error) Stdlib.result io
make ~close ~input ~output ()
is a flow using input
to refill its internal input buffer when needed and output
to refill its external output buffer. It is using close
to eventually clean-up other resources on close.
val input_string : string -> refill
input_string buf
is the refill function reading its inputs from the string buf
.
val output_bytes : bytes -> refill
output_bytes buf
is the refill function writing its outputs in the buffer buf
.
val string : ?input:string -> ?output:bytes -> unit -> flow
The flow built using input_string
and output_bytes
.
val input_strings : string list -> refill
input_strings bufs
is the refill function reading its inputs from the list of buffers bufs
. Empty strings are ignored.
val output_bytess : bytes list -> refill
output_bytess buf
is the refill function writing its outputs in the list of buffers buf
. Empty strings are ignored.
val strings : ?input:string list -> ?output:bytes list -> unit -> flow
The flow built using input_strings
and output_bytess
.
Same as input_string
but for Cstruct.t
buffers.
Same as input_strings
but for Cstruct.t
buffers.