lib_compression/
model_compressor.rs1use crate::traits::ModelCompressor;
4use crate::sovereign_codec::{SovereignCodec, CodecParams};
5
6pub struct SovereignCodecCompressor {
8 codec: SovereignCodec,
9}
10
11impl SovereignCodecCompressor {
12 pub fn new() -> Self {
13 Self {
14 codec: SovereignCodec::new(CodecParams::default()),
15 }
16 }
17}
18
19impl Default for SovereignCodecCompressor {
20 fn default() -> Self {
21 Self::new()
22 }
23}
24
25impl ModelCompressor for SovereignCodecCompressor {
26 fn compress(&self, data: &[u8]) -> crate::Result<Vec<u8>> {
27 self.codec.compress(data)
28 }
29
30 fn decompress(&self, data: &[u8]) -> crate::Result<Vec<u8>> {
31 self.codec.decompress(data)
32 }
33
34 fn name(&self) -> &str {
35 "sovereign-codec"
36 }
37}
38
39pub struct AdaptiveCodecCompressor {
41 codec: SovereignCodec,
42}
43
44impl AdaptiveCodecCompressor {
45 pub fn new() -> Self {
46 Self {
47 codec: SovereignCodec::new(CodecParams::default()),
48 }
49 }
50}
51
52impl Default for AdaptiveCodecCompressor {
53 fn default() -> Self {
54 Self::new()
55 }
56}
57
58impl ModelCompressor for AdaptiveCodecCompressor {
59 fn compress(&self, data: &[u8]) -> crate::Result<Vec<u8>> {
60 self.codec.compress(data)
61 }
62
63 fn decompress(&self, data: &[u8]) -> crate::Result<Vec<u8>> {
64 self.codec.decompress(data)
65 }
66
67 fn name(&self) -> &str {
68 "adaptive-codec"
69 }
70}