Struct snap::raw::Decoder

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

Decoder is a raw decoder for decompressing bytes in the Snappy format.

This decoder does not use the Snappy frame format and simply decompresses the given bytes as if it were returned from Encoder.

Unless you explicitly need the low-level control, you should use read::FrameDecoder instead, which decompresses the Snappy frame format.

Implementations§

source§

impl Decoder

source

pub fn new() -> Decoder

Return a new decoder that can be used for decompressing bytes.

source

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

Decompresses all bytes in input into output.

input must be a sequence of bytes returned by a conforming Snappy compressor.

The size of output must be large enough to hold all decompressed bytes from the input. The size required can be queried with the decompress_len function.

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

Errors

This method returns an error in the following circumstances:

  • Invalid compressed Snappy data was seen.
  • The total space required for decompression exceeds 2^32 - 1.
  • output has length less than decompress_len(input).
source

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

Decompresses all bytes in input into a freshly allocated Vec.

This is just like the decompress 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 decompress does.

Trait Implementations§

source§

impl Clone for Decoder

source§

fn clone(&self) -> Decoder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Decoder

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Decoder

source§

fn default() -> Decoder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.