Skip to main content

Crate archive_trait

Crate archive_trait 

Source
Expand description

Format-neutral, asynchronous archive construction and extraction.

Archive formats implement ArchiveBuilder and call ArchiveBuilder::builder to reuse high-level entry addition, recursive filesystem traversal, validation, and source streaming. Archive formats implement Archive by projecting their entries into Member values. The default Archive::extract_in implementation then applies common extraction policy and filesystem behavior.

Extraction assumes unique access to the destination directory. Concurrent mutation of that directory is outside the threat model.

Re-exports§

pub use builder::ArchiveBuilder;
pub use builder::BuildError;
pub use builder::Builder;
pub use builder::EntryMetadata;
pub use builder::TraversalError;

Modules§

builder
Format-neutral archive construction.
extract
Format-neutral archive extraction.

Structs§

LentPayload
A member payload that keeps its lending Members cursor borrowed.
MemberMetadata
Common metadata for one archive member.
Members
A consuming, lending member cursor.

Enums§

ExtractError
An error produced while securely extracting an archive.
ExtractPolicyViolation
A valid member feature rejected by the selected extract::ExtractPolicy.
Member
One format-neutral archive member.
SpecialKind
A special-file kind that generic extraction deliberately rejects.

Traits§

Archive
A one-pass archive that can enumerate and extract format-neutral members.
MemberPayload
A streaming cursor over one archive member’s payload.

Functions§

default_name_validator
Applies the default archive name policy.

Type Aliases§

NameValidator
A predicate that accepts or rejects one UTF-8 archive name.