#[non_exhaustive]pub enum CompressionMethod {
Stored,
Deflated,
Bzip2,
Aes,
Zstd,
Unsupported(u16),
}Expand description
Identifies the storage format used to compress a file within a ZIP archive.
Each file’s compression method is stored alongside it, allowing the contents to be read without context.
When creating ZIP files, you may choose the method to use with
crate::write::FileOptions::compression_method
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Stored
Store the file as is
Deflated
Compress the file using Deflate
Bzip2
Compress the file using BZIP2
Aes
Encrypted using AES.
The actual compression method has to be taken from the AES extra data field
or from ZipFileData.
Zstd
Compress the file using ZStandard
Unsupported(u16)
👎Deprecated since 0.5.7:
use the constants instead
Unsupported compression method
Implementations§
Source§impl CompressionMethod
All compression methods defined for the ZIP format
impl CompressionMethod
All compression methods defined for the ZIP format
pub const STORE: CompressionMethod = CompressionMethod::Stored
pub const SHRINK: CompressionMethod
pub const REDUCE_1: CompressionMethod
pub const REDUCE_2: CompressionMethod
pub const REDUCE_3: CompressionMethod
pub const REDUCE_4: CompressionMethod
pub const IMPLODE: CompressionMethod
pub const DEFLATE: CompressionMethod = CompressionMethod::Deflated
pub const DEFLATE64: CompressionMethod
pub const PKWARE_IMPLODE: CompressionMethod
pub const BZIP2: CompressionMethod = CompressionMethod::Bzip2
pub const LZMA: CompressionMethod
pub const IBM_ZOS_CMPSC: CompressionMethod
pub const IBM_TERSE: CompressionMethod
pub const ZSTD_DEPRECATED: CompressionMethod
pub const ZSTD: CompressionMethod = CompressionMethod::Zstd
pub const MP3: CompressionMethod
pub const XZ: CompressionMethod
pub const JPEG: CompressionMethod
pub const WAVPACK: CompressionMethod
pub const PPMD: CompressionMethod
pub const AES: CompressionMethod = CompressionMethod::Aes
Source§impl CompressionMethod
impl CompressionMethod
Sourcepub fn from_u16(val: u16) -> CompressionMethod
👎Deprecated since 0.5.7: use a constant to construct a compression method
pub fn from_u16(val: u16) -> CompressionMethod
use a constant to construct a compression method
Converts an u16 to its corresponding CompressionMethod
Trait Implementations§
Source§impl Clone for CompressionMethod
impl Clone for CompressionMethod
Source§fn clone(&self) -> CompressionMethod
fn clone(&self) -> CompressionMethod
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompressionMethod
impl Debug for CompressionMethod
Source§impl Display for CompressionMethod
impl Display for CompressionMethod
Source§impl PartialEq for CompressionMethod
impl PartialEq for CompressionMethod
Source§fn eq(&self, other: &CompressionMethod) -> bool
fn eq(&self, other: &CompressionMethod) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for CompressionMethod
impl Eq for CompressionMethod
impl StructuralPartialEq for CompressionMethod
Auto Trait Implementations§
impl Freeze for CompressionMethod
impl RefUnwindSafe for CompressionMethod
impl Send for CompressionMethod
impl Sync for CompressionMethod
impl Unpin for CompressionMethod
impl UnsafeUnpin for CompressionMethod
impl UnwindSafe for CompressionMethod
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<A> DynCastExt for A
impl<A> DynCastExt for A
Source§fn dyn_cast<T>(
self,
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source>where
A: DynCastExtHelper<T>,
T: ?Sized,
fn dyn_cast<T>(
self,
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source>where
A: DynCastExtHelper<T>,
T: ?Sized,
Use this to cast from one trait object type to another. Read more
Source§fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target
fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target
Use this to upcast a trait to one of its supertraits. Read more
Source§fn dyn_cast_adv<F, T>(
self,
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source>
fn dyn_cast_adv<F, T>( self, ) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source>
Source§fn dyn_cast_with_config<C>(
self,
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source>where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
fn dyn_cast_with_config<C>(
self,
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source>where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
Use this to cast from one trait object type to another. With this method
the type parameter is a config type that uniquely specifies which cast
should be preformed. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more