Struct deflate::write::DeflateEncoder
[−]
[src]
pub struct DeflateEncoder<W: Write> { /* fields omitted */ }
A DEFLATE encoder/compressor.
A struct implementing a Write
interface that takes unencoded data and compresses it to
the provided writer using DEFLATE compression.
Examples
use std::io::Write; use deflate::Compression; use deflate::write::DeflateEncoder; let data = b"This is some test data"; let mut encoder = DeflateEncoder::new(Vec::new(), Compression::Default); encoder.write_all(data).unwrap(); let compressed_data = encoder.finish().unwrap();
Methods
impl<W: Write> DeflateEncoder<W>
[src]
fn new<O: Into<CompressionOptions>>(writer: W, options: O) -> DeflateEncoder<W>
Creates a new encoder using the provided compression options.
fn finish(self) -> Result<W>
Encode all pending data to the contained writer, consume this ZlibEncoder
,
and return the contained writer if writing succeeds.
fn reset(&mut self, w: W) -> Result<W>
Resets the encoder (except the compression options), replacing the current writer with a new one, returning the old one.
Trait Implementations
impl<W: Write> Write for DeflateEncoder<W>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Write
. Read more
impl<W: Write> Drop for DeflateEncoder<W>
[src]
fn drop(&mut self)
When the encoder is dropped, output the rest of the data.
WARNING: This may silently fail if writing fails, so using this to finish encoding for writers where writing might fail is not recommended, for that call finish() instead.