/// <summary>
	    /// Construct instance with pending buffer
	    /// </summary>
	    /// <param name="pending">
	    /// Pending buffer to use
	    /// </param>>
	    public DeflaterEngine(DeflaterPending pending) 
	    {
	        this.pending = pending;
	        huffman = new DeflaterHuffman(pending);
	        adler = new Adler32();
			
	        window = new byte[2 * WSIZE];
	        head   = new short[HASH_SIZE];
	        prev   = new short[WSIZE];
			
	        // We start at index 1, to avoid an implementation deficiency, that
	        // we cannot build a repeat pattern at index 0.
	        blockStart = strstart = 1;
	    }
Esempio n. 2
0
	    /// <summary>
	    /// Creates a new inflater.
	    /// </summary>
	    /// <param name="noHeader">
	    /// True if no RFC1950/Zlib header and footer fields are expected in the input data
	    /// 
	    /// This is used for GZIPed/Zipped input.
	    /// 
	    /// For compatibility with
	    /// Sun JDK you should provide one byte of input more than needed in
	    /// this case.
	    /// </param>
	    public Inflater(bool noHeader)
	    {
	        this.noHeader = noHeader;
	        adler = new Adler32();
	        input = new StreamManipulator();
	        outputWindow = new OutputWindow();
	        mode = noHeader ? DECODE_BLOCKS : DECODE_HEADER;
	    }