/// <summary> /// Decompresses the specified source stream. /// </summary> /// <param name="sourceStream">The source stream.</param> /// <param name="nodeId"></param> /// <returns>Decompressed stream</returns> public Stream Decompress(Stream sourceStream, string nodeId) { var args = new StreamEventArgs(sourceStream, nodeId); // try custom decompression Owner.DoBeforeDecompress(args); // if no custom decompression then do default if (!args.Done) { using (var zipStream = new GZipStream(sourceStream, CompressionMode.Decompress, false)) { zipStream.CopyTo(args.DestStream); } } args.DestStream.Seek(0, SeekOrigin.Begin); Owner.DoAfterDecompress(args); return(args.DestStream); }
/// <summary> /// Decompresses the specified source stream. /// </summary> /// <param name="sourceStream">The source stream.</param> /// <param name="nodeId"></param> /// <returns>Decompressed stream</returns> public Stream Decompress(Stream sourceStream, string nodeId) { var args = new StreamEventArgs(sourceStream, nodeId); // try custom decompression Owner.DoBeforeDecompress(args); // if no custom decompression then do default if (!args.Done) { using (var zipStream = new GZipStream(sourceStream, CompressionMode.Decompress, false)) { zipStream.CopyTo(args.DestStream); } } args.DestStream.Seek(0, SeekOrigin.Begin); Owner.DoAfterDecompress(args); return args.DestStream; }
internal void DoBeforeDecompress(StreamEventArgs e) { var handler = BeforeDecompress; if (handler != null) handler(this, e); }
internal void DoAfterCompress(StreamEventArgs e) { var handler = AfterCompress; if (handler != null) handler(this, e); }