Enum FlushCompress

enum FlushCompress

Values which indicate the form of flushing to be used when compressing in-memory data.

Variants

None

A typical parameter for passing to compression/decompression functions, this indicates that the underlying stream to decide how much data to accumulate before producing output in order to maximize compression.

Partial

All pending output is flushed to the output buffer, but the output is not aligned to a byte boundary.

All input data so far will be available to the decompressor (as with Flush::Sync). This completes the current deflate block and follows it with an empty fixed codes block that is 10 bits long, and it assures that enough bytes are output in order for the decompressor to finish the block before the empty fixed code block.

Sync

All pending output is flushed to the output buffer and the output is aligned on a byte boundary so that the decompressor can get all input data available so far.

Flushing may degrade compression for some compression algorithms and so it should only be used when necessary. This will complete the current deflate block and follow it with an empty stored block.

Full

All output is flushed as with Flush::Sync and the compression state is reset so decompression can restart from this point if previous compressed data has been damaged or if random access is desired.

Using this option too often can seriously degrade compression.

Finish

Pending input is processed and pending output is flushed.

The return value may indicate that the stream is not yet done and more data has yet to be processed.

Implementations

impl Clone for FlushCompress

fn clone(self: &Self) -> FlushCompress

impl Copy for FlushCompress

impl Debug for FlushCompress

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl Eq for FlushCompress

impl Freeze for FlushCompress

impl PartialEq for FlushCompress

fn eq(self: &Self, other: &FlushCompress) -> bool

impl RefUnwindSafe for FlushCompress

impl Send for FlushCompress

impl StructuralPartialEq for FlushCompress

impl Sync for FlushCompress

impl Unpin for FlushCompress

impl UnsafeUnpin for FlushCompress

impl UnwindSafe for FlushCompress

impl<T> Any for FlushCompress

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for FlushCompress

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for FlushCompress

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

impl<T> CloneToUninit for FlushCompress

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for FlushCompress

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for FlushCompress

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for FlushCompress

fn into(self: 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 for FlushCompress

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for FlushCompress

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