package octez-l2-libs

  1. Overview
  2. Docs

Parameters

module _ : NAME
module K : INDEX_KEY
module V : Index.Value.S

Signature

type +'a t

The type of store built on indexes.

val load : path:string -> index_buffer_size:int -> 'a Store_sigs.mode -> 'a t Tezos_base.TzPervasives.tzresult Lwt.t

Load (or initializes) a store in the file path. If readonly is true, the store will only be accessed in read only mode.

val mem : [> `Read ] t -> K.t -> bool Tezos_base.TzPervasives.tzresult Lwt.t

Returns true if the key has a value associated in the store.

val find : [> `Read ] t -> K.t -> V.t option Tezos_base.TzPervasives.tzresult Lwt.t

Returns the value associated to a key in the store, or None otherwise.

val add : ?flush:bool -> [> `Write ] t -> K.t -> V.t -> unit Tezos_base.TzPervasives.tzresult Lwt.t

Add an association from a key to a value in the store. If flush (default to true) is set, the index is written on disk right away.

Closes the store. After this call the store cannot be accessed anymore (unless one calls load again).

val readonly : [> `Read ] t -> [ `Read ] t

readonly t returns a read only version of the store t.

gc ?async t filter garbage collects data stored in the index t by keeping only elements that satisfy the predicate filter. This call runs the GC asynchronously unless async is false. If a GC is already ongoing this new request is ignored and this call is a no-op.

val wait_gc_completion : 'a t -> unit Lwt.t

wait_gc_completion t returns a blocking thread if a GC run is ongoing.

val is_gc_finished : 'a t -> bool

is_gc_finished t returns true if there is no GC running.

OCaml

Innovation. Community. Security.