Enum flate2::FlushCompress
source · #[non_exhaustive]pub enum FlushCompress {
None = 0,
Sync = 2,
Partial = 1,
Full = 3,
Finish = 4,
}
Expand description
Values which indicate the form of flushing to be used when compressing in-memory data.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
None = 0
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.
Sync = 2
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.
Partial = 1
All pending output is flushed to the output buffer, but the output is not aligned to a byte boundary.
All of the 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 bites long, and it assures
that enough bytes are output in order for the decompressor to finish the
block before the empty fixed code block.
Full = 3
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 = 4
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.
Trait Implementations§
source§impl Clone for FlushCompress
impl Clone for FlushCompress
source§fn clone(&self) -> FlushCompress
fn clone(&self) -> FlushCompress
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FlushCompress
impl Debug for FlushCompress
source§impl PartialEq for FlushCompress
impl PartialEq for FlushCompress
source§fn eq(&self, other: &FlushCompress) -> bool
fn eq(&self, other: &FlushCompress) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for FlushCompress
impl Eq for FlushCompress
impl StructuralPartialEq for FlushCompress
Auto Trait Implementations§
impl Freeze for FlushCompress
impl RefUnwindSafe for FlushCompress
impl Send for FlushCompress
impl Sync for FlushCompress
impl Unpin for FlushCompress
impl UnwindSafe for FlushCompress
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)