Ejemplo n.º 1
0
        public ConcurrentBlockDecompressor(
            ICompressor compressor,
            string pathToFile,
            string saveToFile,
            int batchSize = 1024
            )
        {
            var workerCount = Environment.ProcessorCount * 5;

            _chunkSize = 100;

            _compressor = compressor;

            _saveToFile = saveToFile;
            _fileStreamByBatchWriter = new FileStreamByBatchWriter(_saveToFile);

            _producerConsumerDecompressTask = new ProducerConsumerQueue(workerCount);
            _producerConsumerWriteTask      = new ProducerConsumerQueue();
            _gzipActionPerformer            = new GzipActionPerformer(
                _producerConsumerDecompressTask,
                _producerConsumerWriteTask,
                _fileStreamByBatchWriter
                );


            _pathToFile = pathToFile;
            _fileStreamBatchEnumerator = new FileStreamBatchEnumerator(_pathToFile, batchSize);
        }
Ejemplo n.º 2
0
        public void Setup()
        {
            _tempInFileName  = Path.GetTempFileName();
            _tempOutFileName = Path.GetTempFileName();

            _fileStreamBatchEnumerator = new FileStreamBatchEnumerator(_tempInFileName, 2);
            _fileStreamByBatchWriter   = new FileStreamByBatchWriter(_tempOutFileName);
        }