/// <summary> /// Create an InflaterInputStream with the specified decompressor /// and the specified buffer size. /// </summary> /// <param name = "baseInputStream"> /// The InputStream to read bytes from /// </param> /// <param name = "inflater"> /// The decompressor to use /// </param> /// <param name = "bufferSize"> /// Size of the buffer to use /// </param> public InflaterInputStream( Stream baseInputStream, Inflater inflater, int bufferSize ) { if( baseInputStream == null ) { throw new ArgumentNullException( "baseInputStream" ); } if( inflater == null ) { throw new ArgumentNullException( "inflater" ); } if( bufferSize <= 0 ) { throw new ArgumentOutOfRangeException( "bufferSize" ); } this.baseInputStream = baseInputStream; this.inf = inflater; inputBuffer = new InflaterInputBuffer( baseInputStream, bufferSize ); }
/// <summary> /// Call <see cref="Inflater.SetInput(byte[], int, int)"/> passing the current clear text buffer contents. /// </summary> /// <param name="inflater">The inflater to set input for.</param> public void SetInflaterInput( Inflater inflater ) { if( available > 0 ) { inflater.SetInput( clearText, clearTextLength - available, available ); available = 0; } }
/// <summary> /// Create an InflaterInputStream with the specified decompressor /// and a default buffer size of 4KB. /// </summary> /// <param name = "baseInputStream"> /// The source of input data /// </param> /// <param name = "inf"> /// The decompressor used to decompress data read from baseInputStream /// </param> public InflaterInputStream( Stream baseInputStream, Inflater inf ) : this( baseInputStream, inf, 4096 ) { }