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

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

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

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

pub fn new<O: Into<CompressionOptions>>(writer: W, options: O) -> 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.

pub fn from_builder<O: Into<CompressionOptions>>(
    builder: GzBuilder,
    writer: W,
    options: O
) -> GzEncoder<W>
[src]

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

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

Encode all pending data to the contained writer, consume this GzEncoder, 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. (Using a blank header).

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

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.

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

Get the crc32 checksum of the data consumed so far.

Trait Implementations

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

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

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

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

impl<W> UnwindSafe for GzEncoder<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]