update method

BlockHash update(
  1. List<int> msg
)

add data

Implementation

BlockHash update(List<int> msg) {
  /// Convert message to array, pad it, and join into 32bit blocks
  if (pending?.isEmpty ?? true) {
    pending = List.from(msg);
  } else {
    pending!.addAll(msg);
  }
  pendingTotal += msg.length;

  /// Enough data, try updating
  if (pending!.length >= _delta8) {
    msg = pending!;

    /// Process pending data in blocks
    var r = msg.length % _delta8;
    pending = msg.sublist(msg.length - r, msg.length);
    if (pending?.isEmpty ?? true) {
      pending = null;
    }
    msg = _join32(msg, 0, msg.length - r, endian);
    for (var i = 0; i < msg.length; i += _delta32) {
      _update(msg, i);
    }
  }

  return this;
}