mirage-channelversion

Buffered channels for MirageOS FLOW types

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.

Tags org:mirage
AuthorsAnil Madhavapeddy, Mindy Preston and Thomas Gazagnaire
LicenseISC
Published
Homepagehttps://github.com/mirage/mirage-channel
Issue Trackerhttps://github.com/mirage/mirage-channel/issues
MaintainerAnil Madhavapeddy <anil@recoil.org>
Availablefalse
Dependencies
Conflicts
Source [http] https://github.com/mirage/mirage-channel/releases/download/v4.0.0/mirage-channel-v4.0.0.tbz
sha256=b7e618d311af43a9d3db5b90f945ebde1e09c9e318cf8599d99fb314620cb485
sha512=820057723c197f6454519b606b062272badb921258e365b19c2dbb2c81bdcb6fa0ecf190b7cc44fa936b050da56335a26b7c46cc692c970d6546c86e810010b3
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/mirage-channel/mirage-channel.4.0.0/opam
Required by