Struct snap::Encoder [] [src]

pub struct Encoder {
    // some fields omitted
}

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 Writer instead, which compresses to the Snappy frame format.

It is beneficial to reuse an Encoder.

Methods

impl Encoder
[src]

fn new() -> Encoder

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

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

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.