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 . Encoder
type error =
| Overflow of string

Type of failures possible while encoding.

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 encoders.

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 nested : ( t -> unit ) -> t -> unit

nested f e applies f to an encoder for a message nested in 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 xlet e = create () in f x e; to_bytes f.

val encode : ( 'a -> t -> unit ) -> 'a -> bytes option

encode f xtry Some (encode_exn f x) with Failure _ -> None.

val int32_of_int : string -> int -> int32

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).

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).