Expand description
High-level RAR archive API.
This crate is the supported public Rust API for rars. It is the facade
over the version-specific format modules, detects archive families, exposes
common member metadata, and streams extraction or recovery output to
caller-provided writers without requiring callers to buffer whole archives
in memory. New Rust users should depend on this crate rather than the
lower-level rars-* implementation crates, which ended at 0.3.x.
Re-exports§
pub use builder::entry_relative_path;pub use builder::validate_entry_name;pub use builder::Builder;pub use detect::detect_archive_family;pub use detect::find_archive_start;pub use detect::ArchiveSignature;pub use detect::SFX_SCAN_LIMIT;pub use error::Error;pub use error::Result;pub use features::Feature;pub use features::FeatureSet;pub use filter::formats_supporting_filter;pub use filter::FilterKind;pub use filter::FilterPolicy;pub use filter::FilterSpec;pub use filter::UnsupportedFilterKind;pub use version::ArchiveFamily;pub use version::ArchiveVersion;pub use write_plan::formats_supporting;pub use write_plan::supported_features;pub use write_plan::supports;pub use write_plan::MemberCoding;pub use write_plan::PlanShape;pub use write_plan::WriterOption;
Modules§
- builder
- One archive builder for every format.
- crc32
- Shared RAR CRC-32 primitives.
- detect
- error
- features
- filter
- Data filters: the reversible transforms a writer applies to a member before compressing it, so the encoder sees something it can match on.
- rar13
- rar50
- rar15_
40 - version
- write_
plan - What each format’s writer can be asked for, and one place that says no.
Structs§
- Archive
Member - Common member view plus family-specific detail.
- Archive
Member Meta - Family-independent metadata for a file-like archive member.
- Archive
Members - Lazy iterator returned by
Archive::members. - Archive
Read Options - Options used while parsing or extracting archives.
- Archive
Reader - Archive reader facade with signature-based dispatch.
- Entry
Source - A reopenable byte source for an archive member.
- Extracted
Entry Meta - Metadata supplied to streaming extraction callbacks.
- Writer
Resources - Shared memory and temporary-file policy for streaming writers.
Enums§
- Archive
- A parsed RAR archive, preserving the concrete archive family.
- Archive
Member Detail - Family-specific member metadata.
- Archive
Member Hash - Strong hash metadata attached to an archive member.
- Write
Operation - A high-level archive-writing operation.
- Write
Progress Event - Progress reported by archive writers.
Constants§
- DEFAULT_
WRITER_ MEMORY_ LIMIT - Default aggregate compression workspace budget (256 MiB).
Traits§
- Entry
Reader - A rewindable input reader used by streaming archive writers.
- Write
Progress - Receives archive-writing progress events.
Functions§
- extract_
volumes_ to - Streams a multivolume archive set to caller-provided writers.
- extract_
volumes_ to_ with_ options - Streams a multivolume archive set to caller-provided writers with read options.
- read_
volume_ member_ at - Returns one logical member from a volume set by archive-order index.
- volume_
members - Returns the logical members in a volume set in archive order.