package mirage-channel
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=9b9384262dbc7e8660e6b686ebb36fc99f87c6d275c242ca878a58a4ee298d4f
md5=b7c56497e88bb6ff7c73bd935968d9b7
Description
An implementation of MirageOS' V1.CHANNEL using page aligned buffers.
README
mirage-channel — Buffered channels for MirageOS FLOW types
3.0.0
Channels are buffered reader/writers built on top of unbuffered FLOW implementations.
Example:
module Channel = Channel.Make(Flow)
...
Channel.read_exactly ~len:16 t
>>= fun bufs -> (* read header of message *)
let payload_length = Cstruct.(LE.get_uint16 (concat bufs) 0) in
Channel.read_exactly ~len:payload_length t
>>= fun bufs -> (* payload of message *)
(* process message *)
Channel.write_buffer t header;
Channel.write_buffer t payload;
Channel.flush t
>>= fun () ->mirage-channel is distributed under the ISC license.
- Homepage: https://github.com/mirage/mirage-channel
- Issue: https://github.com/mirage/mirage-channel/issues
- Contact:
<mirageos-devel@lists.xenproject.org>
Installation
mirage-channel can be installed with opam:
opam install channelIf you don't use opam consult the opam file for build instructions.
Documentation
The documentation and API reference is automatically generated by ocamldoc from the interfaces. It can be consulted online and there is a generated version in the doc directory of the distribution.
Sample programs
If you installed mirage-channel with opam sample programs are located in the directory opam config var channel:doc.
In the distribution sample programs and tests are located in the test directory of the distribution. They can be built with:
./build testThe resulting binaries are in _build/test.
test.nativetests the library, nothing should fail.
Dependencies (6)
- result
-
mirage-flow
>= "1.2.0" & < "2.0.0" -
topkg
build & >= "0.8.0" -
ocamlbuild
build -
ocamlfind
build -
ocaml
>= "4.01.0"
Dev Dependencies
None
Used by (4)
Conflicts (1)
-
tcpip
< "3.0.0"