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.unix/Irmin_pack_unix/Mapping_file/Make/index.html

Module Mapping_file.MakeSource

Parameters

module Io : module type of Io.Unix

Signature

Sourcetype t

A mapping file is a map from global offsets to prefix offsets.

Sourcemodule Io = Io
Sourcemodule Errs : Io_errors.S with module Io = Io
type open_error := [
  1. | `Corrupted_mapping_file of string
  2. | `No_such_file_or_directory
]
Sourceval create : root:string -> generation:int -> register_entries: (register_entry:(off:Optint.Int63.t -> len:int -> unit) -> unit) -> (t, [> Errs.t ]) result

create creates inside the directory root a mapping file. It never raises exceptions.

register_entries is a user callback that is responsible for calling register_entry for each live entry. Duplicates allowed, no specfic order expected.

Returns an error if the platform is not 64bits.

Creates temporary files in root that are unlinked before the function returns.

Sourceval open_map : root:string -> generation:int -> (t, [> open_error ]) result

open_map ~root ~generation opens a mapping file reading.

Sourceval iter : t -> (off:Optint.Int63.t -> len:int -> unit) -> (unit, [> Errs.t ]) result

iter mapping f calls f on each (off,len) pair in mapping.

It is guaranteed for the offsets to be iterated in monotonic order.

It is guaranteed that entries don't overlap.

The exceptions raised by f are caught and returned (as long as they are known by Errs).

Sourcetype entry = {
  1. off : Optint.Int63.t;
  2. poff : Optint.Int63.t;
  3. len : int;
}
Sourceval find_nearest_leq : t -> Optint.Int63.t -> entry option

find_nearest_leq t off returns the entry in t whose offset is the nearest <= the given off

OCaml

Innovation. Community. Security.