mirage-flow-lwt

Flow implementations and combinators for MirageOS
README

This repo contains generic operations over Mirage FLOW implementations.

Please consult the API documentation.

Example usage

In a top-level like utop:

# #require "mirage-flow";;
# #require "mirage-clock-unix";;
# #require "lwt.syntax";;

# let a = Mirage_flow.Fun.(make ~input:(input_string "hellooooo") ());;
val a : Mirage_flow.Fun.flow = <abstr>

# let buffer = String.make 20 ' ';;
val buffer : bytes = "                    "
# let b = Mirage_flow.Fun.(make ~output:(output_string buffer) ());;
val b : Mirage_flow.Fun.flow = <abstr>

# lwt results = Mirage_flow.copy (module Clock) (module Mirage_flow.Fun) a (module Mirage_flow.Fun) b ();;
val results : [ `Error of [ `Msg of bytes ] | `Ok of Mirage_flow.CopyStats.t ] =  `Ok {Mirage_flow.CopyStats.read_bytes = 9L; read_ops = 1L; write_bytes = 9L; write_ops = 1L; duration = 6.9141387939453125e-06}
# buffer;;
- : bytes = "hellooooo           "
Install
Published
10 Jul 2018
Sources
mirage-flow-1.5.0.tbz
md5=a9e90517457514cc5c46ec46f477d01f
Dependencies
mirage-flow
>= "1.2.0" & < "2.0.0"
mirage-clock
>= "1.2.0" & < "3.0.0"
cstruct
>= "2.0.0" & < "6.1.0"
jbuilder
>= "1.0+beta7"
ocaml
>= "4.04.2"
Reverse Dependencies
capnp-rpc-lwt
< "0.5.0"
capnp-rpc-net
< "0.6.0"
cohttp-mirage
< "2.4.0"
datakit-server
>= "0.10.0" & < "0.11.0"
dns-forward
>= "0.9.0"
git-mirage
< "2.1.2"
hvsock
>= "0.14.0" & < "3.0.0"
mirage-conduit
< "2.0.0" | >= "2.3.0"
mirage-http
>= "3.0.0"
mirage-types-lwt
>= "3.0.0" & < "3.7.1"
protocol-9p
>= "0.9.0" & < "2.0.2"
vchan
>= "2.3.0" & < "5.0.0"
vchan-unix
< "5.0.0"
vchan-xen
< "5.0.0"
vpnkit
>= "0.1.1"