Irmin_pack.Conf
module type S = sig ... end
val spec : Irmin.Backend.Conf.Spec.t
Strategy for when attempting to write when the index log is full and waiting for an in-progress merge to complete.
`Block_writes
will block writes`Overcommit_memory
will allow writes by growing the in-memory cache indefinitelyval merge_throttle_t : merge_throttle Irmin.Type.t
module Key : sig ... end
val fresh : Irmin.Backend.Conf.t -> bool
Flag to indicate that the store will start with fresh data on disk. Warning: setting this to true
will delete existing data. Default is false
.
val lru_size : Irmin.Backend.Conf.t -> int
Maximum size, in number of entries, of LRU cache. Default 100_000
. Unused if lru_max_memory
is set.
val lru_max_memory : Irmin.Backend.Conf.t -> int option
Maximum memory, in bytes, for the LRU cache to use. Default None
, which falls back to lru_size
for LRU limit.
val index_log_size : Irmin.Backend.Conf.t -> int
Size, in number of entries, of index log. Default 2_500_000
.
val readonly : Irmin.Backend.Conf.t -> bool
Flag for opening data in read-only mode. Default false
.
val merge_throttle : Irmin.Backend.Conf.t -> merge_throttle
Strategy for how to handle writes when index log is full and a merge is in-progress. Default `Block_writes
.
val root : Irmin.Backend.Conf.t -> string
Location of directory for saving data on disk.
Note: The path before the root directory must exist. Only the final directory in the path will be created if it is missing.
val lower_root : Irmin.Backend.Conf.t -> string option
Optional path for lower layer directory. Default None
.
The presence or not of a lower layer has implications on the behaviour of the GC: if a lower layer is present, the GC will archive data instead of deleting it.
val indexing_strategy : Irmin.Backend.Conf.t -> Indexing_strategy.t
Strategy for choosing which objects to index. See Indexing_strategy.t
for more discussion. Default Indexing_strategy.default
val use_fsync : Irmin.Backend.Conf.t -> bool
Flag to indicate that fsync should be used to enforce durability when flushing data to disk. Default false
.
val dict_auto_flush_threshold : Irmin.Backend.Conf.t -> int
Size, in bytes, when automatic flushing of dict file to disk. Default 1_000_000
.
val suffix_auto_flush_threshold : Irmin.Backend.Conf.t -> int
Size, in bytes, when automatic flushing of suffix file to disk. Default 1_000_000
.
val no_migrate : Irmin.Backend.Conf.t -> bool
Flag to prevent migration of data. Default false
.
val init :
?fresh:bool ->
?readonly:bool ->
?lru_size:int ->
?lru_max_memory:int option ->
?index_log_size:int ->
?merge_throttle:merge_throttle ->
?indexing_strategy:Indexing_strategy.t ->
?use_fsync:bool ->
?dict_auto_flush_threshold:int ->
?suffix_auto_flush_threshold:int ->
?no_migrate:bool ->
?lower_root:string option ->
string ->
Irmin.config
init root
creates a backend configuration for storing data with default configuration parameters and stored at root
. Flags are documented above.