19 switch (compressionLevel)
91 return _zlibStream.AvailIn == 0;
96 if (inputBuffer.
Length == 0)
104 _zlibStream.AvailIn = (uint)inputBuffer.
Length;
116 _zlibStream.NextIn = (
IntPtr)inputBufferPtr;
117 _zlibStream.AvailIn = (uint)
count;
141 fixed (
byte* ptr = &outputBuffer[0])
143 _zlibStream.NextOut = (
IntPtr)ptr;
144 _zlibStream.AvailOut = (uint)outputBuffer.Length;
146 bytesRead = outputBuffer.Length - (int)
_zlibStream.AvailOut;
152 internal bool Finish(
byte[] outputBuffer, out
int bytesRead)
158 internal bool Flush(
byte[] outputBuffer, out
int bytesRead)
167 _zlibStream.AvailIn = 0u;
static void SuppressFinalize(object obj)
bool Finish(byte[] outputBuffer, out int bytesRead)
Deflater(CompressionLevel compressionLevel, int windowBits)
ZLibNative.ErrorCode Deflate(ZLibNative.FlushCode flushCode)
void Dispose(bool disposing)
readonly ZLibNative.ZLibStreamHandle _zlibStream
int GetDeflateOutput(byte[] outputBuffer)
MemoryHandle _inputBufferHandle
unsafe ZLibNative.ErrorCode ReadDeflateOutput(byte[] outputBuffer, ZLibNative.FlushCode flushCode, out int bytesRead)
unsafe void SetInput(ReadOnlyMemory< byte > inputBuffer)
void DeallocateInputBufferHandle()
unsafe void SetInput(byte *inputBufferPtr, int count)
bool Flush(byte[] outputBuffer, out int bytesRead)
static readonly IntPtr ZNullPtr
static ErrorCode CreateZLibStreamForDeflate(out ZLibStreamHandle zLibStreamHandle, CompressionLevel level, int windowBits, int memLevel, CompressionStrategy strategy)
static string ZLibErrorNotEnoughMemory
static string ZLibErrorVersionMismatch
static string ZLibErrorDLLLoadError
static string ZLibErrorInconsistentStream
static string ZLibErrorUnexpected
static string ZLibErrorIncorrectInitParameters
unsafe MemoryHandle Pin()