gix_pack/multi_index/
mod.rs1use std::path::PathBuf;
2
3use memmap2::Mmap;
4
5#[derive(Default, PartialEq, Eq, Ord, PartialOrd, Debug, Hash, Clone, Copy)]
7#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
8#[allow(missing_docs)]
9pub enum Version {
10 #[default]
11 V1 = 1,
12}
13
14pub type PackIndex = u32;
16
17pub type EntryIndex = u32;
19
20pub struct File {
23 data: Mmap,
24 path: std::path::PathBuf,
25 version: Version,
26 hash_len: usize,
27 object_hash: gix_hash::Kind,
28 num_indices: u32,
30 num_objects: u32,
31
32 fan: [u32; 256],
33 index_names: Vec<PathBuf>,
34 lookup_ofs: usize,
35 offsets_ofs: usize,
36 large_offsets_ofs: Option<usize>,
37}
38
39pub mod write;
41
42mod access;
44
45pub mod verify;
47
48pub mod chunk;
50
51pub mod init;