package tezos-lazy-containers

  1. Overview
  2. Docs
A collection of lazy containers whose contents is fetched from arbitrary backend on-demand

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-17.3.tar.gz
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc

doc/tezos-lazy-containers/Tezos_lazy_containers/Immutable_chunked_byte_vector/index.html

Module Tezos_lazy_containers.Immutable_chunked_byte_vectorSource

Sourceexception Bounds
Sourceexception SizeOverflow
Sourcemodule Chunk : sig ... end
Sourcetype t

Chunked byte vector

Sourceval create : ?origin:Tezos_tree_encoding.wrapped_tree -> ?get_chunk:(int64 -> Chunk.t Lwt.t) -> int64 -> t

create 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.

origin 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.

Sourceval allocate : int64 -> t

allocate len creates a new zeroed chunked byte vector.

Note: This function may be dangerous to use in a tick if len is too large.

Sourceval of_string : string -> t

of_string str creates a chunked byte vector from the given str.

Sourceval of_bytes : bytes -> t

of_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.

Sourceval to_string : t -> string Lwt.t

to_string vector creates a string from the given vector.

Sourceval to_bytes : t -> bytes Lwt.t

to_bytes vector creates a bytes from the given vector.

Sourceval grow : t -> int64 -> t

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.

Sourceval length : t -> int64

length vector returns the length of vector in bytes.

Sourceval load_byte : t -> int64 -> int Lwt.t

load_byte vector offset read the byte at offset.

Sourceval load_bytes : t -> int64 -> int64 -> bytes Lwt.t

load_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.

Sourceval store_byte : t -> int64 -> int -> t Lwt.t

store_byte vector offset byte creates a new vector with the byte at offset set to byte.

Sourceval store_bytes : t -> int64 -> bytes -> t Lwt.t

store_bytes vector offset bytes creates a new vector with the bytes from offset set to the given bytes.

Sourceval loaded_chunks : t -> (int64 * Chunk.t option) list

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.

encoding is a Tezos_tree_encoding for t.

OCaml

Innovation. Community. Security.