package mirage-channel
Buffered channels for MirageOS FLOW types
Install
Authors
Maintainers
Sources
mirage-channel-4.1.0.tbz
sha256=b0176851d4ddf5978d7072b420118178e6030ea50b33b1185fe3f3d9fda72100
sha512=d6e085cc7c61387fa651757704dd0c76d2fee728725e06174ea8a1c47e63b13217d3683094939a3862fe2f23f18f74dfcdbe4577ba0e9e45609c15d1539edd10
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.
Dependencies (6)
Dev Dependencies (2)
-
mirage-flow-combinators
with-test & >= "2.0.0"
-
alcotest
with-test
Used by (9)
- caqti-mirage
-
cohttp-mirage
>= "2.4.0"
-
docteur-unix
< "0.0.3"
-
git-mirage
>= "2.1.2" & < "3.0.0"
- mehari-mirage
-
mirage-types
>= "3.7.1"
- pgx_lwt_mirage
-
protocol-9p
>= "2.0.2"
-
protocol-9p-unix
>= "2.0.2"
Conflicts (1)
-
tcpip
< "3.0.0"
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page