Enum flate2::Flush
[−]
[src]
pub enum Flush { None, Sync, Partial, Block, Full, Finish, }
Values which indicate the form of flushing to be used when compressing or decompressing 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. | |
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 comperssion 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 | 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 | |
Block | A deflate block is completed and emitted, as for In this case the decompressor may not be provided enough bits at this point in order to complete decompression of the data provided so far to the compressor, it may need to wait for the next block to be emitted. This is for advanced applications that need to control the emission of deflate blocks. | |
Full | All output is flushed as with 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. |