read method
Reads a specific number of bytes from the stream.
count
the number of bytes to read
Returns a Future that completes with the requested bytes, or fewer if stream ends
Implementation
Future<List<int>> read(int count) async {
List<int> result = [];
int remaining = count;
await for (List<int> chunk in _stream) {
if (remaining <= 0) break;
if (chunk.length <= remaining) {
result.addAll(chunk);
remaining -= chunk.length;
} else {
result.addAll(chunk.take(remaining));
remaining = 0;
}
}
return result;
}