byteStream method

Future<HashDigest> byteStream(
  1. Stream<int> stream, [
  2. int bufferSize = 1024
])

Consumes the entire stream of byte array and generates a HashDigest.

Implementation

Future<HashDigest> byteStream(
  Stream<int> stream, [
  int bufferSize = 1024,
]) async {
  var sink = createSink();
  var buffer = Uint8List(bufferSize);
  int p = 0;
  await for (var x in stream) {
    buffer[p++] = x;
    if (p == bufferSize) {
      sink.add(buffer);
      p = 0;
    }
  }
  if (p > 0) {
    sink.add(buffer, 0, p);
  }
  return sink.digest();
}