private ChunkedFileReader GetFileReader(ChunkedHandlers.ChunkedGZip.ChunkedGZipDecompressor decompressor) { var reader = new ChunkedFileReader(_compressedFile, new System.Threading.CancellationToken()); reader.ChunkRead += (chunk, isLastChunk) => decompressor.AddChunkToQueue(chunk, isLastChunk); reader.OnError += error => Assert.Fail(error.GetException().ToString()); return(reader); }
private ChunkedFileReader GetFileReader(ChunkedHandlers.ChunkedGZip.ChunkedGZipCompressor compressor) { var reader = new ChunkedFileReader(_sourceFile, _maxChunkSize, new CancellationToken()); reader.ChunkRead += (chunk, isLastChunk) => compressor.AddChunkToQueue(chunk, isLastChunk); reader.OnError += error => Assert.Fail(error.GetException().ToString()); return(reader); }
public GzipCompress(ArchiverOptions archiverOptions) { _archiverOptions = archiverOptions ?? throw new ArgumentNullException(nameof(archiverOptions)); _chunkedFileReader = new ChunkedFileReader(); _chunkedFileReader.OpenResources(_archiverOptions.InputFile); _chunkSize = Size / _archiverOptions.Chunks; _gzipJobs = new Queue <GzipCompressJob>((int)_archiverOptions.JobsCount); Operated = 0; }
public void FileRead() { _readFileInfo = GenerateFile(); using (var reader = new ChunkedFileReader(_readFileInfo, _maxChunkSize, new System.Threading.CancellationToken())) { reader.ChunkRead += (chunk, isLastChunk) => _proccessedReadBytes += chunk.Bytes.Length; reader.OnError += error => Assert.Fail(error.GetException().StackTrace); reader.ReadAllBytes(); } Assert.AreEqual(_proccessedReadBytes, _readFileInfo.Length); }
public ChunkedFileDescriptor StoreFileChunks(FileInfo file, string description = null) { ChunkedFileReader chunked = new ChunkedFileReader(file, ChunkLength); ChunkedFileDescriptor chunkedFileDescriptor = chunked.ToChunkedFileDescriptor(description); SaveFileDescriptor(chunkedFileDescriptor); foreach (ChunkedFileDataDescriptor chunkFileDataDescriptor in chunked.ToChunkedFileDataDescriptor()) { ChunkData chunk = chunkFileDataDescriptor.ChunkData; SaveChunkData(chunk); ChunkDataDescriptor xref = chunkFileDataDescriptor.ChunkDataDescriptor; SaveChunkDataDescriptor(xref); } return(chunkedFileDescriptor); }
public ThreadManager(FileInfo source, int maxBytesChunk, ChunkedGZipCompressor chunkedHandler, FileInfo destination) { _reader = new ChunkedFileReader(source, maxBytesChunk, _token.Token); InitializeModules(chunkedHandler, destination); }