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)); } }
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)); }
/// <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"); } }
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)); } }
/// <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"); } }
/// <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())); }
public virtual void Before() { Assume.AssumeTrue(ZlibFactory.IsNativeZlibLoaded(new Configuration())); }
/// <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) { }