Skip to main content

PackBitmapIndex

Struct PackBitmapIndex 

Source
pub struct PackBitmapIndex {
    pub version: u16,
    pub format: ObjectFormat,
    pub options: u16,
    pub pack_checksum: ObjectId,
    pub index_checksum: ObjectId,
    pub type_bitmaps: PackBitmapTypeBitmaps,
    pub entries: Vec<PackBitmapEntry>,
    pub name_hash_cache: Option<Vec<u32>>,
}

Fields§

§version: u16§format: ObjectFormat§options: u16§pack_checksum: ObjectId§index_checksum: ObjectId§type_bitmaps: PackBitmapTypeBitmaps§entries: Vec<PackBitmapEntry>§name_hash_cache: Option<Vec<u32>>

Implementations§

Source§

impl PackBitmapIndex

Source

pub const OPTION_FULL_DAG: u16 = 0x0001

Source

pub const OPTION_HASH_CACHE: u16 = 0x0004

Source

pub fn parse( bytes: &[u8], format: ObjectFormat, object_count: usize, ) -> Result<Self>

Source

pub fn entry_for_index_position( &self, position: u32, ) -> Option<&PackBitmapEntry>

Looks up the stored entry whose commit sits at position in the oid-sorted pack index (.idx order; see PackBitmapEntry::object_position).

Source§

impl PackBitmapIndex

Source

pub fn write(&self) -> Result<Vec<u8>>

Serialises this index into git’s on-disk .bitmap byte layout.

This is the exact inverse of PackBitmapIndex::parse: signature BITM, version (u16 BE), options (u16 BE), entry count (u32 BE), the pack checksum, the four type bitmaps (commits, trees, blobs, tags), each commit entry (object position, XOR offset, flags, EWAH bitmap), the optional name-hash cache, and finally the trailing index checksum over everything written so far.

The index_checksum field of self is ignored and recomputed from the serialised body. Returns an error for unsupported versions, mismatched object-id formats, an oversized entry table, or an inconsistent name-hash cache.

Trait Implementations§

Source§

impl Clone for PackBitmapIndex

Source§

fn clone(&self) -> PackBitmapIndex

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PackBitmapIndex

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for PackBitmapIndex

Source§

impl PartialEq for PackBitmapIndex

Source§

fn eq(&self, other: &PackBitmapIndex) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for PackBitmapIndex

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.