use std::cmp::Eq;
use std::fmt::Debug;
use std::io;
pub trait JweCompression: Debug + Send + Sync {
fn name(&self) -> &str;
fn compress(&self, message: &[u8]) -> Result<Vec<u8>, io::Error>;
fn decompress(&self, message: &[u8]) -> Result<Vec<u8>, io::Error>;
fn box_clone(&self) -> Box<dyn JweCompression>;
}
impl PartialEq for Box<dyn JweCompression> {
fn eq(&self, other: &Self) -> bool {
self == other
}
}
impl Eq for Box<dyn JweCompression> {}
impl Clone for Box<dyn JweCompression> {
fn clone(&self) -> Self {
self.box_clone()
}
}