Esempio n. 1
0
        public _MultithreadedCompressor(string inputFileName, string outputFileName, int blockLength)
        {
            _inputFileName  = inputFileName;
            _outputFileName = outputFileName;

            var file = new FileInfo(_inputFileName);

            _blockLength   = blockLength;
            _countOfBlocks = file.Length / _blockLength
                             + (file.Length % _blockLength == 0 ? 0 : 1);

            _byteBlockPool        = new ObjectPool <byte[]>(new _ByteArrayCreator(_blockLength), null, DEFAULT_BLOCK_POOL_SIZE);
            _byteBlocksToCompress = new AvoidingLockConcurrentStorage <_OrderedByteBlock>(_countOfBlocks);
        }