in tchannel-core/src/main/java/com/uber/tchannel/checksum/Checksums.java [45:66]
public static long calculateChecksum(CallFrame msg, long digestSeed) {
// TODO: this is bad
ByteBuf payloadCopy = msg.getPayload().slice();
byte[] payloadBytes = new byte[msg.getPayloadSize()];
payloadCopy.readBytes(payloadBytes);
switch (msg.getChecksumType()) {
case Adler32:
Adler32 f = new Adler32();
f.update((int) digestSeed);
f.update(payloadBytes);
return f.getValue();
case FarmhashFingerPrint32:
case NoChecksum:
case CRC32C:
default:
return 0;
}
}