Struct snappy_framed::read::SnappyFramedDecoder [-] [+] [src]

pub struct SnappyFramedDecoder<R: Read> {
    // some 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>

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>

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

fn by_ref(&mut self) -> &mut Self

fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

fn take(self, limit: u64) -> Take<Self>

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write