Module Header_protocol.New_single
type phantom
=[
|
`New_single
]
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_write, Iobuf.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.read, Iobuf.no_seek) Iobuf.t -> safe_pos:int -> safe_len:int -> 'a) -> 'a
val get_name_zero_padded : _ t -> ((Core.read, Iobuf.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_write, Iobuf.seek) Iobuf.t -> ('a -> (Core.read_write, Iobuf.seek) Iobuf.t -> unit) -> 'a -> unit
set_name_zero buf f a
callsf
onbuf
, with the window adjusted to wherename
is. Even thoughf
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 -> ('rw, Iobuf.seek) Iobuf.t
module Unpacked : sig ... end
val to_unpacked : 'rw t -> Unpacked.t
val of_unpacked : Unpacked.t -> 'rw t