Struct Deflate
pub struct Deflate { /* private fields */ }
The state that is used to compress an input.
Implementations
impl Deflate
fn total_in(&self) -> u64The number of bytes that were read from the input.
fn total_out(&self) -> u64The 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) -> SelfCreate a new instance - this allocates so should be done with care.
The
window_bitsmust be in the range8..=15, with15being 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
inputand write compressed bytes tooutput, withflushcontrolling additional characteristics.fn compress_uninit(&mut self, input: &[u8], output: &mut [MaybeUninit<u8>], flush: DeflateFlush) -> Result<Status, DeflateError>Compress
inputand write compressed bytes to a potentially uninitializedoutput, withflushcontrolling 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::resetto 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) -> TReturns the argument unchanged.
impl<T, U> Into<U> for Deflate
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses 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>