lib_compression/
sovereign_codec.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct CodecParams {
8 pub use_bwt: bool,
9 pub use_mtf: bool,
10 pub use_rle: bool,
11 pub range_coder_order: usize,
12}
13
14impl Default for CodecParams {
15 fn default() -> Self {
16 Self {
17 use_bwt: true,
18 use_mtf: true,
19 use_rle: true,
20 range_coder_order: 1,
21 }
22 }
23}
24
25pub struct SovereignCodec {
27 params: CodecParams,
28}
29
30impl SovereignCodec {
31 pub fn new(params: CodecParams) -> Self {
32 Self { params }
33 }
34
35 pub fn compress(&self, data: &[u8]) -> crate::Result<Vec<u8>> {
37 Ok(data.to_vec())
39 }
40
41 pub fn decompress(&self, data: &[u8]) -> crate::Result<Vec<u8>> {
43 Ok(data.to_vec())
45 }
46}