package capnp

  1. Overview
  2. Docs
OCaml code generation plugin for the Cap'n Proto serialization framework

Install

Dune Dependency

Authors

Maintainers

Sources

capnp-3.6.0.tbz
sha256=d141d6ea5889fb9cc9ceef70408dd410ca0d84edae1d1208d4f90ca74ce77b18
sha512=7d70da54317c8ec13b5129343fc9558e7fe387fc41ac0524cd9363153d47cf293ea36c5d598ab04d9817292cb84d5e764c9446ae29eebcb01976b937a82192b0

doc/capnp.unix/Capnp_unix/IO/ReadContext/index.html

Module IO.ReadContextSource

Sourcetype 'a t
Sourceval create : read:('a -> buf:Bytes.t -> pos:int -> len:int -> int) -> compression:Capnp.Codecs.compression_t -> 'a -> 'a t

create ~read ~compression descr creates a new context for reading data from the specified descriptor using the specified compression method.

The semantics of the read function shall mimic that of Unix.read, attempting to read into a substring of the buf and returning the number of bytes actually read. A read of length 0 indicates end-of-file.

dequeue_message context attempts to remove a complete message from the incoming queue of the read context. No data will be read from the underlying descriptor.

  • returns

    None if there is insufficient data stored in the read context to decode a complete message

  • raises Unsupported_message_frame

    if the frame header describes a segment count or segment size that is too large for the implementation

Sourceval bytes_available : 'a t -> int

bytes_available context obtains the number of bytes already read which are currently stored in the read context.

Sourceval read : 'a t -> int

read context attempts to read some data from the underlying descriptor, storing it in the read context.

  • returns

    the number of bytes actually read

read_message context attempts to remove a complete message from the incoming queue of the read context. read may be invoked repeatedly to provide enough buffered data to decode a complete message.

  • returns

    None if end-of-file was reached before a complete message could be read

  • raises Unsupported_message_frame

    if the frame header describes a segment count or segment size that is too large for the implementation

OCaml

Innovation. Community. Security.