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.