Table of Contents

Enum FlushType

Namespace
Ionic.Zlib
Assembly
SunamoDotNetZip.dll

Describes how to flush the current deflate operation.

public enum FlushType
Extension Methods

Fields

Finish = 4

Signals the end of the compression/decompression stream.

Full = 3

Use this during compression to specify that all output should be flushed, as with FlushType.Sync, but also, the compression state should be reset so that decompression can restart from this point if previous compressed data has been damaged or if random access is desired. Using FlushType.Full too often can significantly degrade the compression.

None = 0

No flush at all.

Partial = 1

Closes the current block, but doesn't flush it to the output. Used internally only in hypothetical scenarios. This was supposed to be removed by Zlib, but it is still in use in some edge cases.

Sync = 2

Use this during compression to specify that all pending output should be flushed to the output buffer and the output should be aligned on a byte boundary. You might use this in a streaming communication scenario, so that the decompressor can get all input data available so far. When using this with a ZlibCodec, AvailableBytesIn will be zero after the call if enough output space has been provided before the call. Flushing will degrade compression and so it should be used only when necessary.

Remarks

The different FlushType values are useful when using a Deflate in a streaming application.