Struct Deflate

pub struct Deflate { /* private fields */ }

The state that is used to compress an input.

Implementations

impl Deflate

fn total_in(&self) -> u64

The number of bytes that were read from the input.

fn total_out(&self) -> u64

The number of compressed bytes that were written to the output.

fn error_message(&self) -> Option<&'static str>

The error message if the previous operation failed.

fn new(level: i32, zlib_header: bool, window_bits: u8) -> Self

Create a new instance - this allocates so should be done with care.

The window_bits must be in the range 8..=15, with 15 being most common.

fn reset(&mut self)

Prepare the instance for a new stream.

fn compress(&mut self, input: &[u8], output: &mut [u8], flush: DeflateFlush) -> Result<Status, DeflateError>

Compress input and write compressed bytes to output, with flush controlling additional characteristics.

fn compress_uninit(&mut self, input: &[u8], output: &mut [MaybeUninit<u8>], flush: DeflateFlush) -> Result<Status, DeflateError>

Compress input and write compressed bytes to a potentially uninitialized output, with flush controlling additional characteristics.

fn set_dictionary(&mut self, dictionary: &[u8]) -> Result<u32, DeflateError>

Specifies the compression dictionary to use.

Returns the Adler-32 checksum of the dictionary.

fn set_level(&mut self, level: i32) -> Result<Status, DeflateError>

Dynamically updates the compression level.

This can be used to switch between compression levels for different kinds of data, or it can be used in conjunction with a call to Deflate::reset to reuse the compressor.

This may return an error if there wasn't enough output space to complete the compression of the available input data before changing the compression level. Flushing the stream before calling this method ensures that the function will succeed on the first call.

Trait Implementations

impl Drop for Deflate

fn drop(&mut self)

Auto Trait Implementations

impl !UnwindSafe for Deflate

impl Freeze for Deflate

impl RefUnwindSafe for Deflate

impl Send for Deflate

impl Sync for Deflate

impl Unpin for Deflate

impl UnsafeUnpin for Deflate

Blanket Implementations

impl<T> Any for Deflate where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Deflate where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Deflate where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for Deflate

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for Deflate where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Deflate where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Deflate where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>