Struct snappy_framed::write::SnappyFramedEncoder [-] [+] [src]

pub struct SnappyFramedEncoder<W: Write> {
    // some fields omitted
}

Encode a stream containing Snappy-compressed frames.

use std::io::{Cursor, Read, Write};
use snappy_framed::read::{CrcMode, SnappyFramedDecoder};
use snappy_framed::write::SnappyFramedEncoder;

// Compress it.
let mut compressed = vec!();
{
    let mut encoder = SnappyFramedEncoder::new(&mut compressed).unwrap();
    encoder.write(b"Hello!").unwrap();
    // Do not forget to flush!
    encoder.flush().unwrap();
}

// Decompress it again.
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!" as &[u8], &output as &[u8]);

Methods

impl<W: Write> SnappyFramedEncoder<W>

fn new(dest: W) -> Result<Self>

Create a new encoder wrapping the specified dest.

Trait Implementations

impl<W: Write> Write for SnappyFramedEncoder<W>

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

fn flush(&mut self) -> Result<()>

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

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

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

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write