use crate::codec::Codec;
use crate::codec::CODEC_GLZA;
use crate::error::CoreError;
pub struct GlzaCodec;
impl Codec for GlzaCodec {
fn id(&self) -> u8 {
CODEC_GLZA
}
fn name(&self) -> &'static str {
"glza"
}
fn min_compress_size(&self) -> usize {
4096
}
fn compress(&self, plaintext: &[u8]) -> Result<Vec<u8>, CoreError> {
omnizip_glza::compress(plaintext).map_err(|e| CoreError::Corrupt {
reason: format!("glza compress: {e}"),
})
}
fn decompress(&self, compressed: &[u8], _expected_len: u32) -> Result<Vec<u8>, CoreError> {
omnizip_glza::decompress(compressed).map_err(|e| CoreError::Corrupt {
reason: format!("glza decompress: {e}"),
})
}
}