pub enum CompressionCodec {
Gzip,
Bzip2,
Xz,
Zstd,
}Expand description
Compression codec for archive files.
Represents the compression algorithm used for compressed archives. Each codec has different trade-offs between compression ratio, speed, and compatibility.
§Performance Characteristics
| Codec | Compression | Decompression | Ratio | Compatibility |
|---|---|---|---|---|
| Gzip | Fast | Fast | Good | Excellent |
| Bzip2 | Slow | Medium | Better | Good |
| Xz | Very Slow | Medium | Best | Good |
| Zstd | Fast | Very Fast | Good | Modern |
§Examples
use exarch_core::formats::compression::CompressionCodec;
// Choose codec based on requirements
let fast_codec = CompressionCodec::Gzip; // Fast compression
let best_codec = CompressionCodec::Xz; // Best compression ratio
let modern_codec = CompressionCodec::Zstd; // Modern balanced approachVariants§
Gzip
Gzip compression (deflate algorithm).
Fast compression and decompression with widespread support. Good default choice for most use cases.
Bzip2
Bzip2 compression (Burrows-Wheeler algorithm).
Better compression ratio than gzip but slower. Good for archives that will be distributed.
Xz
Xz compression (LZMA2 algorithm).
Best compression ratio but slowest. Good for long-term storage or bandwidth-constrained transfers.
Zstd
Zstd compression (Zstandard algorithm).
Modern codec with excellent speed and good compression ratio. Good for archives that need fast decompression.
Implementations§
Source§impl CompressionCodec
impl CompressionCodec
Sourcepub const fn extension(self) -> &'static str
pub const fn extension(self) -> &'static str
Returns the typical file extension for this codec when used with TAR.
§Examples
use exarch_core::formats::compression::CompressionCodec;
assert_eq!(CompressionCodec::Gzip.extension(), "tar.gz");
assert_eq!(CompressionCodec::Bzip2.extension(), "tar.bz2");
assert_eq!(CompressionCodec::Xz.extension(), "tar.xz");
assert_eq!(CompressionCodec::Zstd.extension(), "tar.zst");Trait Implementations§
Source§impl Clone for CompressionCodec
impl Clone for CompressionCodec
Source§fn clone(&self) -> CompressionCodec
fn clone(&self) -> CompressionCodec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompressionCodec
impl Debug for CompressionCodec
Source§impl Hash for CompressionCodec
impl Hash for CompressionCodec
Source§impl PartialEq for CompressionCodec
impl PartialEq for CompressionCodec
impl Copy for CompressionCodec
impl Eq for CompressionCodec
impl StructuralPartialEq for CompressionCodec
Auto Trait Implementations§
impl Freeze for CompressionCodec
impl RefUnwindSafe for CompressionCodec
impl Send for CompressionCodec
impl Sync for CompressionCodec
impl Unpin for CompressionCodec
impl UnwindSafe for CompressionCodec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.