Example #1
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;
     this.adler = new Adler32();
     input = new StreamManipulator();
     outputWindow = new OutputWindow();
     mode = noHeader ? DECODE_BLOCKS : DECODE_HEADER;
 }
Example #2
0
		/// <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;
		}