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
impl Decoder
sourcepub fn decompress(&mut self, input: &[u8], output: &mut [u8]) -> Result<usize>
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 thandecompress_len(input)
.
sourcepub fn decompress_vec(&mut self, input: &[u8]) -> Result<Vec<u8>>
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.