Trait Compress
pub trait Compress:
Sized
+ Send
+ Sync
+ Debug {
type Compressed: BufMut + AsRef<[u8]> + AsMut<[u8]> + Into<Vec<u8>> + Default + Send + Sync + Debug;
// Required method
fn compress_to_buf<B>(&self, buf: &mut B)
where B: BufMut + AsMut<[u8]>;
// Provided methods
fn uncompressable_ref(&self) -> Option<&[u8]> { ... }
fn compress(self) -> Self::Compressed { ... }
}Expand description
Trait that will transform the data to be saved in the DB in a (ideally) compressed format.
Required Associated Types§
Required Methods§
fn compress_to_buf<B>(&self, buf: &mut B)
fn compress_to_buf<B>(&self, buf: &mut B)
Compresses data to a given buffer.
Provided Methods§
fn uncompressable_ref(&self) -> Option<&[u8]>
fn uncompressable_ref(&self) -> Option<&[u8]>
If the type cannot be compressed, return its inner reference as Some(self.as_ref())
fn compress(self) -> Self::Compressed
fn compress(self) -> Self::Compressed
Compresses data going into the database.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".