Skip to main content

PackFile

Struct PackFile 

Source
pub struct PackFile;
Expand description

Writer/reader for .pack files.

Implementations§

Source§

impl PackFile

Source

pub fn create( pack_dir: &Path, objects: &[(Hash, Vec<u8>)], ) -> Result<(PathBuf, PathBuf), PackError>

Write a new pack file (and its index) containing objects.

The pack name is derived from the BLAKE3 hash of the index, so identical packs are naturally deduplicated on disk.

Source

pub fn read_blob( pack_path: &Path, index: &PackIndex, hash: &Hash, ) -> Result<Vec<u8>, PackError>

Read a single blob out of a pack file, verifying its digest.

Source

pub fn list_packs(pack_dir: &Path) -> Result<Vec<PathBuf>>

List all .pack files in pack_dir (sorted). An absent directory yields an empty list.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.