Throttle content streams in writer
diff --git a/lib/src/writer.dart b/lib/src/writer.dart
index 76f9d87..5ff92b9 100644
--- a/lib/src/writer.dart
+++ b/lib/src/writer.dart
@@ -207,7 +207,7 @@
if (bufferedData != null) {
_output.add(bufferedData);
} else {
- await event.contents.forEach(_output.add);
+ await _output.addStream(event.contents);
}
_output.add(_paddingBytes(size));
@@ -240,6 +240,10 @@
Uint8List _paddingBytes(int size) {
final padding = -size % blockSize;
+ assert((size + padding) % blockSize == 0 &&
+ padding <= blockSize &&
+ padding >= 0);
+
return Uint8List(padding);
}