Skip to main content

OpenedArchive

Struct OpenedArchive 

Source
pub struct OpenedArchive {
    pub volume_header: VolumeHeader,
    pub crypto_header: CryptoHeaderFixed,
    pub manifest_footer: ManifestFooter,
    pub volume_trailer: Option<VolumeTrailer>,
    pub root_auth_footer: Option<RootAuthFooterV1>,
    pub index_root: IndexRoot,
    /* private fields */
}

Fields§

§volume_header: VolumeHeader§crypto_header: CryptoHeaderFixed§manifest_footer: ManifestFooter§volume_trailer: Option<VolumeTrailer>§root_auth_footer: Option<RootAuthFooterV1>§index_root: IndexRoot

Implementations§

Source§

impl OpenedArchive

Source

pub fn open_with_options( bytes: &[u8], master_key: &MasterKey, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn open_with_recipient_wrap_resolver_options<F>( bytes: &[u8], resolver: F, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn open_seekable_with_recipient_wrap_resolver_options<R, F>( reader: R, resolver: F, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn open_seekable_volumes_with_recipient_wrap_resolver_options<R, F>( readers: Vec<R>, resolver: F, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn open_volumes_with_options( volumes: &[&[u8]], master_key: &MasterKey, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn open_seekable_volumes_with_options<R: ArchiveReadAt>( readers: Vec<R>, master_key: &MasterKey, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn open_with_bootstrap_sidecar_options( bytes: &[u8], bootstrap_sidecar: &[u8], master_key: &MasterKey, options: ReaderOptions, ) -> Result<Self, FormatError>

Source

pub fn list_index_entries(&self) -> Result<Vec<ArchiveIndexEntry>, FormatError>

Return path and payload-size entries from encrypted index metadata only.

Unlike Self::list_files, this does not decode tar member groups, so it does not read or decrypt payload envelopes after the index shards are available.

Source

pub fn lookup_index_entry( &self, path: &str, ) -> Result<Option<ArchiveIndexEntry>, FormatError>

Look up one archive path using encrypted index metadata only.

Source

pub fn list_files(&self) -> Result<Vec<ArchiveEntry>, FormatError>

Source

pub fn extract_file(&self, path: &str) -> Result<Option<Vec<u8>>, FormatError>

Return only the regular-file payload bytes for path.

This is a payload-only convenience for callers that do not need tar metadata fidelity diagnostics. Use Self::extract_file_with_diagnostics or Self::extract_member when unsupported local PAX/GNU metadata must be reported to users.

Source

pub fn extract_file_with_diagnostics( &self, path: &str, ) -> Result<Option<ExtractedRegularFile>, FormatError>

Return regular-file payload bytes together with parsed tar metadata diagnostics for path.

Source

pub fn extract_file_to_writer<W: Write>( &self, path: &str, writer: &mut W, ) -> Result<Option<Vec<MetadataDiagnostic>>, ExtractError>

Stream regular-file payload bytes for path into writer.

This keeps extraction memory bounded by the selected payload envelope, one decompressed frame, and small tar metadata buffers. It returns the same metadata diagnostics as Self::extract_file_with_diagnostics.

Source

pub fn extract_file_to_writer_with_progress<W: Write>( &self, path: &str, writer: &mut W, progress: &mut dyn ArchiveExtractProgressSink, ) -> Result<Option<Vec<MetadataDiagnostic>>, ExtractError>

Stream regular-file payload bytes for path into writer while reporting extracted logical payload bytes.

Source

pub fn extract_member( &self, path: &str, ) -> Result<Option<ExtractedArchiveMember>, FormatError>

Source

pub fn extract_file_to( &self, path: &str, root: &Path, options: SafeExtractionOptions, ) -> Result<Option<Vec<MetadataDiagnostic>>, FormatError>

Source

pub fn extract_indexed_files_to( &self, root: &Path, options: SafeExtractionOptions, jobs: usize, ) -> Result<Vec<(String, Vec<MetadataDiagnostic>)>, FormatError>

Source

pub fn verify(&self) -> Result<(), FormatError>

Source

pub fn verify_content( &self, ) -> Result<ArchiveContentVerification<'_>, FormatError>

Source

pub fn verify_content_fast( &self, ) -> Result<ArchiveContentVerification<'_>, FormatError>

Source

pub fn fast_verify_defers_payload_semantics(&self) -> bool

Source

pub fn repair_patches(&self) -> Result<Vec<ArchiveRepairPatch>, FormatError>

Source

pub fn extract_all_to( &self, root: &Path, options: SafeExtractionOptions, ) -> Result<Vec<(String, Vec<MetadataDiagnostic>)>, FormatError>

Source

pub fn verify_root_auth_with<F>( &self, verifier: F, ) -> Result<RootAuthVerification, FormatError>

Source

pub fn verify_root_auth_with_verified_content<F>( &self, content_verification: &ArchiveContentVerification<'_>, verifier: F, ) -> Result<RootAuthVerification, FormatError>

Trait Implementations§

Source§

impl Clone for OpenedArchive

Source§

fn clone(&self) -> OpenedArchive

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OpenedArchive

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.