chunk method

List<Map<String, dynamic>> chunk(
  1. Uint8List blob
)

Implementation

List<Map<String, dynamic>> chunk(Uint8List blob) {
  List<Map<String, dynamic>> chunks = [];
  int size = blob.length;
  int total = (size / chunkedMTU).ceil();

  int index = 0;
  int start = 0;

  while (start < size) {
    int end = (start + chunkedMTU).clamp(0, size);
    Uint8List b = blob.sublist(start, end);

    var chunk = {
      '__peerData': _dataCount,
      'n': index,
      'data': b,
      'total': total,
    };

    chunks.add(chunk);

    start = end;
    index++;
  }

  _dataCount++;

  return chunks;
}