Module Store_v1.Messages

Storage for persisting messages downloaded from the L1 node.

type +'a t

The type of indexed file store.

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

Returns the header for a key if it exists in the store.

Read a full value and header from the indexed file store.

val append : ?flush:bool -> [> `Write ] t -> key:Mavkit_smart_rollup.Merkelized_payload_hashes_hash.t -> header: (bool * Mavryk_base.TzPervasives.Block_hash.t * Mavryk_base.Time.Protocol.t * int) -> value:string list -> unit Mavryk_base.TzPervasives.tzresult Lwt.t

Append a new binding to the indexed file store.

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

Loads a new or existing indexed file store in the directory path.

val close : _ t -> unit Mavryk_base.TzPervasives.tzresult Lwt.t

Close the index and the file. One must call load again to read or write data in the store.

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 store 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 currently ongoing.

val is_gc_finished : 'a t -> bool

is_gc_finished t returns true if there is no GC running.