Up

Module Header_protocol

Signature

type (-'hierarchy, -'rw) t constraint 'rw = [>
| Core.Std.read
]
type ('hierarchy, 'rw) message = ('hierarchy, 'rw) t
val sexp_of_t : _ -> _ -> (_, _) t -> Core.Std.Sexp.t
type ('hierarchy, 'rw) t_no_exn = ('hierarchy, 'rw) t
val sexp_of_t_no_exn : _ -> _ -> (_, _) t_no_exn -> Core.Std.Sexp.t
val to_iobuf : (_, 'rw) t -> ('rw, Core.Std.Iobuf.no_seek) Core.Std.Iobuf.t
module R : sig .. end
module Message_type_and_errors : sig .. end
val get_message_type : ([> ], _) Core.Std.Iobuf.t -> Message_type_and_errors.packed

of_iobuf must be fed a message type that comes from a call to get_message_type on the same window, otherwise it may cause segfaults or nonsensical reads.

val of_iobuf : ('rw, _) Core.Std.Iobuf.t -> trusted:'ty Message_type_and_errors.t -> ('ty, 'rw) t

of_iobuf must be fed a message type that comes from a call to get_message_type on the same window, otherwise it may cause segfaults or nonsensical reads.

val of_iobuf_exn : ('rw, _) Core.Std.Iobuf.t -> 'ty Message_type_and_errors.t -> ('ty, 'rw) t
module New_single : sig .. end
module New_group : sig .. end
module New_group_point : sig .. end
module End_of_header : sig .. end
module Epoch : sig .. end
module Unpacked : sig .. end
val num_bytes_needed_for_message_length : int

Assuming the iobuf starts at a message, returns its length or raise if the window doesn't contain num_bytes_needed_for_message_length bytes.

val num_bytes_in_message : ([> ], _) Core.Std.Iobuf.t -> int

Assuming the iobuf starts at a message, returns its length or raise if the window doesn't contain num_bytes_needed_for_message_length bytes.

val skip_message : ([> ], Core.Std.Iobuf.seek) Core.Std.Iobuf.t -> unit

Equivalent to Iobuf.advance buf (num_bytes_in_message buf)

val of_unpacked : Unpacked.t -> (_, _) Core.Std.Iobuf.t
val to_unpacked : ([> ], _) Core.Std.Iobuf.t -> Unpacked.t R.t