package irmin-pack
Irmin backend which stores values in a pack file
Install
Dune Dependency
Authors
Maintainers
Sources
irmin-3.4.3.tbz
sha256=6e430cf44aee5ffdc94f6bfad8dbc401e3ea036ed1fbcf2a8697198ecbf6d412
sha512=b969d0913f0776384fafc4f138cb5187a921e827fd9940d0b350601e1913bdecdfc5acc62ec0ff7c6906e230950a68b39bd886ba3fe37be52e1c6117ddce1791
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 79 80
(* * 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 : root:string -> generation:int -> register_entries:(register_entry:(off:int63 -> 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. *) 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)"
>