Struct snap::raw::Encoder

source ·
pub struct Encoder { /* private fields */ }
Expand description

Encoder is a raw encoder for compressing bytes in the Snappy format.

Thie encoder does not use the Snappy frame format and simply compresses the given bytes in one big Snappy block (that is, it has a single header).

Unless you explicitly need the low-level control, you should use read::FrameEncoder or write::FrameEncoder instead, which compresses to the Snappy frame format.

It is beneficial to reuse an Encoder when possible.

Implementations§

source§

impl Encoder

source

pub fn new() -> Encoder

Return a new encoder that can be used for compressing bytes.

source

pub fn compress(&mut self, input: &[u8], output: &mut [u8]) -> Result<usize>

Compresses all bytes in input into output.

input can be any arbitrary sequence of bytes.

output must be large enough to hold the maximum possible compressed size of input, which can be computed using max_compress_len.

On success, this returns the number of bytes written to output.

Errors

This method returns an error in the following circumstances:

  • The total number of bytes to compress exceeds 2^32 - 1.
  • output has length less than max_compress_len(input.len()).
source

pub fn compress_vec(&mut self, input: &[u8]) -> Result<Vec<u8>>

Compresses all bytes in input into a freshly allocated Vec.

This is just like the compress method, except it allocates a Vec with the right size for you. (This is intended to be a convenience method.)

This method returns an error under the same circumstances that compress does.

Trait Implementations§

source§

impl Debug for Encoder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.