pub struct Entry {
pub header: Header,
pub decompressed_size: u64,
pub data_offset: Offset,
}
Expand description
An representing an full- or delta-object within a pack
Fields§
§header: Header
The entry’s header
decompressed_size: u64
The decompressed size of the entry in bytes.
Note that for non-delta entries this will be the size of the object itself.
data_offset: Offset
absolute offset to compressed object data in the pack, just behind the entry’s header
Implementations§
source§impl Entry
impl Entry
Decoding
sourcepub fn from_bytes(
d: &[u8],
pack_offset: Offset,
hash_len: usize,
) -> Result<Entry, Error>
pub fn from_bytes( d: &[u8], pack_offset: Offset, hash_len: usize, ) -> Result<Entry, Error>
Decode an entry from the given entry data d
, providing the pack_offset
to allow tracking the start of the entry data section.
§Panics
If we cannot understand the header, garbage data is likely to trigger this.
source§impl Entry
impl Entry
Access
sourcepub fn base_pack_offset(&self, distance: u64) -> Offset
pub fn base_pack_offset(&self, distance: u64) -> Offset
Compute the pack offset to the base entry of the object represented by this entry.
sourcepub fn pack_offset(&self) -> Offset
pub fn pack_offset(&self) -> Offset
The pack offset at which this entry starts
sourcepub fn header_size(&self) -> usize
pub fn header_size(&self) -> usize
The amount of bytes used to describe this entry in the pack. The header starts at Self::pack_offset()
Trait Implementations§
source§impl<'de> Deserialize<'de> for Entry
impl<'de> Deserialize<'de> for Entry
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for Entry
impl Ord for Entry
source§impl PartialOrd for Entry
impl PartialOrd for Entry
impl Eq for Entry
impl StructuralPartialEq for Entry
Auto Trait Implementations§
impl Freeze for Entry
impl RefUnwindSafe for Entry
impl Send for Entry
impl Sync for Entry
impl Unpin for Entry
impl UnwindSafe for Entry
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)