Module Binary


module Binary: sig .. end
Low-level functions for the binary protocol.


Coding functions


val buf_int8 : Buffer.t -> int -> unit
buf_int8 b i encodes a 8-bits integer i in the buffer b.
val buf_int16 : Buffer.t -> int -> unit
buf_int16 b i encodes a 16-bits integer i in the buffer b.
val buf_int31 : Buffer.t -> int -> unit
buf_int31 b i encodes a native 31-bits integer i in the buffer b.
val buf_int63 : Buffer.t -> int -> unit
buf_int63 b i encodes a native 63-bits integer i in the buffer b.
val buf_string31 : Buffer.t -> string -> unit
val buf_bool : Buffer.t -> bool -> unit
buf_bool b i encodes a boolean i in the buffer b.
val buf_float : Buffer.t -> float -> unit
buf_float b f encodes a floating-point number f in the buffer b.
val buf_int64 : Buffer.t -> Int64.t -> unit
buf_int64 b i encodes an int64 i in the buffer b.
val buf_list16 : (Buffer.t -> 'a -> unit) -> Buffer.t -> 'a list -> unit
buf_list16 f b l encodes the list l in the buffer b, with the function f specifying how to encode an item of l.
exception IncompleteMessage


Decoding functions


val get_uint8 : string -> int -> int
get_uint8 s pos decodes a byte in s at the position pos.
val get_int16 : string -> int -> int * int
get_int16 s pos decodes two bytes in s at the position pos and return a 16 bits integer along with the new position in s.
val get_int31 : string -> int -> int * int
get_int31 s pos decodes four bytes in s at the position pos and return a 31 bits integer along with the new position in s.
val get_int63 : string -> int -> int * int
get_int63 s pos decodes eight bytes in s at the position pos and return a 63 bits integer along with the new position in s.
val get_int64 : string -> int -> Int64.t * int
get_int64 s pos decodes eight bytes in s at the position pos and return a 63 bits integer along with the new position in s.
val get_int63_of_31 : string -> int -> int * int
get_int63_of_31 s pos decodes four bytes in s at the position pos and return a 63 bits integer along with the new position in s, made from the 31 bits integer.
val get_int64_of_63 : string -> int -> Int64.t * int
get_int64_of_63 s pos decodes eight bytes in s at the position pos and return a 64 bits integer along with the new position in s, made from the 63 bits integer.
val get_float : string -> int -> float * int
get_float s pos decodes eight bytes in s at the position pos and return a floating-point number along with the new position in s.
val get_string : string -> int -> int -> string * int
get_string s pos len decodes len bytes in s at the position pos and return a string along with the new position in s.
val get_list16 : (string -> int -> int -> 'a * int) -> string -> int -> int -> 'a list * int
get_list16 f s pos last decodes last-pos bytes in s, at the position pos, with the function f that specifies how to get an item, and returns a 'b list.
val get_bool : string -> int -> bool
get_bool s pos decodes a byte in s at the position pos and return a boolean along with the new position in s.