Name: mirage-channel
Owner: MirageOS
Description: An implementation of channels using page-aligned memory
Created: 2015-07-03 13:37:49.0
Updated: 2017-10-30 05:04:54.0
Pushed: 2017-11-25 03:30:15.0
Homepage: null
Size: 121
Language: OCaml
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
%%VERSION%%
Channels are buffered reader/writers built on top of unbuffered FLOW
implementations.
Example:
le Channel = Channel.Make(Flow)
nel.read_exactly ~len:16 t
fun bufs -> (* read header of message *)
payload_length = Cstruct.(LE.get_uint16 (concat bufs) 0) in
nel.read_exactly ~len:payload_length t
fun bufs -> (* payload of message *)
rocess message *)
nel.write_buffer t header;
nel.write_buffer t payload;
nel.flush t
fun () ->
mirage-channel is distributed under the ISC license.
<mirageos-devel@lists.xenproject.org>
mirage-channel can be installed with opam
:
opam install channel
If you don't use opam
consult the opam
file for build
instructions.
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.
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 test
The resulting binaries are in _build/test
.
test.native
tests the library, nothing should fail.