[][src]Struct deflate::write::ZlibEncoder

pub struct ZlibEncoder<W: Write> { /* fields omitted */ }

A Zlib encoder/compressor.

A struct implementing a Write interface that takes arbitrary data and compresses it to the provided writer using DEFLATE compression with Zlib headers and trailers.

Examples

use std::io::Write;

use deflate::Compression;
use deflate::write::ZlibEncoder;

let data = b"This is some test data";
let mut encoder = ZlibEncoder::new(Vec::new(), Compression::Default);
encoder.write_all(data)?;
let compressed_data = encoder.finish()?;

Implementations

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

pub fn new<O: Into<CompressionOptions>>(writer: W, options: O) -> ZlibEncoder<W>[src]

Create a new ZlibEncoder using the provided compression options.

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

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

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

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

pub fn checksum(&self) -> u32[src]

Return the adler32 checksum of the currently consumed data.

Trait Implementations

impl<W: Write> Drop for ZlibEncoder<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 ZlibEncoder<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> RefUnwindSafe for ZlibEncoder<W> where
    W: RefUnwindSafe

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

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

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

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

Blanket Implementations

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<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<W> WriteBytesExt for W where
    W: Write + ?Sized
[src]