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§
Structs§
- Lent
Payload - A member payload that keeps its lending
Memberscursor borrowed. - Member
Metadata - Common metadata for one archive member.
- Members
- A consuming, lending member cursor.
Enums§
- Extract
Error - An error produced while securely extracting an archive.
- Extract
Policy Violation - A valid member feature rejected by the selected
extract::ExtractPolicy. - Member
- One format-neutral archive member.
- Special
Kind - A special-file kind that generic extraction deliberately rejects.
Traits§
- Archive
- A one-pass archive that can enumerate and extract format-neutral members.
- Member
Payload - A streaming cursor over one archive member’s payload.
Functions§
- default_
name_ validator - Applies the default archive name policy.
Type Aliases§
- Name
Validator - A predicate that accepts or rejects one UTF-8 archive name.