コード例 #1
0
        public virtual void TestZlibFactory()
        {
            Configuration cfg = new Configuration();

            Assert.True("testZlibFactory compression level error !!!", ZlibCompressor.CompressionLevel
                        .DefaultCompression == ZlibFactory.GetCompressionLevel(cfg));
            Assert.True("testZlibFactory compression strategy error !!!", ZlibCompressor.CompressionStrategy
                        .DefaultStrategy == ZlibFactory.GetCompressionStrategy(cfg));
            ZlibFactory.SetCompressionLevel(cfg, ZlibCompressor.CompressionLevel.BestCompression
                                            );
            Assert.True("testZlibFactory compression strategy error !!!", ZlibCompressor.CompressionLevel
                        .BestCompression == ZlibFactory.GetCompressionLevel(cfg));
            ZlibFactory.SetCompressionStrategy(cfg, ZlibCompressor.CompressionStrategy.Filtered
                                               );
            Assert.True("testZlibFactory compression strategy error !!!", ZlibCompressor.CompressionStrategy
                        .Filtered == ZlibFactory.GetCompressionStrategy(cfg));
        }
コード例 #2
0
 /// <summary>
 /// Prepare the compressor to be used in a new stream with settings defined in
 /// the given Configuration.
 /// </summary>
 /// <remarks>
 /// Prepare the compressor to be used in a new stream with settings defined in
 /// the given Configuration. It will reset the compressor's compression level
 /// and compression strategy.
 /// </remarks>
 /// <param name="conf">Configuration storing new settings</param>
 public virtual void Reinit(Configuration conf)
 {
     Reset();
     if (conf == null)
     {
         return;
     }
     End(stream);
     level    = ZlibFactory.GetCompressionLevel(conf);
     strategy = ZlibFactory.GetCompressionStrategy(conf);
     stream   = Init(level.CompressionLevel(), strategy.CompressionStrategy(), windowBits
                     .WindowBits());
     if (Log.IsDebugEnabled())
     {
         Log.Debug("Reinit compressor with new compression configuration");
     }
 }
コード例 #3
0
 /// <summary>reinit the compressor with the given configuration.</summary>
 /// <remarks>
 /// reinit the compressor with the given configuration. It will reset the
 /// compressor's compression level and compression strategy. Different from
 /// <tt>ZlibCompressor</tt>, <tt>BuiltInZlibDeflater</tt> only support three
 /// kind of compression strategy: FILTERED, HUFFMAN_ONLY and DEFAULT_STRATEGY.
 /// It will use DEFAULT_STRATEGY as default if the configured compression
 /// strategy is not supported.
 /// </remarks>
 public virtual void Reinit(Configuration conf)
 {
     Reset();
     if (conf == null)
     {
         return;
     }
     SetLevel(ZlibFactory.GetCompressionLevel(conf).CompressionLevel());
     ZlibCompressor.CompressionStrategy strategy = ZlibFactory.GetCompressionStrategy(
         conf);
     try
     {
         SetStrategy(strategy.CompressionStrategy());
     }
     catch (ArgumentException)
     {
         Log.Warn(strategy + " not supported by BuiltInZlibDeflater.");
         SetStrategy(DefaultStrategy);
     }
     if (Log.IsDebugEnabled())
     {
         Log.Debug("Reinit compressor with new compression configuration");
     }
 }
コード例 #4
0
 /// <summary>Creates a new compressor, taking settings from the configuration.</summary>
 public ZlibCompressor(Configuration conf)
     : this(ZlibFactory.GetCompressionLevel(conf), ZlibFactory.GetCompressionStrategy(
                conf), ZlibCompressor.CompressionHeader.DefaultHeader, DefaultDirectBufferSize)
 {
 }