Irmin backend which stores values in a pack file
Module type
Class type
Library irmin-pack
Module Irmin_pack
module Conf : sig ... end
module Indexing_strategy : sig ... end
module Inode : sig ... end
module Pack_key : sig ... end
module Pack_value : sig ... end

This module defines abstractions over entries in the pack file, which are encoded as follows:

val config : ?fresh:bool -> ?readonly:bool -> ?lru_size:int -> ?index_log_size:int -> ?merge_throttle:Conf.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

Configuration options for stores.

  • parameter fresh

    whether an existing store should be overwritten.

  • parameter read_only

    whether read-only mode is enabled for this store.

  • parameter lru_size

    the maximum number of bindings in the lru cache.

  • parameter index_log_size

    the maximum number of bindings in the index cache.

  • parameter index_throttle

    the strategy to use when the index cache is full and an async Index.merge in already in progress. Block_writes (the default) blocks any new writes until the merge is completed. Overcommit_memory does not block but indefinitely expands the in-memory cache.

  • parameter indexing_strategy

    The indexing strategy of the backend store. Defaults to Indexing_strategy.default.

exception RO_not_allowed
module type S = S.S
module type Specifics = S.Specifics
module type Maker = S.Maker
module type Maker_persistent = S.Maker_persistent
module Stats : sig ... end
module Layout : sig ... end
module Indexable : sig ... end
module Atomic_write : sig ... end
module Version : sig ... end

Management of disk-format versions.

module S : sig ... end