Module Header_protocol.New_group

type phantom = [
| `New_group
]
type nonrec -'rw t = (phantom'rw) t constraint 'rw = [> Core.read ]
val sexp_of_t : ('rw -> Ppx_sexp_conv_lib.Sexp.t) -> 'rw t -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : (Ppx_sexp_conv_lib.Sexp.t -> 'rw) -> Ppx_sexp_conv_lib.Sexp.t -> 'rw t
val message_type : char
val buffer_length : int
val of_iobuf_exn : ('rw_) Iobuf.t -> 'rw t
val write : id:Probe_id.t -> spec:Probe_type.t -> name:string -> (Core.read_write_) Iobuf.t -> int
val create : id:Probe_id.t -> spec:Probe_type.t -> name:string -> (Core.read_writeIobuf.seek) Iobuf.t
val get_message_length : _ t -> int
val get_message_type : _ t -> char
val get_id : _ t -> Probe_id.t
val get_spec : _ t -> Probe_type.t
val name_max_len : int
val get_name : _ t -> string
val get_name_zero : _ t -> ((Core.readIobuf.no_seek) Iobuf.t -> safe_pos:int -> safe_len:int -> 'a) -> 'a
val get_name_zero_padded : _ t -> ((Core.readIobuf.no_seek) Iobuf.t -> safe_pos:int -> safe_len:int -> 'a) -> 'a
val set_id : (Core.read_write_) Iobuf.t -> Probe_id.t -> unit
val set_spec : (Core.read_write_) Iobuf.t -> Probe_type.t -> unit
val set_name : (Core.read_write_) Iobuf.t -> string -> unit
val set_name_zero : (Core.read_writeIobuf.seek) Iobuf.t -> ('a -> (Core.read_writeIobuf.seek) Iobuf.t -> unit) -> 'a -> unit

set_name_zero buf f a calls f on buf, with the window adjusted to where name is. Even though f is given a seekable buffer, it must move nothing except the lower bound of the window past the data it wrote.

val to_sub_iobuf : 'rw t -> ('rwIobuf.seek) Iobuf.t
module Unpacked : sig ... end
val to_unpacked : 'rw t -> Unpacked.t
val of_unpacked : Unpacked.t -> 'rw t