Library
Module
Module type
Parameter
Class
Class type
val error_to_string : error -> string
error_to_string e
converts error e
to its string representation.
exception Failure of error
val create : unit -> t
create ()
creates a new encoder.
val to_string : t -> string
to_string e
converts the message assembled in e
to a string.
val to_bytes : t -> bytes
to_bytes e
converts the message assembled in e
to bytes.
val varint : int64 -> t -> unit
varint i e
writes a varint i
to e
.
val zigzag : int64 -> t -> unit
zigzag i e
zigzag-encodes a varint i
and writes it to e
.
val bits32 : int32 -> t -> unit
bits32 i e
writes four bytes of i
to e
.
val bits64 : int64 -> t -> unit
bits64 i e
writes eight bytes of i
to e
.
val bytes : bytes -> t -> unit
bytes b e
writes a varint indicating length of b
and then b
to e
.
val key : (int * payload_kind) -> t -> unit
key (k, pk) e
writes a key and a payload kind to e
.
val encode_exn : ('a -> t -> unit) -> 'a -> bytes
encode_exn f x
≡ let e = create () in f x e; to_bytes f
.
val encode : ('a -> t -> unit) -> 'a -> bytes option
encode f x
≡ try Some (encode_exn f x) with Failure _ -> None
.
int32_of_int fld v
returns v
truncated to int32
. If the value doesn't fit in the range of int32
, raises Failure (Overflow fld)
.