Skip to main content

lib_compression/
zkc_decompressor.rs

1//! ZKC Decompressor
2
3use crate::zkc_compressor::CompressedShard;
4
5/// Decompression statistics.
6#[derive(Debug, Clone, Default)]
7pub struct DecompressionStats {
8    pub compressed_size: usize,
9    pub decompressed_size: usize,
10    pub patterns_applied: usize,
11}
12
13/// Zero-knowledge compression decoder.
14pub struct ZkcDecompressor;
15
16impl ZkcDecompressor {
17    pub fn new() -> Self {
18        ZkcDecompressor
19    }
20
21    /// Decompress a shard.
22    pub fn decompress(&self, compressed: &CompressedShard) -> crate::Result<Vec<u8>> {
23        // Stub: passthrough
24        Ok(compressed.data.clone())
25    }
26}
27
28impl Default for ZkcDecompressor {
29    fn default() -> Self {
30        Self::new()
31    }
32}