Struct snappy_framed::read::SnappyFramedDecoder
[−]
[src]
pub struct SnappyFramedDecoder<R: Read> { /* fields omitted */ }
Decode a stream containing Snappy-compressed frames.
use std::io::{Cursor, Read}; use snappy_framed::read::{CrcMode, SnappyFramedDecoder}; let compressed: &[u8] = &[0xff, 0x06, 0x00, 0x00, 0x73, 0x4e, 0x61, 0x50, 0x70, 0x59, 0x01, 0x0a, 0x00, 0x00, 0xd3, 0xfe, 0x2e, 0x7a, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x21]; let mut cursor = Cursor::new(&compressed as &[u8]); let mut decoder = SnappyFramedDecoder::new(&mut cursor, CrcMode::Verify); let mut output = vec!(); decoder.read_to_end(&mut output).unwrap(); assert_eq!(b"Hello!", &output as &[u8]);
Methods
impl<R: Read> SnappyFramedDecoder<R>
[src]
fn new(source: R, mode: CrcMode) -> Self
Create a new decoder wrapping the specified source
, and using the
CRC verification options indicated by mode
.
Trait Implementations
impl<R: Read> Read for SnappyFramedDecoder<R>
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0
Transforms this Read
instance to an Iterator
over its bytes. Read more
fn chars(self) -> Chars<Self>
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an Iterator
over char
s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0
R: Read,
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0
Creates an adaptor which will read at most limit
bytes from it. Read more