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.5.0.tbz
sha256=d3060f4b6bebb69d74608519da20dab1d59c88557ebcfce8c66a8f3f7f5f6035
sha512=43d6f06d99b4c54e8784ab3de83e1f538ff732831b4014ba983fd932e4ecbd5460837374bcf454961e4ee6de374b5169a89a417463f109dc00346d6980d2e038

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.