package irmin-pack
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=2a1e6a7577e498fbfeb678d666da210dc48d1344637e8ecb653e1dd88c640b5f
sha512=3fb6f49a1af2f8bab1df5b6f5affaaa09f09fe892a08eb2d9de58138e56646d4a6797f3c087b22875e36e3411218ab2435fe5437ac78f323dd661932af021fad
doc/irmin-pack.unix/Irmin_pack_unix/File_manager/Make/argument-3-Mapping_file/index.html
Parameter Make.Mapping_file
A mapping file is a collection of chunks which contain 3 integers. A length, the global offset (off) of the chunk and the offset of the chunk in the prefix file (poff).
The chunks have consecutive poff with respect to their lengths.
There is no need to close a t because its underlying file-descriptor is always closed.
module Io = Iomodule Errs : Io_errors.S with module Io = Iotype file_sizes := Optint.Int63.t * Optint.Int63.t * Optint.Int63.tval create :
?report_file_sizes:(file_sizes -> unit) ->
root:string ->
generation:int ->
register_entries:
(register_entry:(off:Optint.Int63.t -> len:int -> unit) -> unit) ->
unit ->
(t, Errs.t) resultcreate 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.
val open_map : root:string -> generation:int -> (t, [> open_error ]) resultopen_map ~root ~generation opens a mapping file.
val iter :
t ->
(off:Optint.Int63.t -> len:int -> unit) ->
(unit, Errs.t) resultiter 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).
val iter_exn : t -> (off:Optint.Int63.t -> len:int -> unit) -> unitSimilar to iter mapping f but raises exceptions.
val find_nearest_leq : t -> Optint.Int63.t -> entry optionfind_nearest_leq t off returns the entry in t whose offset is the nearest <= the given off