private void Cread() { byte[] compressedChunk = new byte[Cstream.Length]; Cstream.Position = 0; Cstream.Read(compressedChunk, 0, compressedChunk.Length); Bhandle(compressedChunk); Cstream.Position = 0; Cstream.SetLength(0); }
public void Finish() { ThrowIfEnded(); lock (Clock) { ThrowIfFinished(); Finished = true; Caccessor.Dispose(); Cstream.Dispose(); } }
public override void Write(byte[] data) { ThrowIfEnded(); lock (Clock) { ThrowIfFinished(); Cstream.Write(data, 0, data.Length); Cstream.Position = 0; int len; len = Caccessor.Read(Cbuffer, 0, Cbuffer.Length); while (len > 0) { byte[] spliced = new byte[len]; Buffer.BlockCopy(Cbuffer, 0, spliced, 0, len); Bwrite(spliced); len = Caccessor.Read(Cbuffer, 0, Cbuffer.Length); } } }
=> Caccessor = new DeflateStream(Cstream, compressionLevel, true);
=> Caccessor = new GZipStream(Cstream, compressionLevel, true);
=> Caccessor = new DeflateStream(Cstream, CompressionMode.Decompress, true);
=> Caccessor = new GZipStream(Cstream, CompressionMode.Decompress, true);