Store_v1.MessagesStorage for persisting messages downloaded from the L1 node.
val mem :
[> `Read ] t ->
Mavkit_smart_rollup.Merkelized_payload_hashes_hash.t ->
bool Mavryk_base.TzPervasives.tzresult Lwt.tReturns true if the key has a value associated in the store.
val header :
[> `Read ] t ->
Mavkit_smart_rollup.Merkelized_payload_hashes_hash.t ->
(bool
* Mavryk_base.TzPervasives.Block_hash.t
* Mavryk_base.Time.Protocol.t
* int)
option
Mavryk_base.TzPervasives.tzresult
Lwt.tReturns the header for a key if it exists in the store.
val read :
[> `Read ] t ->
Mavkit_smart_rollup.Merkelized_payload_hashes_hash.t ->
(string list
* (bool
* Mavryk_base.TzPervasives.Block_hash.t
* Mavryk_base.Time.Protocol.t
* int))
option
Mavryk_base.TzPervasives.tzresult
Lwt.tRead 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.tAppend 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.tLoads a new or existing indexed file store in the directory path.
val close : _ t -> unit Mavryk_base.TzPervasives.tzresult Lwt.tClose the index and the file. One must call load again to read or write data in the store.
val gc :
?async:bool ->
Mavryk_layer2_store.Store_sigs.rw t ->
(Mavkit_smart_rollup.Merkelized_payload_hashes_hash.t ->
(bool
* Mavryk_base.TzPervasives.Block_hash.t
* Mavryk_base.Time.Protocol.t
* int) ->
string list ->
bool Mavryk_base.TzPervasives.tzresult Lwt.t) ->
unit Mavryk_base.TzPervasives.tzresult Lwt.tgc ?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.twait_gc_completion t returns a blocking thread if a GC run is currently ongoing.
val is_gc_finished : 'a t -> boolis_gc_finished t returns true if there is no GC running.