pub struct Entry {
pub header: Header,
pub header_size: u16,
pub pack_offset: u64,
pub compressed: Option<Vec<u8>>,
pub compressed_size: u64,
pub crc32: Option<u32>,
pub decompressed_size: u64,
pub trailer: Option<ObjectId>,
}
streaming-input
only.Expand description
An item of the iteration produced by BytesToEntriesIter
Fields§
§header: Header
The header of a pack entry
header_size: u16
The amount of bytes used to encode the header
. pack_offset + header_size
is the beginning of
the compressed data in the pack.
pack_offset: u64
The first byte of the entry at which the header
can be read.
compressed: Option<Vec<u8>>
The bytes consumed while producing decompressed
These do not contain the header, which makes it possible to easily replace a RefDelta with offset deltas
when resolving thin packs.
Depends on CompressionMode
when the iterator is initialized.
compressed_size: u64
The amount of bytes the compressed portion of the entry takes, i.e. the portion behind behind the header.
crc32: Option<u32>
The CRC32 over the complete entry, that is encoded header and compressed object data.
Depends on CompressionMode
when the iterator is initialized
decompressed_size: u64
The amount of decompressed bytes of the entry.
trailer: Option<ObjectId>
Set for the last object in the iteration, providing the hash over all bytes of the iteration for use as trailer in a pack or to verify it matches the trailer.
Implementations§
source§impl Entry
impl Entry
sourcepub fn from_data_obj(obj: &Data<'_>, pack_offset: u64) -> Result<Self, Error>
pub fn from_data_obj(obj: &Data<'_>, pack_offset: u64) -> Result<Self, Error>
Create a new input entry from a given data obj
set to be placed at the given pack_offset
.
This method is useful when arbitrary base entries are created
sourcepub fn bytes_in_pack(&self) -> u64
pub fn bytes_in_pack(&self) -> u64
The amount of bytes this entry may consume in a pack data file
sourcepub fn compute_crc32(&self) -> u32
pub fn compute_crc32(&self) -> u32
Update our CRC value by recalculating it from our header and compressed data.
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>,
source§impl Ord for Entry
impl Ord for Entry
source§impl PartialEq for Entry
impl PartialEq for Entry
source§impl PartialOrd for Entry
impl PartialOrd for Entry
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)