package mirage-channel-lwt

  1. Overview
  2. No Docs
Buffered channels for MirageOS FLOW types

Install

Authors

Maintainers

Sources

mirage-channel-3.1.0.tbz
md5=942d02ee627c0bae75ce5e7e16c1153e

Description

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

Published: 14 Jun 2017

Dependencies (9)

  1. logs
  2. cstruct
  3. lwt >= "2.4.7"
  4. result
  5. io-page
  6. mirage-channel >= "3.1.0" & < "4.0.0"
  7. mirage-flow-lwt >= "1.2.0"
  8. jbuilder >= "1.0+beta10"
  9. ocaml >= "4.02.3"

Dev Dependencies (2)

  1. io-page-unix with-test
  2. alcotest with-test & < "1.4.0"

Used by (7)

  1. cohttp-mirage < "2.4.0"
  2. dns-forward >= "0.9.0"
  3. git-mirage < "2.1.2"
  4. mirage-http >= "3.0.0"
  5. mirage-types-lwt >= "3.0.0" & < "3.7.1"
  6. protocol-9p >= "0.9.0" & < "2.0.2"
  7. protocol-9p-unix < "2.0.2"

Conflicts (1)

  1. tcpip < "2.5.0"