Example #1
0
        public IArchProcess DepompressAsync(string target, string output, CancellationToken cancellationToken)
        {
            var scheduler = new SimpleAchScheduler(threadsCount: Environment.ProcessorCount);

            var decompressor = new DecompressorReader(target, scheduler);
            var bufferReader = new BufferReader(decompressor, Consts.DEFAULT_BUFFER_SIZE_LIMIT, scheduler);

            var writer = new FileWriter(output, scheduler);

            var process = new ArchProcess(bufferReader, writer, scheduler);

            process.Start(cancellationToken);

            return(process);
        }
Example #2
0
        public IArchProcess CompressAsync(string target, string output, CancellationToken cancellationToken)
        {
            var scheduler = new SimpleAchScheduler(threadsCount: Environment.ProcessorCount);

            var reader       = new FileReader(target, scheduler);
            var bufferReader = new BufferReader(reader, Consts.DEFAULT_BUFFER_SIZE_LIMIT, scheduler);
            var compressor   = new BlockCompressor(bufferReader, System.IO.Compression.CompressionLevel.Optimal, scheduler);

            var writer = new FileWriter(output, scheduler);

            var process = new ArchProcess(compressor, writer, scheduler);

            process.Start(cancellationToken);

            return(process);
        }