package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Collections of access functions. These abstract over Iobuf.Consume, Iobuf.Fill, Iobuf.Peek, and Iobuf.Poke.

Make all labeled arguments mandatory in string and bigstring to avoid accidental allocation in, e.g., Iobuf.Poke.string. For convenience, stringo and bigstringo are available by analogy between blit and blito.

_trunc functions silently truncate values that don't fit. For example, Iobuf.Unsafe.Poke.int8 128 effectively writes -128.

type ('a, 'd, 'w) t constraint 'd = [> Core_kernel.Perms.Read.t ]

('d, 'w) Iobuf.t accessor function manipulating 'a, either writing it to the iobuf or reading it from the iobuf.

type 'a bin_prot
val char : (char, 'd, 'w) t
val int64_t_be : (Core_kernel.Int64.t, 'd, 'w) t
val int64_t_le : (Core_kernel.Int64.t, 'd, 'w) t
val head_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t
val tail_padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t
val string : str_pos:int -> len:int -> (string, 'd, 'w) t
val bytes : str_pos:int -> len:int -> (Core_kernel.Bytes.t, 'd, 'w) t
val bigstring : str_pos:int -> len:int -> (Core_kernel.Bigstring.t, 'd, 'w) t
val stringo : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val byteso : ?str_pos:int -> ?len:int -> (Core_kernel.Bytes.t, 'd, 'w) t
val bigstringo : ?str_pos:int -> ?len:int -> (Core_kernel.Bigstring.t, 'd, 'w) t
val bin_prot : 'a bin_prot -> ('a, 'd, 'w) t