public override void Write(byte[] buffer, int offset, int count) { if (offset != 0 || count != buffer.Length) // We check this to avoid allocating more memory for the copy { var value = new byte[count]; Array.Copy(buffer, offset, value, 0, count); PendingWrites.AddRange(value); } else PendingWrites.AddRange(buffer); }
public override void Flush() { BaseStream.Write(PendingWrites.ToArray(), 0, PendingWrites.Count); PendingWrites.Clear(); }