JdkByteBufChecksum Class — netty Architecture
Architecture documentation for the JdkByteBufChecksum class in ByteBufChecksum.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 98e939d5_a330_7d91_1053_217eb15183a6["JdkByteBufChecksum"] 2d513a28_c39a_3fc7_b9af_48d8fff5734f["ByteBufChecksum.java"] 98e939d5_a330_7d91_1053_217eb15183a6 -->|defined in| 2d513a28_c39a_3fc7_b9af_48d8fff5734f 9bc2bdea_1656_b126_d0ae_8d2313f1cfda["JdkByteBufChecksum()"] 98e939d5_a330_7d91_1053_217eb15183a6 -->|method| 9bc2bdea_1656_b126_d0ae_8d2313f1cfda a8f953ed_ae04_2b8c_c040_79972888e6c9["update()"] 98e939d5_a330_7d91_1053_217eb15183a6 -->|method| a8f953ed_ae04_2b8c_c040_79972888e6c9 8aad9869_5fdc_a3e9_7d35_b3d58af9766a["ByteBuffer()"] 98e939d5_a330_7d91_1053_217eb15183a6 -->|method| 8aad9869_5fdc_a3e9_7d35_b3d58af9766a 0f39e390_5f6b_384e_d8bc_161a05d84316["getValue()"] 98e939d5_a330_7d91_1053_217eb15183a6 -->|method| 0f39e390_5f6b_384e_d8bc_161a05d84316 aa033eb5_7031_321d_b930_f88f8336db9b["reset()"] 98e939d5_a330_7d91_1053_217eb15183a6 -->|method| aa033eb5_7031_321d_b930_f88f8336db9b
Relationship Graph
Source Code
codec-compression/src/main/java/io/netty/handler/codec/compression/ByteBufChecksum.java lines 62–119
private static class JdkByteBufChecksum extends ByteBufChecksum {
protected final Checksum checksum;
private byte[] scratchBuffer;
JdkByteBufChecksum(Checksum checksum) {
this.checksum = checksum;
}
@Override
public void update(int b) {
checksum.update(b);
}
@Override
public void update(ByteBuf b, int off, int len) {
if (b.hasArray()) {
update(b.array(), b.arrayOffset() + off, len);
} else if (checksum instanceof CRC32) {
ByteBuffer byteBuffer = getSafeBuffer(b, off, len);
((CRC32) checksum).update(byteBuffer);
} else if (checksum instanceof Adler32) {
ByteBuffer byteBuffer = getSafeBuffer(b, off, len);
((Adler32) checksum).update(byteBuffer);
} else {
super.update(b, off, len);
}
}
private ByteBuffer getSafeBuffer(ByteBuf b, int off, int len) {
ByteBuffer byteBuffer = CompressionUtil.safeNioBuffer(b, off, len);
int javaVersion = PlatformDependent.javaVersion();
if (javaVersion >= 22 && javaVersion < 25 && byteBuffer.isDirect()) {
// Work-around for https://bugs.openjdk.org/browse/JDK-8357145
if (scratchBuffer == null || scratchBuffer.length < len) {
scratchBuffer = new byte[len];
}
ByteBuffer copy = ByteBuffer.wrap(scratchBuffer, 0, len);
copy.put(byteBuffer).flip();
return copy;
}
return byteBuffer;
}
@Override
public void update(byte[] b, int off, int len) {
checksum.update(b, off, len);
}
@Override
public long getValue() {
return checksum.getValue();
}
@Override
public void reset() {
checksum.reset();
}
}
Source
Frequently Asked Questions
What is the JdkByteBufChecksum class?
JdkByteBufChecksum is a class in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/ByteBufChecksum.java.
Where is JdkByteBufChecksum defined?
JdkByteBufChecksum is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/ByteBufChecksum.java at line 62.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free