pub enum CompressionStrategy {
Store,
Zlib(CompressionLevel),
Zstd(CompressionLevel),
Brotli(CompressionLevel),
Delta,
}Expand description
Compression strategy selection
Variants§
Store
No compression (store as-is)
Zlib(CompressionLevel)
Zlib compression (Git-compatible)
Zstd(CompressionLevel)
Zstd compression (fast, good ratio)
Brotli(CompressionLevel)
Brotli compression (best ratio, slower)
Delta
Delta compression (for similar files)
Implementations§
Source§impl CompressionStrategy
impl CompressionStrategy
Sourcepub fn for_object_type(obj_type: ObjectType) -> Self
pub fn for_object_type(obj_type: ObjectType) -> Self
Select optimal strategy for object type
Sourcepub fn for_object_type_with_size(obj_type: ObjectType, data_size: usize) -> Self
pub fn for_object_type_with_size(obj_type: ObjectType, data_size: usize) -> Self
Select optimal strategy for object type with size consideration
For large text files (>500MB), switches from Brotli to Zstd for 10x faster compression with only ~20% compression ratio loss.
Trait Implementations§
Source§impl Clone for CompressionStrategy
impl Clone for CompressionStrategy
impl Copy for CompressionStrategy
Source§impl Debug for CompressionStrategy
impl Debug for CompressionStrategy
impl Eq for CompressionStrategy
Source§impl PartialEq for CompressionStrategy
impl PartialEq for CompressionStrategy
impl StructuralPartialEq for CompressionStrategy
Auto Trait Implementations§
impl Forget for CompressionStrategy
impl Freeze for CompressionStrategy
impl RefUnwindSafe for CompressionStrategy
impl Send for CompressionStrategy
impl Sync for CompressionStrategy
impl Unpin for CompressionStrategy
impl UnsafeUnpin for CompressionStrategy
impl UnwindSafe for CompressionStrategy
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