public override void Write(byte[] buffer, int offset, int count) { this.stream.Write(buffer, offset, count); if (isDebuggingEnabled) { writepos += count; long percentage = (writepos * 100) / (Length > 0?Length:100); Logger.Debug(String.Format("{0}% {1} of {2})", percentage, Utils.FormatSize(this.writepos), Utils.FormatSize(Length))); } }
public override int Read(byte[] buffer, int offset, int count) { if (isDebuggingEnabled) { int result = this.stream.Read(buffer, offset, count); readpos += result; long percentage = (readpos * 100) / (Length > 0?Length:100); Logger.Debug(String.Format("{0}% {1} of {2}", percentage, Utils.FormatSize(this.readpos), Utils.FormatSize(Length))); return(result); } else { return(this.stream.Read(buffer, offset, count)); } }
public LoggingStream(Stream stream, string prefix, string filename, long streamlength) { this.stream = stream; this.length = streamlength; this.prefix = String.Format("{0} {1}: ", prefix, filename, Utils.FormatSize(Length)); }