# 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 `DeflateEncoder`, 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 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.

#### `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.

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)