an efficient binary archive format
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}