in java/src/main/java/com/epam/deltix/zstd/XxHash64.java [105:131]
private void updateHash(final ByteBuffer base, int address, int length) {
if (bufferSize > 0) {
final int available = min(32 - bufferSize, length);
System.arraycopy(base.array(), address, buffer, BUFFER_ADDRESS + bufferSize, available);
bufferSize += available;
address += available;
length -= available;
if (bufferSize == 32) {
updateBody(buffer, BUFFER_ADDRESS, bufferSize);
bufferSize = 0;
}
}
if (length >= 32) {
final int index = updateBody(base, address, length);
address += index;
length -= index;
}
if (length > 0) {
System.arraycopy(base.array(), address, buffer.array(), BUFFER_ADDRESS, length);
bufferSize = length;
}
}