drain method

Uint8List drain()

Drain all contiguous bytes starting at readOffset. Returns empty Uint8List if nothing is ready.

Implementation

Uint8List drain() {
  if (!_chunks.containsKey(readOffset)) {
    return Uint8List(0);
  }

  final out = BytesBuilder();

  while (true) {
    final chunk = _chunks.remove(readOffset);
    if (chunk == null) break;

    out.add(chunk);
    readOffset += chunk.length;
  }

  return out.toBytes();
}