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 |
---|---|
Authors | Anil Madhavapeddy, Mindy Preston and Thomas Gazagnaire |
License | ISC |
Published | |
Homepage | https://github.com/mirage/mirage-channel |
Issue Tracker | https://github.com/mirage/mirage-channel/issues |
Maintainer | Anil Madhavapeddy <anil@recoil.org> |
Dependencies |
|
Conflicts |
|
Source [http] | https://github.com/mirage/mirage-channel/releases/download/v3.2.0/mirage-channel-v3.2.0.tbz sha256=c88cce16cb65da54773e311f19d749209cbb8bb4824572fe95b95a60fb7c7c1c md5=d42c47f25978a16519bdbeafbeae876a |
Edit | https://github.com/ocaml/opam-repository/tree/master/packages/mirage-channel/mirage-channel.3.2.0/opam |
Required by
- caqti-mirage
- docteur-unixwith-test & <0.0.3
- mirage-channel-lwt>=3.1.0
- mirage-types>=3.0.0 & <3.7.1
- pgx_lwt_mirage
- vpnkit>=0.1.1