package irmin-pack
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=9cfb7291a7d90ca0e55ece33040ad41e74cadd8c6446e04c33558bc1a1951518
sha512=9605acd77de9aae70ae96554a28594e6ed5beba70a48145c0fc2204b32bb23b843ba98cf034e88391581d5f3495154195c644d64a3aa3f8d3994a9c5518c5cda
doc/irmin-pack.unix/Irmin_pack_unix/Index/Make/index.html
Module Index.Make
Source
Parameters
module K : Irmin.Hash.S
Signature
include Index.S
with type value = Optint.Int63.t * int * Irmin_pack.Pack_value.Kind.t
with type key = K.t
The type for indexes.
The type for values.
The type for caches of index instances.
replace t k v
binds k
to v
in t
, replacing any existing binding of k
.
If overcommit
is true, the operation does not triger a merge, even if the caches are full. By default overcommit
is false.
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:
- Order is not specified.
- In case of recent replacements of existing values (since the last merge), this will hit both the new and old bindings.
- May not observe recent concurrent updates to the index by other processes.
Flushes all internal buffers of the IO
instances.
- Passing
~no_callback:()
disables calling theflush_callback
passed tov
. - If
with_fsync
istrue
, this also flushes the OS caches for eachIO
instance.
sync t
syncs a read-only index with the files on disk. Raises RW_not_allowed
if called by a read-write index.
is_merging t
returns true if t
is running a merge. Raises RO_not_allowed
if called by a read-only index.
try_merge
is like merge
but is a no-op if the number of entries in the write-ahead log is smaller than log_size
.
val v :
?flush_callback:(unit -> unit) ->
?fresh:bool ->
?readonly:bool ->
?throttle:[ `Block_writes | `Overcommit_memory ] ->
?lru_size:int ->
log_size:int ->
string ->
t
Constructor for indices, memoized by (path, readonly)
pairs.