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>,
}
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

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

The amount of bytes this entry may consume in a pack data file

Update our CRC value by recalculating it from our header and compressed data.

Trait Implementations

source

impl Clone for Entry

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

source

impl Debug for Entry

Formats the value using the given formatter. Read more

source

impl<'de> Deserialize<'de> for Entry

Deserialize this value from the given Serde deserializer. Read more

source

impl Hash for Entry

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

source

impl Ord for Entry

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

source

impl PartialEq<Entry> for Entry

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

source

impl PartialOrd<Entry> for Entry

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

source

impl Serialize for Entry

Serialize this value into the given Serde serializer. Read more

source

impl Eq for Entry

source

impl StructuralEq for Entry

source

impl StructuralPartialEq for Entry

Auto Trait Implementations

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> Any for T where
    T: 'static + ?Sized

Gets the TypeId of self. Read more

source

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

Immutably borrows from an owned value. Read more

source

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

Mutably borrows from an owned value. Read more

source

impl<T> From<T> for T

Returns the argument unchanged.

source

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

Calls U::from(self).

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

impl<T> Pointable for T

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

source

impl<T> ToOwned for T where
    T: Clone

The resulting type after obtaining ownership.

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

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

source

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

The type returned in the event of a conversion error.

Performs the conversion.

source

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

The type returned in the event of a conversion error.

Performs the conversion.

source

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>,