Clone
 

aleksey yeschenko <aleksey@apple.com> in Netty

Fix ByteBufChecksum optimisation for CRC32 and Adler32 (#9242)

Motivation:

Because of a simple bug in ByteBufChecksum#updateByteBuffer(Checksum),

ReflectiveByteBufChecksum is never used for CRC32 and Adler32, resulting

in direct ByteBuffers being checksummed byte by byte, which is

undesriable.

Modification:

Fix ByteBufChecksum#updateByteBuffer(Checksum) method to pass the

correct argument to Method#invoke(Checksum, ByteBuffer).

Result:

ReflectiveByteBufChecksum will now be used for Adler32 and CRC32 on

Java8+ and direct ByteBuffers will no longer be checksummed on slow

byte-by-byte basis.

Fix ByteBufChecksum optimisation for CRC32 and Adler32 (#9242)

Motivation:

Because of a simple bug in ByteBufChecksum#updateByteBuffer(Checksum),

ReflectiveByteBufChecksum is never used for CRC32 and Adler32, resulting

in direct ByteBuffers being checksummed byte by byte, which is

undesriable.

Modification:

Fix ByteBufChecksum#updateByteBuffer(Checksum) method to pass the

correct argument to Method#invoke(Checksum, ByteBuffer).

Result:

ReflectiveByteBufChecksum will now be used for Adler32 and CRC32 on

Java8+ and direct ByteBuffers will no longer be checksummed on slow

byte-by-byte basis.