mirage-flow-unix
Various implementations of the MirageOS FLOW interface
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
-
23 Feb 2017
- Authors
-
- Maintainers
-
Sources
Dependencies
cstruct
>= "2.3.0" & < "6.0.1"
lwt
with-test & < "5.0.0"
mirage-flow-lwt
>= "1.2.0"
mirage-flow
>= "1.2.0" & < "2.0.0"
fmt
< "0.8.10"
alcotest
with-test
topkg
build & >= "0.9.0"
ocamlbuild
build
ocamlfind
build
Reverse Dependencies
capnp-rpc-unix
< "0.5.0"