Module Mavryk_layer2_store.Store_sigs

type path = string list

The type of a path. paths are strings. They are used to determine the location where the data should be persisted on disk.

type key_path_representation = string

Keys in Map-like storage functors are represented as strings.

type rw = [
  1. | `Read
  2. | `Write
]
type ro = [
  1. | `Read
]
type _ mode =
  1. | Read_only : ro mode
  2. | Read_write : rw mode
module type BACKEND = sig ... end

BACKEND is the module type defining the backend for persisting data to disk. It is used by the functors in Store_utils to create Storage modules that persist data structures on disk.

module type Mutable_value = sig ... end

Module type respresenting a Mutable_value that is persisted on store.

module type STORAGE_INFO = sig ... end

This module contains information about where to store and retrieve contents of storage persisted on disk.

module type KEY = sig ... end

KEY is a module type used to construct Map-like storage modules. It defines how keys are used to determine a path on disk.

module type VALUE = sig ... end

VALUE is a module type to define values that will be persisted on disk via storage modules.

module type Map = sig ... end

Generic module type for maps to be persisted on disk.

module type Append_only_map = sig ... end

Generic module type for append-only maps to be persisted on disk.

module type Nested_map = sig ... end

Nested_map is a map where values are indexed by both a primary and secondary key. It allows more flexibility over a map whose keys are tupls of the form `(primary_key, secondary_key)`. In particular, it provides functions to retrieve all the bindings in a map that share the same primary_key.

module type COMPARABLE_KEY = sig ... end

COMPARABLE_KEY is a module type used to define secondary keys in nested maps.

module type Store = sig ... end