Irmin_pack.Confmodule type S = sig ... endval spec : Irmin.Backend.Conf.Spec.tStrategy 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.tmodule Key : sig ... endval fresh : Irmin.Backend.Conf.t -> boolFlag 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 -> intMaximum 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 optionMaximum 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 -> intSize, in number of entries, of index log. Default 2_500_000.
val readonly : Irmin.Backend.Conf.t -> boolFlag for opening data in read-only mode. Default false.
val merge_throttle : Irmin.Backend.Conf.t -> merge_throttleStrategy 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 -> stringLocation 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 optionOptional 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.tStrategy for choosing which objects to index. See Indexing_strategy.t for more discussion. Default Indexing_strategy.default
val use_fsync : Irmin.Backend.Conf.t -> boolFlag 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 -> intSize, in bytes, when automatic flushing of dict file to disk. Default 1_000_000.
val suffix_auto_flush_threshold : Irmin.Backend.Conf.t -> intSize, in bytes, when automatic flushing of suffix file to disk. Default 1_000_000.
val no_migrate : Irmin.Backend.Conf.t -> boolFlag 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.configinit root creates a backend configuration for storing data with default configuration parameters and stored at root. Flags are documented above.