package irmin-pack

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

Install

Dune Dependency

Authors

Maintainers

Sources

irmin-3.4.0.tbz
sha256=9e72efdc13324602d8da46e0492b1f4e09ad524149845e1a9106882f60ad6e1f
sha512=ae9cb4b086c7b93962aafc2ea339ac85c6d66bdf769f70a16f62fa5c74d9b194e12ac00b510be5ffac5adff3aa20fd69c4ca4067dcc966767fefcf5c02bc9969

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.

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 -> string -> Irmin.config

init root creates a backend configuration for storing data with default configuration parameters and stored at root. Flags are documented above.

OCaml

Innovation. Community. Security.