Utility functions for user convenience
size_header_length
is the standard number of bytes allocated for the size header in
size-prefixed bin-io payloads. This size-prefixed layout is used by the bin_dump
and bin_read_stream
functions below, as well as:
The size prefix is always 8 bytes at present. This is exposed so your program does not have to know this fact too.
We do not use a variable length header because we want to know how many bytes to read to get the size without having to peek into the payload.
bin_read_size_header
and bin_write_size_header
are bin-prot serializers for the
size header described above.
bin_dump ?header writer v
uses writer
to first compute the size of
v
in the binary protocol, then allocates a buffer of exactly this
size, and then writes out the value. If header
is true
, the
size of the resulting binary string will be prefixed as a signed
64bit integer.
false
writer
can raise.
bin_read_stream ?max_size ~read reader
reads binary protocol data
from a stream as generated by the read
function, which places
data of a given length into a given buffer. Requires a header.
The reader
type class will be used for conversion to OCaml-values.
reader
can raise.
max_size
.
Conversion of binable types
Conversion of iterable types