Mavryk_lazy_containers.Immutable_chunked_byte_vectormodule Chunk : sig ... endval create :
?origin:Mavryk_tree_encoding.wrapped_tree ->
?get_chunk:(int64 -> Chunk.t Lwt.t) ->
int64 ->
tcreate length creates a chunked byte vector that has capacity for length bytes.
Note: This function is expected to be used only by the tree-encoding library. To create a brand new chunked byte vector, use allocate.
val origin : t -> Mavryk_tree_encoding.wrapped_tree optionorigin vec returns the tree of origin of the vector, if it exists.
Note: The sole consumer of this function is expected to be the tree-encoding library.
val allocate : int64 -> tallocate len creates a new zeroed chunked byte vector.
Note: This function may be dangerous to use in a tick if len is too large.
val of_string : string -> tof_string str creates a chunked byte vector from the given str.
val of_bytes : bytes -> tof_bytes bytes creates a chunked byte vector from the given bytes. The underlying memory is effectively copied - further modifications to bytes are not reflected in the chunked byte vector. Use this over of_string when turning your bytes into a string would be potentially expensive.
val to_string : t -> string Lwt.tto_string vector creates a string from the given vector.
val to_bytes : t -> bytes Lwt.tto_bytes vector creates a bytes from the given vector.
grow vector length_delta creates a new vector with the byte vector length increased by length_delta and initializes the memory with empty chunks.
Note: This function may be dangerous to use in a tick if length_delta is too large.
val length : t -> int64length vector returns the length of vector in bytes.
val load_byte : t -> int64 -> int Lwt.tload_byte vector offset read the byte at offset.
val load_bytes : t -> int64 -> int64 -> bytes Lwt.tload_bytes vector offset num_bytes loads the bytes at offset to offset + num_bytes.
Note: This function may be dangerous to use in a tick if num_bytes is too large.
store_byte vector offset byte creates a new vector with the byte at offset set to byte.
store_bytes vector offset bytes creates a new vector with the bytes from offset set to the given bytes.
loaded_chunks vector returns the chunks of vector that have been cached in-memory since vector has been created, either by reading its contents, or by writing to those chunks.
val encoding : t Mavryk_tree_encoding.tencoding is a Mavryk_tree_encoding for t.