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
impl Encoder
sourcepub fn compress(&mut self, input: &[u8], output: &mut [u8]) -> Result<usize>
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 thanmax_compress_len(input.len())
.
sourcepub fn compress_vec(&mut self, input: &[u8]) -> Result<Vec<u8>>
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.