Struct sevenz_rust::SevenZReader

source ·
pub struct SevenZReader<R: Read + Seek> { /* private fields */ }

Implementations§

source§

impl SevenZReader<File>

source

pub fn open(path: impl AsRef<Path>, password: Password) -> Result<Self, Error>

source§

impl<R: Read + Seek> SevenZReader<R>

source

pub fn new( source: R, reader_len: u64, password: Password, ) -> Result<Self, Error>

source

pub fn from_archive(archive: Archive, source: R, password: Password) -> Self

source

pub fn archive(&self) -> &Archive

source

pub fn for_each_entries<F: FnMut(&SevenZArchiveEntry, &mut dyn Read) -> Result<bool, Error>>( &mut self, each: F, ) -> Result<(), Error>

Takes a closure to decode each files in the archive.

Attention about solid archive: When decoding a solid archive, the data to be decompressed depends on the data in front of it, you cannot simply skip the previous data and only decompress the data in the back.

See ChecksumVerificationFailed.

To speed up decompression, you can check this example examples/forder_dec.rs. And this example mt_decompress.rs if you want use multi-thread.

Auto Trait Implementations§

§

impl<R> Freeze for SevenZReader<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for SevenZReader<R>
where R: RefUnwindSafe,

§

impl<R> Send for SevenZReader<R>
where R: Send,

§

impl<R> Sync for SevenZReader<R>
where R: Sync,

§

impl<R> Unpin for SevenZReader<R>
where R: Unpin,

§

impl<R> UnwindSafe for SevenZReader<R>
where R: UnwindSafe,

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> 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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.