package octez-internal-libs

  1. Overview
  2. Docs
A package that contains some libraries used by the Octez suite

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65

doc/irmin_pack_unix/Irmin_pack_unix/Dispatcher/Make/index.html

Module Dispatcher.MakeSource

Parameters

module Fm : File_manager.S with module Io = Io.Unix

Signature

module Fm = Fm
Sourcetype t
Sourceval v : Fm.t -> (t, [> Fm.Errs.t ]) Stdlib.result
Sourceval read_exn : t -> off:Optint.Int63.t -> len:int -> ?volume_identifier:Lower.volume_identifier -> bytes -> Lower.volume_identifier option

read_exn t ~off ~len buffer writes into buffer the bytes from off to off+len. If the read occurred, in a lower volume, its identifier is returned.

If you know which volume to read from in the lower, provide volume_identifier to skip checking the prefix.

Note: read_exn is the only read function that supports reading in the lower.

Sourceval read_range_exn : t -> off:Optint.Int63.t -> min_len:int -> max_len:int -> ?volume_identifier:Lower.volume_identifier -> bytes -> int * Lower.volume_identifier option

Same as read_exn, the amount read is max_len if possible or at least min_len if reading more would step over a hole in the sparse file. Returns the actually read length and optionnaly the volume where the data was found.

Sourceval end_offset : t -> Optint.Int63.t

end_offset is the end offsets of the pack entries, counting that the prefix doesn't start at 0. It counts the entries not yet flushed from the prefix.

Sourceval suffix_start_offset : t -> Optint.Int63.t

suffix_start_offset is the offsets of the first pack entry in the suffix. All pack entries in the prefix fit below suffix_start_offset.

Sourceval offset_of_soff : t -> Optint.Int63.t -> Optint.Int63.t

offset_of_soff t suffix_off converts a suffix offset into a (global) offset.

Sourceval soff_of_offset : t -> Optint.Int63.t -> Optint.Int63.t

soff_of_offset t global_offset converts a global offset to a suffix offset.

Sourceval read_seq_exn : t -> off:Optint.Int63.t -> len:Optint.Int63.t -> string Irmin.Export_for_backends.Seq.t
Sourceval read_bytes_exn : t -> f:(string -> unit) -> off:Optint.Int63.t -> len:Optint.Int63.t -> unit

read_bytes_exn reads a slice of the global offset space defined by off and len.

The calls to f ignore the objects boundaries (i.e. the string passed to f will most of the time not be the beginning of an object).

The strings passed to f are safe. They can be kept around, they are not the result of an unsafe_to_string conversion.

The call will fail if the (off, len) range is invalid. It will succeed in these cases:

  • If the range designates a slice of the suffix.
  • If the range designates a slice of contiguous live bytes in the prefix
  • If the range designates a slice of contiguous live bytes that starts in the prefix and ends in the suffix. This implies that the last chunk of the prefix is contiguous to the start of the suffix.
Sourceval next_valid_offset : t -> off:Optint.Int63.t -> Optint.Int63.t option

next_valid_offset t ~off returns an offset greater or equal to off that can be read. Used to iterate over the entries while skipping over the holes in the sparse file.

OCaml

Innovation. Community. Security.