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 more