#[non_exhaustive]pub enum CompressAlgorithm {
Brotli(BrotliAlgorithm),
Lz4,
Snappy,
Zstd(ZstdCompressionLevel),
Unknown(u8),
}Available on crate features
zstd or lz4 or brotli or snappy only.Expand description
The compressioned algorithm used to compression the message.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Brotli(BrotliAlgorithm)
Available on crate feature
brotli only.Brotli
Lz4
Available on crate feature
lz4 only.LZ4
Snappy
Available on crate feature
snappy only.Snappy
Zstd(ZstdCompressionLevel)
Available on crate feature
zstd only.Zstd
Unknown(u8)
Unknwon compressioned algorithm
Implementations§
Source§impl CompressAlgorithm
impl CompressAlgorithm
Sourcepub const fn is_brotli(&self) -> bool
pub const fn is_brotli(&self) -> bool
Returns true if this value is of type Brotli. Returns false otherwise
Sourcepub const fn is_lz_4(&self) -> bool
pub const fn is_lz_4(&self) -> bool
Returns true if this value is of type Lz4. Returns false otherwise
Sourcepub const fn is_snappy(&self) -> bool
pub const fn is_snappy(&self) -> bool
Returns true if this value is of type Snappy. Returns false otherwise
Sourcepub const fn is_zstd(&self) -> bool
pub const fn is_zstd(&self) -> bool
Returns true if this value is of type Zstd. Returns false otherwise
Sourcepub const fn is_unknown(&self) -> bool
pub const fn is_unknown(&self) -> bool
Returns true if this value is of type Unknown. Returns false otherwise
Source§impl CompressAlgorithm
impl CompressAlgorithm
Sourcepub fn decompress_to(
&self,
src: &[u8],
dst: &mut [u8],
) -> Result<usize, CompressionError>
pub fn decompress_to( &self, src: &[u8], dst: &mut [u8], ) -> Result<usize, CompressionError>
Decompresses the given buffer.
Sourcepub fn max_compress_len(
&self,
input_size: usize,
) -> Result<usize, CompressionError>
pub fn max_compress_len( &self, input_size: usize, ) -> Result<usize, CompressionError>
Returns the maximum compressed length of the given buffer.
This is useful when you want to pre-allocate the buffer before compressing.
Sourcepub fn compress_to(
&self,
src: &[u8],
dst: &mut [u8],
) -> Result<usize, CompressionError>
pub fn compress_to( &self, src: &[u8], dst: &mut [u8], ) -> Result<usize, CompressionError>
Compresses the given buffer.
The dst buffer should be pre-allocated with the max_compress_len method.
Trait Implementations§
Source§impl<'a> Arbitrary<'a> for CompressAlgorithm
Available on (crate features arbitrary) and (crate features zstd or snappy or lz4 or brotli) only.
impl<'a> Arbitrary<'a> for CompressAlgorithm
Available on (crate features
arbitrary) and (crate features zstd or snappy or lz4 or brotli) only.Source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl Arbitrary for CompressAlgorithm
Available on crate features quickcheck only.
impl Arbitrary for CompressAlgorithm
Available on crate features
quickcheck only.Source§impl Clone for CompressAlgorithm
impl Clone for CompressAlgorithm
Source§fn clone(&self) -> CompressAlgorithm
fn clone(&self) -> CompressAlgorithm
Returns a duplicate 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 Data for CompressAlgorithm
impl Data for CompressAlgorithm
Source§type Ref<'a> = CompressAlgorithm
type Ref<'a> = CompressAlgorithm
The reference type of the data.
Source§fn from_ref(val: Self::Ref<'_>) -> Result<Self, DecodeError>where
Self: Sized,
fn from_ref(val: Self::Ref<'_>) -> Result<Self, DecodeError>where
Self: Sized,
Converts the reference type to the owned type.
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the data only considering the data itself, (e.g. no length prefix, no wire type).
Source§fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Encodes the message to a buffer. Read more
Source§fn encoded_len_with_length_delimited(&self) -> usize
fn encoded_len_with_length_delimited(&self) -> usize
Returns the encoded length of the data including the length delimited.
Source§fn encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>
fn encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>
Available on crate features
std or alloc only.Encodes the message into a vec.
Source§fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_to_bytes(&self) -> Result<Bytes, EncodeError>
Available on crate features
std or alloc only.Encodes the message into a
Bytes.Source§fn encode_length_delimited(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
fn encode_length_delimited(&self, buf: &mut [u8]) -> Result<usize, EncodeError>
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Result<Vec<u8>, EncodeError>
fn encode_length_delimited_to_vec(&self) -> Result<Vec<u8>, EncodeError>
Available on crate features
std or alloc only.Encodes the message with a length-delimiter into a vec.
Source§fn encode_length_delimited_to_bytes(&self) -> Result<Bytes, EncodeError>
fn encode_length_delimited_to_bytes(&self) -> Result<Bytes, EncodeError>
Available on crate features
std or alloc only.Encodes the message with a length-delimiter into a
Bytes.Source§fn decode(src: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode(src: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode_length_delimited(buf: &[u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from the buffer.
Source§impl<'a> DataRef<'a, CompressAlgorithm> for CompressAlgorithm
impl<'a> DataRef<'a, CompressAlgorithm> for CompressAlgorithm
Source§fn decode(buf: &'a [u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode(buf: &'a [u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes the reference type from a buffer. Read more
Source§fn decode_length_delimited(src: &'a [u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
fn decode_length_delimited(src: &'a [u8]) -> Result<(usize, Self), DecodeError>where
Self: Sized,
Decodes a length-delimited reference instance of the message from the buffer.
Source§impl Debug for CompressAlgorithm
impl Debug for CompressAlgorithm
Source§impl Default for CompressAlgorithm
impl Default for CompressAlgorithm
Source§impl<'de> Deserialize<'de> for CompressAlgorithm
Available on crate feature serde only.
impl<'de> Deserialize<'de> for CompressAlgorithm
Available on crate feature
serde only.Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CompressAlgorithm
impl Display for CompressAlgorithm
Source§impl From<u16> for CompressAlgorithm
impl From<u16> for CompressAlgorithm
Source§impl FromStr for CompressAlgorithm
impl FromStr for CompressAlgorithm
Source§impl Hash for CompressAlgorithm
impl Hash for CompressAlgorithm
Source§impl PartialEq for CompressAlgorithm
impl PartialEq for CompressAlgorithm
Source§impl Serialize for CompressAlgorithm
Available on crate feature serde only.
impl Serialize for CompressAlgorithm
Available on crate feature
serde only.impl Copy for CompressAlgorithm
impl Eq for CompressAlgorithm
impl StructuralPartialEq for CompressAlgorithm
Auto Trait Implementations§
impl Freeze for CompressAlgorithm
impl RefUnwindSafe for CompressAlgorithm
impl Send for CompressAlgorithm
impl Sync for CompressAlgorithm
impl Unpin for CompressAlgorithm
impl UnwindSafe for CompressAlgorithm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more