package bin_prot

  1. Overview
  2. Docs

An Opaque.t is an arbitrary piece of bin-prot. The bin-prot (de-)serializers simply read/write the data, prefixed with its size.

When reading bin-prot data, sometimes you won't care about deserializing a particular piece: perhaps you want to operate on a bin-prot stream, transforming some bits of the stream and passing the others through untouched. In these cases you can deserialize using the bin-prot converters for a type involving Opaque.t. This is analogous to reading a sexp file / operating on a sexp stream and using (de-)serialization functions for a type involving Sexp.t.

type t
include Binable.S_only_functions with type t := t
val bin_size_t : t Size.sizer
val bin_write_t : t Write.writer
val bin_read_t : t Read.reader
val __bin_read_t__ : (int -> t) Read.reader

This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.

val bin_shape_t : Shape.t
val bin_writer_t : t Type_class.writer
val bin_reader_t : t Type_class.reader
val bin_t : t Type_class.t