Struct snap::Encoder
[−]
[src]
pub struct Encoder { /* 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 thanmax_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.