[][src]Struct snap::raw::Decoder

pub struct Decoder { /* fields omitted */ }

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

impl Decoder[src]

pub fn new() -> Decoder[src]

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

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

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).

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

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

impl Clone for Decoder[src]

impl Debug for Decoder[src]

impl Default for Decoder[src]

Auto Trait Implementations

impl RefUnwindSafe for Decoder

impl Send for Decoder

impl Sync for Decoder

impl Unpin for Decoder

impl UnwindSafe for Decoder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.