package mirage-flow-lwt

  1. Overview
  2. Docs
Various implementations of the MirageOS FLOW interface

Install

Dune Dependency

Authors

Maintainers

Sources

mirage-flow-lwt-1.2.0.tbz
md5=18b4752fbb9922b57cd25738557b7ef4

Description

  • Fflow uses input/output functions to build a flow
  • Lwt_io_flow uses Lwt_io.channel

Tags

org:mirage

Published: 23 Feb 2017

README

mirag-flow -- Flow implementations and combinators for MirageOS

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           "

Dependencies (10)

  1. mirage-flow = "1.2.0"
  2. mirage-clock = "1.2.0"
  3. cstruct-lwt
  4. cstruct >= "2.0.0" & < "6.0.1"
  5. lwt
  6. fmt < "0.8.10"
  7. topkg build & >= "0.7.3"
  8. ocamlbuild build
  9. ocamlfind build
  10. ocaml

Dev Dependencies

None

Used by (22)

  1. capnp-rpc-lwt < "0.5.0"
  2. capnp-rpc-net < "0.6.0"
  3. cohttp-mirage < "2.4.0"
  4. conduit-mirage < "2.0.2"
  5. datakit-client-git >= "1.0.0"
  6. datakit-server >= "0.10.0" & < "0.11.0"
  7. datakit-server-9p
  8. dns-forward >= "0.9.0"
  9. git-mirage < "2.1.2"
  10. hvsock >= "0.14.0" & < "3.0.0"
  11. mirage-channel-lwt
  12. mirage-conduit < "2.0.0" | >= "2.3.0"
  13. mirage-flow-rawlink
  14. mirage-flow-unix != "1.3.0" & < "2.0.0"
  15. mirage-http >= "3.0.0"
  16. mirage-net-flow
  17. mirage-types-lwt >= "3.0.0" & < "3.4.0"
  18. protocol-9p >= "0.9.0" & < "2.0.2"
  19. protocol-9p-unix < "2.0.2"
  20. vchan >= "2.3.0" & < "5.0.0"
  21. vchan-unix < "5.0.0"
  22. vchan-xen < "5.0.0"

Conflicts

None