pub enum Compression {
Lz4,
Snappy,
None,
}
Expand description
Enum which represents a type of compression. Only non-startup frame’s body can be compressen.
Variants§
Implementations§
Source§impl Compression
impl Compression
Sourcepub fn encode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
pub fn encode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
It encodes bytes
basing on type of Compression
..
§Examples
use cdrs::compression::Compression;
let snappy_compression = Compression::Snappy;
let bytes = String::from("Hello World").into_bytes().to_vec();
let encoded = snappy_compression.encode(bytes.clone()).unwrap();
assert_eq!(snappy_compression.decode(encoded).unwrap(), bytes);
Sourcepub fn decode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
pub fn decode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
It decodes bytes
basing on type of compression.
§Examples
use cdrs::compression::Compression;
let lz4_compression = Compression::Lz4;
let bytes = String::from("Hello World").into_bytes().to_vec();
let encoded = lz4_compression.encode(bytes.clone()).unwrap();
let len = encoded.len() as u8;
let mut input = vec![0, 0, 0, len];
input.extend_from_slice(encoded.as_slice());
assert_eq!(lz4_compression.decode(input).unwrap(), bytes);
Trait Implementations§
Source§impl Clone for Compression
impl Clone for Compression
Source§fn clone(&self) -> Compression
fn clone(&self) -> Compression
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Compression
impl Debug for Compression
Source§impl<'a> From<&'a str> for Compression
impl<'a> From<&'a str> for Compression
Source§fn from(compression_str: &'a str) -> Compression
fn from(compression_str: &'a str) -> Compression
It converts str
into Compression
. If string is neither lz4
nor snappy
then
Compression::None
will be returned
Source§impl From<String> for Compression
impl From<String> for Compression
Source§fn from(compression_string: String) -> Compression
fn from(compression_string: String) -> Compression
It converts String
into Compression
. If string is neither lz4
nor snappy
then
Compression::None
will be returned
Source§impl Ord for Compression
impl Ord for Compression
Source§fn cmp(&self, other: &Compression) -> Ordering
fn cmp(&self, other: &Compression) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for Compression
impl PartialEq for Compression
Source§impl PartialOrd for Compression
impl PartialOrd for Compression
impl Copy for Compression
impl Eq for Compression
impl StructuralPartialEq for Compression
Auto Trait Implementations§
impl Freeze for Compression
impl RefUnwindSafe for Compression
impl Send for Compression
impl Sync for Compression
impl Unpin for Compression
impl UnwindSafe for Compression
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more