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