package irmin-pack
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 indefinitely
val 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
Size, in number of entries, of LRU cache. Default 100_000
.
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 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 ->
?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 ->
string ->
Irmin.config
init root
creates a backend configuration for storing data with default configuration parameters and stored at root
. Flags are documented above.