package capnp

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a t
val create : write:('a -> buf:string -> pos:int -> len:int -> int) -> compression:Capnp.Codecs.compression_t -> 'a -> 'a t

create ~write ~compression descr creates a new context for writing data to the specified descriptor. compression specifies the compression format, if any.

The semantics of the write function shall mimic that of Unix.single_write, attempting to write a substring from the buf and returning the number of bytes actually written.

val enqueue_message : 'a t -> 'cap Capnp.Message.BytesMessage.Message.t -> unit

enqueue_message context message places the message in the outgoing queue of the write context. No data will be written to the underlying descriptor.

val bytes_remaining : 'a t -> int

bytes_remaining context obtains the number of unwritten bytes currently stored in the write context.

val write : 'a t -> int

write context attempts to write some of the queued data to the underlying descriptor associated with the write context.

  • returns

    the number of bytes actually written

val write_message : 'a t -> 'cap Capnp.Message.BytesMessage.Message.t -> unit

write_message context message places the message in the outgoing queue of the write context, then invokes write in a loop until all queued data has been written.