Trait git_odb::pack::cache::DecodeEntry[][src]

pub trait DecodeEntry {
    fn put(
        &mut self,
        pack_id: u32,
        offset: u64,
        data: &[u8],
        kind: Kind,
        compressed_size: usize
    );
fn get(
        &mut self,
        pack_id: u32,
        offset: u64,
        out: &mut Vec<u8>
    ) -> Option<(Kind, usize)>; }

A trait to model putting objects at a given pack offset into a cache, and fetching them.

It is used to speed up pack traversals.

Required methods

fn put(
    &mut self,
    pack_id: u32,
    offset: u64,
    data: &[u8],
    kind: Kind,
    compressed_size: usize
)
[src]

Store a fully decoded object at offset of kind with compressed_size and data in the cache.

It is up to the cache implementation whether that actually happens or not.

fn get(
    &mut self,
    pack_id: u32,
    offset: u64,
    out: &mut Vec<u8>
) -> Option<(Kind, usize)>
[src]

Attempt to fetch the object at offset and store its decoded bytes in out, as previously stored with DecodeEntry::put(), and return its (object kind, decompressed_size)

Loading content...

Implementors

impl DecodeEntry for MemoryCappedHashmap[src]

impl DecodeEntry for Never[src]

impl<const SIZE: usize> DecodeEntry for StaticLinkedList<SIZE>[src]

Loading content...