Struct deflate::write::GzEncoder [] [src]

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

A Gzip encoder/compressor.

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

Examples

use std::io::Write;

use deflate::Compression;
use deflate::write::GzEncoder;

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

Methods

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

Create a new GzEncoder writing deflate-compressed data to the underlying writer when written to, wrapped in a gzip header and trailer. The header details will be blank.

Create a new GzEncoder from the provided GzBuilder. This allows customising the detalis of the header, such as the filename and comment fields.

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

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

Resets the encoder (excelt the compression options), replacing the current writer with a new one, returning the old one, and using the provided GzBuilder to create the header.

Get the crc32 checksum of the data comsumed so far.

Trait Implementations

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

Write a buffer into this object, returning how many bytes were written. Read more

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.

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Creates a "by reference" adaptor for this instance of Write. Read more

impl<W: Write> Drop for GzEncoder<W>
[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.