lib-compression 0.1.0

Universal lossless compression via network-wide deduplication
Documentation
//! ZKC Decompressor

use crate::zkc_compressor::CompressedShard;

/// Decompression statistics.
#[derive(Debug, Clone, Default)]
pub struct DecompressionStats {
    pub compressed_size: usize,
    pub decompressed_size: usize,
    pub patterns_applied: usize,
}

/// Zero-knowledge compression decoder.
pub struct ZkcDecompressor;

impl ZkcDecompressor {
    pub fn new() -> Self {
        ZkcDecompressor
    }

    /// Decompress a shard.
    pub fn decompress(&self, compressed: &CompressedShard) -> crate::Result<Vec<u8>> {
        // Stub: passthrough
        Ok(compressed.data.clone())
    }
}

impl Default for ZkcDecompressor {
    fn default() -> Self {
        Self::new()
    }
}