writeFrom method
Writes bytes starting at the current position, advancing it by
bytes.length.
Implementation
@override
Future<void> writeFrom(List<int> bytes) async {
_checkOpen();
if (bytes.isEmpty) return;
if (_chunkLength > 0 && _position != _chunkStart + _chunkLength) {
await _flush();
}
if (_chunkLength + bytes.length > _chunkSize) await _flush();
if (bytes.length >= _chunkSize) {
await _write(
_position,
bytes is Uint8List ? bytes : Uint8List.fromList(bytes),
);
} else {
if (_chunkLength == 0) _chunkStart = _position;
_chunk.setRange(_chunkLength, _chunkLength + bytes.length, bytes);
_chunkLength += bytes.length;
}
_position += bytes.length;
}