package mirage-flow-combinators
Flow implementations and combinators for MirageOS specialized to lwt
Install
Dune Dependency
Authors
Maintainers
Sources
mirage-flow-4.0.2.tbz
sha256=4865e3dd2e1be773bd24435416e325dc8f90a22674412ad8bbbcd37adeeafb5a
sha512=833a8a4e048d9e3206926e46617824f8d6719fd28c7c29e520b34d2776182439b36a668262a7fa3696d4b22bf15ea5517e7da63a9b813d8bb3dd88f683bb3a7e
Description
This repo contains generic operations over Mirage FLOW
implementations.
Please consult the API documentation.
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 (8)
-
mirage-flow
= version
-
mirage-clock
>= "3.0.0"
-
cstruct
>= "6.0.0"
- logs
-
lwt
>= "4.0.0"
-
fmt
>= "0.8.7"
-
dune
>= "1.0"
-
ocaml
>= "4.08.0"
Dev Dependencies
None
Used by (4)
-
conduit-mirage
>= "2.0.2" & != "3.0.0"
-
hvsock
>= "3.0.0"
-
mirage-channel
>= "4.0.0"
-
mirage-flow-unix
>= "4.0.2"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page