an efficient binary archive format
at main 25 lines 736 B view raw
1/// Compression mode for entries. 2#[repr(C)] 3#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord)] 4pub enum Compress { 5 /// No compression. 6 None = 0, 7 /// Zstandard compression. 8 Zstd = 1, 9 /// Automatically compress if entry is larger than 2KB threshold. 10 /// Note: This is never stored on disk, only used as a policy hint. 11 #[default] 12 Auto = 2, 13} 14 15impl Compress { 16 pub(crate) fn from_u8(value: u8) -> Self { 17 match value { 18 0 => Compress::None, 19 1 => Compress::Zstd, 20 // Invalid/unknown values default to None (safest option) 21 // Auto is never stored on disk, only used as input policy 22 _ => Compress::None, 23 } 24 } 25}