package irmin-pack
Irmin backend which stores values in a pack file
Install
Dune Dependency
Authors
Maintainers
Sources
irmin-3.6.1.tbz
sha256=11fc2570bdbfd48478c89113fc801084a84a9a2c12d9bf8c64e05ce64ae19bd7
sha512=2171699ca24dec5c9c908a2676b272e034c14eb17f7052a794535e52af0be40be68a689e59c0a640ee244b11703320483f4d0c261542e6242ba23a8f1272b9b0
doc/src/irmin-pack.unix/mapping_file_intf.ml.html
Source file mapping_file_intf.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
(* * Copyright (c) 2022 Tarides <contact@tarides.com> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *) open! Import module type S = sig type t (** 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 : Io.S module Errs : Io_errors.S with module Io = Io type open_error := [ `Corrupted_mapping_file of string | `No_such_file_or_directory ] val create : ?report_mapping_size:(int63 -> unit) -> root:string -> generation:int -> register_entries:(register_entry:(off:int63 -> len:int -> unit) -> unit) -> unit -> (t, Errs.t) result (** [create] creates a mapping file inside the directory [root]. [register_entries] is a user callback that is responsible for calling [register_entry] for each live entry. It must be called with strictly decreasing offsets (or fails otherwise). Returns an error if the platform is not 64bits. *) val open_map : root:string -> generation:int -> (t, [> open_error ]) result (** [open_map ~root ~generation] opens a mapping file. *) val iter : t -> (off:int63 -> 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]). *) val iter_exn : t -> (off:int63 -> len:int -> unit) -> unit (** Similar to [iter mapping f] but raises exceptions. *) type entry = { off : int63; poff : int63; len : int } val find_nearest_leq : t -> int63 -> entry option (** [find_nearest_leq t off] returns the entry in [t] whose offset is the nearest [<=] the given [off] *) end module type Sigs = sig module type S = S module Make (Io : module type of Io.Unix) : S with module Io = Io end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>