Plasma GitLab Archive
Projects Blog Knowledge

Module Hydro_unmarshal


module Hydro_unmarshal: sig .. end
Hydro unmarshalling

val decapsulate : Hydro_types.encap_buffer -> Hydro_types.encap_buffer
decapsulate (nb,pos,len): Interprets the len bytes at pos in nb as encapsulation, and returns its contents also in the format (nb',pos',len'). nb=nb' is allowed.
val unmarshal : Hydro_types.system ->
Hydro_types.htype -> bool -> Hydro_types.encap_buffer -> Hydro_types.value
unmarshal sys ht class_flag eb: Decodes the value at pos with length len in nb which is supposed to be of type ht and returns it.

The class_flag must be true if ht contains classes.

Logically, a whole encapsulation body is decoded (incl. the appendix for class values).

val unmarshal_exn : Hydro_types.system -> Hydro_types.encap_buffer -> Hydro_types.sliced_value
unmarshal_exn sys (nb,pos,len) : Decodes the exception value at pos with length len in nb and returns it. The exception can be any exception listed in sys.

Logically, a whole encapsulation body is decoded (incl. the appendix for class values).

val unmarshal_msg : Hydro_types.system ->
Hydro_types.msg_header -> Hydro_types.encap_buffer -> Hydro_types.msg
Returns a message for a message buffer (header and body)

Low-level



Internal & Low-level. These functions are also called by generated language-mapping code
val read_bool : string -> int -> bool
val read_byte : string -> int -> int
val read_short : string -> int -> int
val read_int : string -> int -> int
val read_int32 : string -> int -> int32
val read_int64 : string -> int -> int64
val read_float : string -> int -> float
val read_double : string -> int -> float
val unmarshal_bool : string -> int Pervasives.ref -> int -> bool
val unmarshal_byte : string -> int Pervasives.ref -> int -> int
val unmarshal_short : string -> int Pervasives.ref -> int -> int
val unmarshal_int : string -> int Pervasives.ref -> int -> int
val unmarshal_int32 : string -> int Pervasives.ref -> int -> int32
val unmarshal_int64 : string -> int Pervasives.ref -> int -> int64
val unmarshal_float : string -> int Pervasives.ref -> int -> float
val unmarshal_double : string -> int Pervasives.ref -> int -> float
val unmarshal_string : string -> int Pervasives.ref -> int -> string
val unmarshal_sequence : (string -> int Pervasives.ref -> int -> 'a) ->
string -> int Pervasives.ref -> int -> 'a array
val unmarshal_dictionary : (string -> int Pervasives.ref -> int -> 'a) ->
(string -> int Pervasives.ref -> int -> 'b) ->
string -> int Pervasives.ref -> int -> ('a * 'b) array
val unmarshal_enum : int -> string -> int Pervasives.ref -> int -> int
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml