mirage/mirage-channel

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

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

mirage-channel ? Buffered channels for MirageOS FLOW types

%%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.

Installation

mirage-channel can be installed with opam:

opam install channel

If 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 test

The resulting binaries are in _build/test.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.