pub enum Compression {
Lz4,
Snappy,
None,
}
Expand description
Enum which represents a type of compression. Only non-startup frame’s body can be compressed.
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);
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);
Variants§
Implementations§
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 Compressor for Compression
impl Compressor for Compression
type CompressorError = CompressionError
Source§fn encode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
fn encode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
Encodes given bytes and returns
Result
that contains either
encoded data or an error which occures during the transformation.Source§fn decode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
fn decode(&self, bytes: Vec<u8>) -> Result<Vec<u8>, CompressionError>
Encodes given encoded data and returns
Result
that contains either
encoded bytes or an error which occures during the transformation.Source§fn into_string(&self) -> Option<String>
fn into_string(&self) -> Option<String>
Returns a string which is a name of a compressor. This name should be
exactly the same as one which server returns in a response to
Options
request.Source§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