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> Builder<B>where
B: ArchiveBuilder,
impl<B> Builder<B>where
B: ArchiveBuilder,
Sourcepub async fn add_entry<P, D>(
&mut self,
path: P,
data: D,
metadata: EntryMetadata,
) -> Result<(), BuildError<<B as ArchiveBuilder>::Error>>
pub async fn add_entry<P, D>( &mut self, path: P, data: D, metadata: EntryMetadata, ) -> Result<(), BuildError<<B as ArchiveBuilder>::Error>>
Adds one regular file from an in-memory byte buffer.
Sourcepub async fn add_directory<P>(
&mut self,
source: P,
) -> Result<(), BuildError<<B as ArchiveBuilder>::Error>>
pub async fn add_directory<P>( &mut self, source: P, ) -> Result<(), BuildError<<B as ArchiveBuilder>::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.
Sourcepub async fn finish(
self,
) -> Result<(), BuildError<<B as ArchiveBuilder>::Error>>
pub async fn finish( self, ) -> Result<(), BuildError<<B as ArchiveBuilder>::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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more