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()
.long
getValue()
void
mark
(int readLimit) Allows marking a checksum for checksums that support the ability to mark and reset.void
reset()
void
update
(byte[] b, int off, int len) void
update
(int b) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface software.amazon.awssdk.checksums.SdkChecksum
update, update
-
Constructor Details
-
CrcCombineOnMarkChecksum
-
-
Method Details
-
getChecksumBytes
public byte[] getChecksumBytes()Description copied from interface:SdkChecksum
Returns the computed checksum in a byte array rather than the long provided byChecksum.getValue()
.- Specified by:
getChecksumBytes
in interfaceSdkChecksum
- Returns:
- byte[] containing the checksum
-
mark
public void mark(int readLimit) Description copied from interface:SdkChecksum
Allows marking a checksum for checksums that support the ability to mark and reset.- Specified by:
mark
in interfaceSdkChecksum
- Parameters:
readLimit
- the maximum limit of bytes that can be read before the mark position becomes invalid.
-
update
-
update
-
getValue
-
reset
-