package irmin-pack

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type gced = {
  1. suffix_start_offset : Optint.Int63.t;
  2. generation : int;
  3. latest_gc_target_offset : Optint.Int63.t;
  4. suffix_dead_bytes : Optint.Int63.t;
}

Similar to from_v3_gced. New fields:

latest_gc_target_offset is the commit on which the latest gc was called on.

suffix_dead_bytes is the number of bytes at the beginning of the suffix that should be considered unreachable after a GC.

val gced_t : gced Irmin.Type.t
type status =
  1. | No_gc_yet
  2. | Used_non_minimal_indexing_strategy
  3. | Gced of gced
  4. | T1
  5. | T2
  6. | T3
  7. | T4
  8. | T5
  9. | T6
  10. | T7
  11. | T8
  12. | T9
  13. | T10
  14. | T11
  15. | T12
  16. | T13
  17. | T14
  18. | T15

From_v1_v2_post_upgrade similar to Payload_v3.From_v1_v2_post_upgrade

No_gc_yet corresponds to a pack store that was created using `V3 or above. It never underwent a GC.

Used_non_minimal_indexing_strategy corresponds to a pack store that was created using `V3 or above. It never underwent a GC and it will never be possible to GC it because entries were pushed using a non-minimal indexing strategy.

Gced is a `V3 or `V4 store that was GCed at least once.

The T* tags are provisional tags that the binary decoder is aware of and that may in the future be used to add features to the `V4 payload.

val status_t : status Irmin.Type.t
type t = {
  1. dict_end_poff : Optint.Int63.t;
  2. appendable_chunk_poff : Optint.Int63.t;
  3. upgraded_from_v3_to_v4 : bool;
  4. checksum : Optint.Int63.t;
  5. chunk_start_idx : int;
  6. chunk_num : int;
  7. status : status;
}

The same as Payload_v3.t, with the following modifications:

New fields

  • upgraded_from_v3_to_v4 recalls if the store was originally created in `V3.
  • chunk_start_idx is the index for the starting chunk of the suffix
  • chunk_num is the number of chunks in the suffix
  • checksum for storing a checksum of the payload
  • appendable_chunk_poff is a value used by the chunked suffix. See Chunked_suffix.S.appendable_chunk_poff for more details.

Removed fields

  • suffix_end_poff is replaced by appendable_chunk_poff
val t : t Irmin.Type.t