package mirage-flow

  1. Overview
  2. Docs
Flow implementations and combinators for MirageOS

Install

Dune Dependency

Authors

Maintainers

Sources

mirage-flow-1.3.0.tbz
md5=2811566ba9895e429716e4c315cd43e6

Description

This repo contains generic operations over Mirage FLOW implementations.

Please consult the API documentation.

Example usage

In a top-level like utop:

Tags

org:mirage

Published: 14 Jun 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 (4)

  1. result
  2. fmt < "0.8.10"
  3. jbuilder >= "1.0+beta7"
  4. ocaml

Dev Dependencies

None

Used by (14)

  1. conduit-mirage = "3.0.0"
  2. datakit
  3. datakit-client-git < "1.0.0"
  4. git >= "1.5.2" & < "1.10.0"
  5. git-paf >= "3.5.0"
  6. mirage-channel < "4.0.0"
  7. mirage-console >= "2.2.0" & < "3.0.0"
  8. mirage-console-xen >= "4.0.0"
  9. mirage-flow-lwt >= "1.3.0"
  10. mirage-flow-unix < "2.0.0"
  11. mirage-protocols < "4.0.0"
  12. mirage-types >= "3.0.0" & < "3.4.0"
  13. tcpip = "2.4.2" | = "2.6.1" | = "2.8.0" | >= "3.0.0" & < "4.0.0"
  14. vpnkit < "0.1.1"

Conflicts

None