package irmin-pack

  1. Overview
  2. No Docs
Irmin backend which stores values in a pack file

Install

dune-project
 Dependency

Authors

Maintainers

Sources

irmin-3.7.2.tbz
sha256=6aa5ba4c6a0233747d4bd3ab396f2b3a33bb80f9d8ed4a178c83a035033c0e52
sha512=8a5506a57e8569a11c883ca25b3c60ae7a9a03c2da111668193d7b4296434c43f1a310e78f189e4b38c234da790259d2961c6a0ae481282c18bb97f618fccfb6

doc/irmin-pack/Irmin_pack/Conf/index.html

Module Irmin_pack.ConfSource

Sourcetype length_header = [ `Varint ] option
Sourcetype inode_child_order = [
  1. | `Seeded_hash
    (*

    use a non-crypto seeded-hash of the step

    *)
  2. | `Hash_bits
    (*

    crypto hash the step and extract the relevant bits.

    *)
  3. | `Custom of depth:int -> bytes -> int
    (*

    use a custom index

    *)
]
Sourcemodule type S = sig ... end
Sourcetype merge_throttle = [
  1. | `Block_writes
  2. | `Overcommit_memory
]

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
Sourceval merge_throttle_t : merge_throttle Irmin.Type.t
Sourcemodule Key : sig ... end
Sourceval 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.

Sourceval lru_size : Irmin.Backend.Conf.t -> int

Size, in number of entries, of LRU cache. Default 100_000.

Sourceval index_log_size : Irmin.Backend.Conf.t -> int

Size, in number of entries, of index log. Default 2_500_000.

Sourceval readonly : Irmin.Backend.Conf.t -> bool

Flag for opening data in read-only mode. Default false.

Strategy for how to handle writes when index log is full and a merge is in-progress. Default `Block_writes.

Sourceval 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.

Sourceval 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.

Strategy for choosing which objects to index. See Indexing_strategy.t for more discussion. Default Indexing_strategy.default

Sourceval 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.

Sourceval dict_auto_flush_threshold : Irmin.Backend.Conf.t -> int

Size, in bytes, when automatic flushing of dict file to disk. Default 1_000_000.

Sourceval suffix_auto_flush_threshold : Irmin.Backend.Conf.t -> int

Size, in bytes, when automatic flushing of suffix file to disk. Default 1_000_000.

Sourceval no_migrate : Irmin.Backend.Conf.t -> bool

Flag to prevent migration of data. Default false.

Sourceval 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 -> ?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.