[][src]Struct deflate::write::DeflateEncoder

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)?;
let compressed_data = encoder.finish()?;

Methods

impl<W: Write> DeflateEncoder<W>[src]

Important traits for DeflateEncoder<W>
pub fn new<O: Into<CompressionOptions>>(
    writer: W,
    options: O
) -> DeflateEncoder<W>
[src]

Creates a new encoder using the provided compression options.

pub fn finish(self) -> Result<W>[src]

Encode all pending data to the contained writer, consume this DeflateEncoder, and return the contained writer if writing succeeds.

pub fn reset(&mut self, w: W) -> Result<W>[src]

Resets the encoder (except the compression options), replacing the current writer with a new one, returning the old one.

Trait Implementations

impl<W: Write> Drop for DeflateEncoder<W>[src]

fn drop(&mut self)[src]

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.

impl<W: Write> Write for DeflateEncoder<W>[src]

fn flush(&mut self) -> Result<()>[src]

Flush the encoder.

This will flush the encoder, emulating the Sync flush method from Zlib. This essentially finishes the current block, and sends an additional empty stored block to the writer.

Auto Trait Implementations

impl<W> Send for DeflateEncoder<W> where
    W: Send

impl<W> Unpin for DeflateEncoder<W> where
    W: Unpin

impl<W> Sync for DeflateEncoder<W> where
    W: Sync

impl<W> UnwindSafe for DeflateEncoder<W> where
    W: UnwindSafe

impl<W> RefUnwindSafe for DeflateEncoder<W> where
    W: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<W> WriteBytesExt for W where
    W: Write + ?Sized
[src]