ppx_deriving_protobuf

A Protocol Buffers codec generator for OCaml
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library ppx_deriving_protobuf.runtime
Module Protobuf . Decoder
type error =
| Incomplete
| Overlong_varint
| Malformed_field
| Overflow of string
| Unexpected_payload of string * payload_kind
| Missing_field of string
| Malformed_variant of string

Type of failures possible while decoding.

val error_to_string : error -> string

error_to_string e converts error e to its string representation.

exception Failure of error
type t

Type of wire format decoders.

val of_bytes : bytes -> t

of_bytes b creates a decoder positioned at start of bytes b.

val of_string : string -> t

of_string s creates a decoder positioned at start of string s.

val at_end : t -> bool

at_end d returns true if d has exhausted its input, and false otherwise.

val skip : t -> payload_kind -> unit

skip d pk skips the next value of kind pk in d. If skipping the value would exhaust input of d, raises Encoding_error Incomplete.

val varint : t -> int64

varint d reads a varint from d. If d has exhausted its input, raises Failure Incomplete.

val zigzag : t -> int64

zigzag d reads a varint from d and zigzag-decodes it. If d has exhausted its input, raises Failure Incomplete.

val bits32 : t -> int32

bits32 d reads four bytes from d. If d has exhausted its input, raises Failure Incomplete.

val bits64 : t -> int64

bits64 d reads eight bytes from d. If d has exhausted its input, raises Failure Incomplete.

val bytes : t -> bytes

bytes d reads a varint indicating length and then that much bytes from d. If d has exhausted its input, raises Failure Incomplete.

val nested : t -> t

nested d returns a decoder for a message nested in d. If reading the message would exhaust input of d, raises Failure Incomplete.

val key : t -> (int * payload_kind) option

key d reads a key and a payload kind from d. If d has exhausted its input when the function is called, returns None. If d has exhausted its input while reading, raises Failure Incomplete. If the payload kind is unknown, raises Failure Malformed_field.

val decode_exn : ( t -> 'a ) -> bytes -> 'a

decode_exn f bf (create b).

val decode : ( t -> 'a ) -> bytes -> 'a option

decode f btry Some (decode_exn f b) with Failure _ -> None

val int_of_int32 : string -> int32 -> int

int_of_int32 fld v returns v truncated to int. If the value doesn't fit in the range of int, raises Failure (Overflow fld).

val int_of_int64 : string -> int64 -> int

int_of_int64 fld v returns v truncated to int. If the value doesn't fit in the range of int, raises Failure (Overflow fld).

val int32_of_int64 : string -> int64 -> int32

int32_of_int64 fld v returns v truncated to int32. If the value doesn't fit in the range of int32, raises Failure (Overflow fld).

val bool_of_int64 : string -> int64 -> bool

bool_of_int64 fld v returns v truncated to bool. If the value doesn't fit in the range of bool, raises Failure (Overflow fld).