Ejemplo n.º 1
0
        public CompressionHandler CreateHandler(int desiredLength = 1024 *32)
        {
            var dictionary = _dictionaryOptimizer.Optimize(desiredLength);
            var training   = new SubstringPacker(dictionary);

            var huffmanTableTrainer = new HuffmanTableTrainer();

            foreach (var document in _dictionaryOptimizer.Documents)
            {
                training.Pack(document, huffmanTableTrainer, null);
            }

            var packer = huffmanTableTrainer.GeneratePacker();

            return(new CompressionHandler(dictionary, packer));
        }
 public CompressionHandler(byte[] dictionary, HuffmanPacker packer)
 {
     _dictionary      = dictionary;
     _packer          = packer;
     _substringPacker = new SubstringPacker(_dictionary);
 }