package irmin-pack
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=6aa5ba4c6a0233747d4bd3ab396f2b3a33bb80f9d8ed4a178c83a035033c0e52
sha512=8a5506a57e8569a11c883ca25b3c60ae7a9a03c2da111668193d7b4296434c43f1a310e78f189e4b38c234da790259d2961c6a0ae481282c18bb97f618fccfb6
doc/irmin-pack.unix/Irmin_pack_unix/Control_file/Payload/Upper/V4/index.html
Module Upper.V4
Source
type gced = {
suffix_start_offset : Optint.Int63.t;
generation : int;
latest_gc_target_offset : Optint.Int63.t;
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.
type status =
| From_v1_v2_post_upgrade of V3.from_v1_v2_post_upgrade
| No_gc_yet
| Used_non_minimal_indexing_strategy
| Gced of gced
| T1
| T2
| T3
| T4
| T5
| T6
| T7
| T8
| T9
| T10
| T11
| T12
| T13
| T14
| T15
From_v1_v2_post_upgrade
similar to 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.
type t = {
dict_end_poff : Optint.Int63.t;
appendable_chunk_poff : Optint.Int63.t;
upgraded_from_v3_to_v4 : bool;
checksum : Optint.Int63.t;
chunk_start_idx : int;
chunk_num : int;
status : status;
}
The same as 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 suffixchunk_num
is the number of chunks in the suffixchecksum
for storing a checksum of the payloadappendable_chunk_poff
is a value used by the chunked suffix. SeeChunked_suffix.S.appendable_chunk_poff
for more details.
Removed fields
suffix_end_poff
is replaced byappendable_chunk_poff