update method
Implementation
Poly1305 update(Uint8List m, int mpos, int bytes) {
int i, want;
if (this._leftover != 0) {
want = (16 - this._leftover);
if (want > bytes) want = bytes;
for (i = 0; i < want; i++)
this._buffer![this._leftover + i] = m[mpos + i];
bytes -= want;
mpos += want;
this._leftover += want;
if (this._leftover < 16) return this;
this.blocks(_buffer, 0, 16);
this._leftover = 0;
}
if (bytes >= 16) {
want = bytes - (bytes % 16);
this.blocks(m, mpos, want);
mpos += want;
bytes -= want;
}
if (bytes != 0) {
for (i = 0; i < bytes; i++)
this._buffer![this._leftover + i] = m[mpos + i];
this._leftover += bytes;
}
return this;
}