Expand description
Plugin trait for archive-type-aware metadata extraction.
Two modes:
- Per-file: plugin.extract_metadata() called inline (e.g. CargoPlugin — filename only)
- Batch: files staged in IngestBatch, plugin called once before compression starts. Data is still in memory (zero-copy borrows) — no extra allocation.
The batch runs BETWEEN read and compress: read N files → batch extract (zero-copy &u8) → chunk → compress → write
Re-exports§
pub use self::ArchiveTypePlugin as PackageHandler;
Structs§
- Batch
Item - Item in a batch — borrows data already in memory
- Extension
Row - Metadata extracted from a single file by a plugin
- Handler
Command - One handler-specific subcommand advertised through
HandlerMeta::commands. This is the unit of a package handler’s “API” that the CLI can list and dispatch. - Handler
Meta - Discovery metadata for a package handler — the single source of truth the
registry uses to enumerate handlers at runtime (
znippy handlers) and to resolve a--format <name>selection (canonical name or any alias). - Ingest
Batch - A batch of files staged for ingest. Holds file data in memory; plugin borrows it (zero-copy) before compression begins.
- Plugin
Registry - Registry holding the single active package handler.
- Staged
File - A file staged in the batch — owns the data until compression consumes it
Enums§
- Extension
Value - Typed values for extension fields
Traits§
- Archive
Type Plugin - Trait implemented by each archive type plugin.