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

            conf.SetBoolean(CommonConfigurationKeys.IoNativeLibAvailableKey, true);
            if (ZlibFactory.IsNativeZlibLoaded(conf))
            {
                byte[]       rawData;
                int          tryNumber        = 5;
                int          ByteSize         = 10 * 1024;
                Compressor   zlibCompressor   = ZlibFactory.GetZlibCompressor(conf);
                Decompressor zlibDecompressor = ZlibFactory.GetZlibDecompressor(conf);
                rawData = Generate(ByteSize);
                try
                {
                    for (int i = 0; i < tryNumber; i++)
                    {
                        CompressDecompressZlib(rawData, (ZlibCompressor)zlibCompressor, (ZlibDecompressor
                                                                                         )zlibDecompressor);
                    }
                    zlibCompressor.Reinit(conf);
                }
                catch (Exception ex)
                {
                    NUnit.Framework.Assert.Fail("testZlibCompressorDecompressorWithConfiguration ex error "
                                                + ex);
                }
            }
            else
            {
                Assert.True("ZlibFactory is using native libs against request",
                            ZlibFactory.IsNativeZlibLoaded(conf));
            }
        }
コード例 #2
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));
        }
コード例 #3
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");
     }
 }
コード例 #4
0
        public virtual void TestZlibCompressorDecompressorSetDictionary()
        {
            Configuration conf = new Configuration();

            conf.SetBoolean(CommonConfigurationKeys.IoNativeLibAvailableKey, true);
            if (ZlibFactory.IsNativeZlibLoaded(conf))
            {
                Compressor   zlibCompressor   = ZlibFactory.GetZlibCompressor(conf);
                Decompressor zlibDecompressor = ZlibFactory.GetZlibDecompressor(conf);
                CheckSetDictionaryNullPointerException(zlibCompressor);
                CheckSetDictionaryNullPointerException(zlibDecompressor);
                CheckSetDictionaryArrayIndexOutOfBoundsException(zlibDecompressor);
                CheckSetDictionaryArrayIndexOutOfBoundsException(zlibCompressor);
            }
            else
            {
                Assert.True("ZlibFactory is using native libs against request",
                            ZlibFactory.IsNativeZlibLoaded(conf));
            }
        }
コード例 #5
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");
     }
 }
コード例 #6
0
 /// <summary>Return the appropriate implementation of the zlib compressor.</summary>
 /// <param name="conf">configuration</param>
 /// <returns>the appropriate implementation of the zlib compressor.</returns>
 public static Compressor GetZlibCompressor(Configuration conf)
 {
     return((IsNativeZlibLoaded(conf)) ? new ZlibCompressor(conf) : new BuiltInZlibDeflater
                (ZlibFactory.GetCompressionLevel(conf).CompressionLevel()));
 }
コード例 #7
0
 public virtual void Before()
 {
     Assume.AssumeTrue(ZlibFactory.IsNativeZlibLoaded(new Configuration()));
 }
コード例 #8
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)
 {
 }