System.IO.Compression.Deflater.Deflate C# (CSharp) Method

Deflate() private method

private Deflate ( System.IO.Compression.ZLibNative.FlushCode flushCode ) : System.IO.Compression.ZLibNative.ErrorCode
flushCode System.IO.Compression.ZLibNative.FlushCode
return System.IO.Compression.ZLibNative.ErrorCode
        private ZErrorCode Deflate(ZFlushCode flushCode)
        {
            ZErrorCode errC;
            try
            {
                errC = _zlibStream.Deflate(flushCode);
            }
            catch (Exception cause)
            {
                throw new ZLibException(SR.ZLibErrorDLLLoadError, cause);
            }

            switch (errC)
            {
                case ZErrorCode.Ok:
                case ZErrorCode.StreamEnd:
                    return errC;

                case ZErrorCode.BufError:
                    return errC;  // This is a recoverable error

                case ZErrorCode.StreamError:
                    throw new ZLibException(SR.ZLibErrorInconsistentStream, "deflate", (int)errC, _zlibStream.GetErrorMessage());

                default:
                    throw new ZLibException(SR.ZLibErrorUnexpected, "deflate", (int)errC, _zlibStream.GetErrorMessage());
            }
        }
        #endregion

Usage Example

Exemplo n.º 1
0
 // Close this stream.
 public override void Close()
 {
     if (stream != null)
     {
         if (deflater != null)
         {
             int temp;
             deflater.Finish();
             while (!deflater.IsFinished)
             {
                 temp = deflater.Deflate(buf, 0, buf.Length);
                 if (temp <= 0)
                 {
                     if (!deflater.IsFinished)
                     {
                         throw new IOException
                                   ("IO_Compress_Input");
                     }
                     break;
                 }
                 stream.Write(buf, 0, temp);
             }
         }
         if (!leaveOpen)
         {
             stream.Close();
         }
         stream   = null;
         inflater = null;
         deflater = null;
         buf      = null;
     }
 }
All Usage Examples Of System.IO.Compression.Deflater::Deflate