Skip to main content

Builder

Struct Builder 

Source
pub struct Builder<B> { /* private fields */ }
Expand description

A stateful format-neutral archive construction engine.

Create this wrapper with ArchiveBuilder::builder or ArchiveBuilder::builder_with_policy.

Implementations§

Source§

impl<B: ArchiveBuilder> Builder<B>

Source

pub async fn add_entry<P, D>( &mut self, path: P, data: D, metadata: EntryMetadata, ) -> Result<(), BuildError<B::Error>>
where P: AsRef<Path>, D: AsRef<[u8]>,

Adds one regular file from an in-memory byte buffer.

Source

pub async fn add_directory<P: AsRef<Path>>( &mut self, source: P, ) -> Result<(), BuildError<B::Error>>

Recursively adds a filesystem directory beneath its UTF-8 basename.

Entries are visited in deterministic sorted order and files are streamed with bounded memory. Source symbolic links are rejected by default; BuilderPolicy::symlink_policy can instead preserve them. A late traversal or validation failure may leave partial output and poison this builder.

Source

pub async fn finish(self) -> Result<(), BuildError<B::Error>>

Finalizes and consumes this archive builder.

Callers that need to retain access to an output sink should lend it to the format writer before wrapping it rather than transferring ownership.

Auto Trait Implementations§

§

impl<B> Freeze for Builder<B>
where B: Freeze,

§

impl<B> RefUnwindSafe for Builder<B>
where B: RefUnwindSafe,

§

impl<B> Send for Builder<B>
where B: Send,

§

impl<B> Sync for Builder<B>
where B: Sync,

§

impl<B> Unpin for Builder<B>
where B: Unpin,

§

impl<B> UnsafeUnpin for Builder<B>
where B: UnsafeUnpin,

§

impl<B> UnwindSafe for Builder<B>
where B: UnwindSafe,

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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.