Class CrcCombineOnMarkChecksum
java.lang.Object
software.amazon.awssdk.checksums.internal.CrcCombineOnMarkChecksum
- All Implemented Interfaces:
Checksum,SdkChecksum
Class that provides functionality for combining CRC checksums with mark and reset capabilities.
This class allows combining two CRC values, making it efficient to update and restore the checksum during mark and reset operations. It is particularly useful in scenarios where a checksum needs to be marked, potentially reset to a previous state, and combined with additional data.
The class maintains an internal Checksum instance and uses a BiFunction to combine
two CRC values when necessary. The combine function is applied to a pair of CRC values, along with
the length of the data, to produce the resulting combined checksum.
-
Constructor Summary
ConstructorsConstructorDescriptionCrcCombineOnMarkChecksum(Checksum checksum, CrcCombineFunction crcCombineFunction) -
Method Summary
Modifier and TypeMethodDescriptionbyte[]Returns the computed checksum in a byte array rather than the long provided byChecksum.getValue().longgetValue()voidmark(int readLimit) Allows marking a checksum for checksums that support the ability to mark and reset.voidreset()voidupdate(byte[] b, int off, int len) voidupdate(int b) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface software.amazon.awssdk.checksums.SdkChecksum
update, update
-
Constructor Details
-
CrcCombineOnMarkChecksum
-
-
Method Details
-
getChecksumBytes
public byte[] getChecksumBytes()Description copied from interface:SdkChecksumReturns the computed checksum in a byte array rather than the long provided byChecksum.getValue().- Specified by:
getChecksumBytesin interfaceSdkChecksum- Returns:
- byte[] containing the checksum
-
mark
public void mark(int readLimit) Description copied from interface:SdkChecksumAllows marking a checksum for checksums that support the ability to mark and reset.- Specified by:
markin interfaceSdkChecksum- Parameters:
readLimit- the maximum limit of bytes that can be read before the mark position becomes invalid.
-
update
-
update
-
getValue
-
reset
-