Library
Module
Module type
Parameter
Class
Class type
In-memory, function-based flows.
include Mirage_flow.S
val pp_error : error Fmt.t
val pp_write_error : write_error Fmt.t
val write : flow -> Cstruct.t -> (unit, write_error) Stdlib.result Lwt.t
val writev : flow -> Cstruct.t list -> (unit, write_error) Stdlib.result Lwt.t
val close : flow -> unit Lwt.t
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
.
val input_cstruct : Cstruct.t -> refill
Same as input_string
but for Cstruct.t
buffers.
val output_cstruct : Cstruct.t -> refill
Same as output_string
buf for Cstruct.t
buffers.
val cstruct : ?input:Cstruct.t -> ?output:Cstruct.t -> unit -> flow
Same as string
but for Cstruct.t
buffers.
val input_cstructs : Cstruct.t list -> refill
Same as input_strings
but for Cstruct.t
buffers.
val output_cstructs : Cstruct.t list -> refill
Same as output_strings
but for Cstruct.t
buffers.