Ejemplo n.º 1
0
        public FileChunkReader(string inputFilePath, FileChunkQueue processingQueue)
        {
            InputFilePath   = inputFilePath;
            ProcessingQueue = processingQueue;

            _worker = new Thread(Read);
        }
Ejemplo n.º 2
0
 public CompressionModeFactory(string inputFilePath, string outputFilePath,
                               FileChunkQueue compressionQueue, FileChunkQueue writingQueue)
 {
     InputFilePath    = inputFilePath;
     OutputFilePath   = outputFilePath;
     CompressionQueue = compressionQueue;
     WritingQueue     = writingQueue;
 }
Ejemplo n.º 3
0
        public FileChunkWriter(string outputFilePath, FileChunkQueue inputQueue, long totalChunkCount, EventWaitHandle finishHandle)
        {
            OutputFilePath  = outputFilePath;
            InputQueue      = inputQueue;
            TotalChunkCount = totalChunkCount;

            FinishEventHandle = finishHandle;
            _worker           = new Thread(Write);
        }
Ejemplo n.º 4
0
        public CompressionWorker(FileChunkQueue inputQueue, FileChunkQueue outputQueue,
                                 ICompressionModeStrategy compressionStrategy)
        {
            InputQueue          = inputQueue;
            OutputQueue         = outputQueue;
            CompressionStrategy = compressionStrategy;

            for (int i = 0; i < _numOfWorkerThreads; ++i)
            {
                _waitHandles[i] = new AutoResetEvent(false);
                _workers[i]     = new Thread(new ParameterizedThreadStart(RunCompression));
            }
        }
Ejemplo n.º 5
0
        public static CompressionModeFactory Create(InputParameters parameters)
        {
            var compressionQueue = new FileChunkQueue();
            var writingQueue     = new FileChunkQueue();

            if (String.Equals(parameters.CompressionMode, "compress", StringComparison.InvariantCultureIgnoreCase))
            {
                return(new GzCompressionFactory(parameters.InputFilePath, parameters.OutputFilePath,
                                                compressionQueue, writingQueue));
            }

            if (String.Equals(parameters.CompressionMode, "decompress", StringComparison.InvariantCultureIgnoreCase))
            {
                return(new GzDecompressionFactory(parameters.InputFilePath, parameters.OutputFilePath,
                                                  compressionQueue, writingQueue));
            }

            throw new ArgumentOutOfRangeException("First parameter must have 'compress' or 'decompress' values");
        }
Ejemplo n.º 6
0
 public FileChunkCompressionReader(string inputFilePath, FileChunkQueue processingQueue,
                                   int chunkByteSize = 2 << 23) : base(inputFilePath, processingQueue)
 {
     ChunkByteSize = chunkByteSize;
 }
Ejemplo n.º 7
0
 public GzDecompressionFactory(string inputFilePath, string outputFilePath,
                               FileChunkQueue processingQueue, FileChunkQueue writingQueue)
     : base(inputFilePath, outputFilePath, processingQueue, writingQueue)
 {
 }
Ejemplo n.º 8
0
 public FileChunkDecompressionReader(string inputFilePath, FileChunkQueue processingQueue)
     : base(inputFilePath, processingQueue)
 {
 }
 public FileChunkDecompressionWriter(string outputFilePath, FileChunkQueue inputQueue, long totalChunkCount, EventWaitHandle finishHandle)
     : base(outputFilePath, inputQueue, totalChunkCount, finishHandle)
 {
 }