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

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

A Gzip encoder/compressor.

A struct implementing a Write interface that takes arbitrary 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()?;

Implementations

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 details 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 (except 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 consumed so far.

Trait Implementations

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.

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.

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

Like write, except that it writes from a slice of buffers. Read more

🔬 This is a nightly-only experimental API. (can_vector)

Determines if this Writer has an efficient write_vectored implementation. Read more

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

🔬 This is a nightly-only experimental API. (write_all_vectored)

Attempts to write multiple buffers into this writer. Read more

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

Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.