Library
Module
Module type
Parameter
Class
Class type
This module define flow-related devices for MirageOS, using lwt for I/O.
Release v3.0.0
module type CONCRETE =
Mirage_flow.S
with type error = [ `Msg of string ]
and type write_error = [ Mirage_flow.write_error | `Msg of string ]
CONCRETE
expose the private row as `Msg str
errors, using pp_error
and pp_write_error
.
Functor to transform a flow signature using private rows for errors into concrete error types.
module type SHUTDOWNABLE = sig ... end
module Copy
(Clock : Mirage_clock.MCLOCK)
(A : Mirage_flow.S)
(B : Mirage_flow.S) :
sig ... end
module Proxy
(Clock : Mirage_clock.MCLOCK)
(A : SHUTDOWNABLE)
(B : SHUTDOWNABLE) :
sig ... end
module F : sig ... end
In-memory, function-based flows.
include Mirage_flow.S with type flow = t
val pp_error : error Fmt.t
val pp_write_error : write_error Fmt.t
type flow = 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
val create : (module Mirage_flow.S with type flow = 'a) -> 'a -> string -> t
create (module M) t name
is the flow representing t
using the function defined in M
.
val pp : t Fmt.t
pp
is the pretty-printer for IO flows.
forward ?verbose ~src ~dst ()
forwards writes from src
to dst
. Block until either src
or dst
is closed. If verbose
is set (by default it is not), show the full flow contents in the debug messages.