Struct git_odb::pack::data::output::Entry[][src]

pub struct Entry {
    pub id: ObjectId,
    pub object_kind: Kind,
    pub entry_kind: Kind,
    pub decompressed_size: usize,
    pub compressed_data: Vec<u8>,
}

An entry to be written to a file.

Fields

id: ObjectId

The hash of the object to write

object_kind: Kind

The kind of packed object

entry_kind: Kind

The kind of entry represented by data. It’s used alongside with it to complete the pack entry at rest or in transit.

decompressed_size: usize

The size in bytes needed once data gets decompressed

compressed_data: Vec<u8>

The compressed data right behind the header

Implementations

impl Entry[src]

pub fn from_data(
    oid: impl Into<ObjectId>,
    obj: &Object<'_>
) -> Result<Self, Error>
[src]

Create a new instance from the given oid and its corresponding git object data.

pub fn to_entry_header(
    &self,
    version: Version,
    index_to_pack: impl FnOnce(usize) -> u64
) -> Header
[src]

Transform ourselves into pack entry header of version which can be written into a pack.

index_to_pack(nth_before) -> pack_offset is a function to convert the base object’s offset as index into an array to an offset into the pack. This information is known to the one calling the method.

Trait Implementations

impl Clone for Entry[src]

impl Debug for Entry[src]

impl<'de> Deserialize<'de> for Entry[src]

impl Eq for Entry[src]

impl Hash for Entry[src]

impl Ord for Entry[src]

impl PartialEq<Entry> for Entry[src]

impl PartialOrd<Entry> for Entry[src]

impl Serialize for Entry[src]

impl StructuralEq for Entry[src]

impl StructuralPartialEq for Entry[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash

impl<T> Conv for T

impl<T> Conv for T

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

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

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

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,