Private.Makemodule V : Index.Valueinclude Index.S with type key = K.t with type value = V.ttype key = K.tThe type for keys.
type value = V.tThe type for values.
val v : ?fresh:bool -> ?readonly:bool -> log_size:int -> string -> tThe constructor for indexes.
val clear : t -> unitclear t clears t so that there are no more bindings in it.
exception Invalid_key_size of keyexception Invalid_value_size of valueThe exceptions raised when trying to add a key or a value of different size than encoded_size
replace t k v binds k to v in t, replacing any existing binding of k.
filter t p removes all the bindings (k, v) that do not satisfy p. This operation is costly and blocking.
Iterates over the index bindings. Limitations:
val flush : ?with_fsync:bool -> t -> unitFlushes all internal buffers of the IO instances. If with_fsync is true, this also flushes the OS caches for each IO instance.
val close : t -> unitCloses all resources used by t.
val force_merge : ?hook:[ `After | `Before ] Index.Private.Hook.t -> t -> asyncforce_merge t forces a merge for t. Optionally, a hook can be passed that will be called twice:
`Before: immediately before merging (while holding the merge lock);`After: immediately after merging (while holding the merge lock).val await : async -> unitWait for an asynchronous computation to finish.