Zlib.InflateManager.Initialize C# (CSharp) Метод

Initialize() приватный Метод

private Initialize ( ZlibCodec codec, int w ) : int
codec ZlibCodec ///
w int
Результат int
        internal int Initialize(ZlibCodec codec, int w)
        {
            this.codec = codec;
            this.codec.Message = null;
            this.blocks = null;

            // handle undocumented nowrap option (no zlib header or check) nowrap = 0; if (w < 0) { w = - w; nowrap = 1;
            // }

            // set window size
            if (w < 8 || w > 15)
            {
                this.End();
                throw new ZlibException("Bad window size.");

                // return ZlibConstants.Z_STREAM_ERROR;
            }

            this.wbits = w;

            this.blocks = new InflateBlocks(codec, this.HandleRfc1950HeaderBytes ? this : null, 1 << w);

            // reset state
            this.Reset();
            return ZlibConstants.Zok;
        }

Usage Example

Пример #1
0
 /// <summary>
 /// Initialize the inflation state with an explicit flag to govern the handling of
 /// RFC1950 header bytes.
 /// </summary>
 ///
 /// <remarks>
 /// If you want to read a zlib stream you should specify true for
 /// expectRfc1950Header. In this case, the library will expect to find a ZLIB
 /// header, as defined in <see href="http://www.ietf.org/rfc/rfc1950.txt">RFC
 /// 1950</see>, in the compressed stream.  If you will be reading a DEFLATE or
 /// GZIP stream, which does not have such a header, you will want to specify
 /// false.
 /// </remarks>
 ///
 /// <param name="expectRfc1950Header">whether to expect an RFC1950 header byte pair when reading
 /// the stream of data to be inflated.</param>
 /// <param name="windowBits">The number of window bits to use. If you need to ask what that is,
 /// then you shouldn't be calling this initializer.</param>
 /// <returns>Z_OK if everything goes well.</returns>
 public int InitializeInflate(int windowBits, bool expectRfc1950Header)
 {
     this.WindowBits = windowBits;
     if (dstate != null)
     {
         throw new ZlibException("You may not call InitializeInflate() after calling InitializeDeflate().");
     }
     istate = new InflateManager(expectRfc1950Header);
     return(istate.Initialize(this, windowBits));
 }