예제 #1
0
        private static void Compress(CompressOptions options)
        {
            var settings = new CompressSettings {
                ChunkSize = ConvertMegabytesToBytes(options), PoolSize = options.Poolsize
            };
            IStrategy strategy = new CompressStrategy(settings);

            Work(strategy, options);
        }
예제 #2
0
        public static CompressSettingsElastic ToCompressSettingsElastic(CompressSettings compressSettings, int compressLevel)
        {
            if (compressSettings == null)
            {
                if (compressLevel == 0)
                {
                    return new CompressSettingsElastic {
                               CompressCategoryOccurence = 0,
                               CompressDataSetOccurence  = 0,
                               CompressOperator          = (int)LogicalOperatorEnum.AND,
                               CompressLevel             = compressLevel
                    }
                }
                ;

                if (compressLevel == 1)
                {
                    return new CompressSettingsElastic {
                               CompressCategoryOccurence = 1,
                               CompressDataSetOccurence  = 1,
                               CompressOperator          = (int)LogicalOperatorEnum.AND,
                               CompressLevel             = compressLevel
                    }
                }
                ;

                if (compressLevel == 2)
                {
                    return new CompressSettingsElastic {
                               CompressCategoryOccurence = 2,
                               CompressDataSetOccurence  = 100000,
                               CompressOperator          = (int)LogicalOperatorEnum.AND,
                               CompressLevel             = compressLevel
                    }
                }
                ;

                throw new Common.Exceptions.SlambyException($"Invalid CompressLevel {compressLevel}!");
            }
            else
            {
                return(new CompressSettingsElastic {
                    CompressCategoryOccurence = compressSettings.CategoryOccurence,
                    CompressDataSetOccurence = compressSettings.DataSetOccurence,
                    CompressOperator = (int)compressSettings.Operator,
                    CompressLevel = 0
                });
            }
        }
    }
}