Package org.iq80.snappy
Class Crc32C
- java.lang.Object
-
- org.iq80.snappy.Crc32C
-
- All Implemented Interfaces:
java.util.zip.Checksum
final class Crc32C extends java.lang.Object implements java.util.zip.Checksum
A pure-java implementation of the CRC32 checksum that uses the CRC32-C polynomial, the same polynomial used by iSCSI and implemented on many Intel chipsets supporting SSE4.2.
-
-
Field Summary
Fields Modifier and Type Field Description private int
crc
the current CRC value, bit-flippedprivate static int
MASK_DELTA
(package private) static int[]
T8_0
(package private) static int[]
T8_1
(package private) static int[]
T8_2
(package private) static int[]
T8_3
(package private) static int[]
T8_4
(package private) static int[]
T8_5
(package private) static int[]
T8_6
(package private) static int[]
T8_7
-
Constructor Summary
Constructors Constructor Description Crc32C()
Create a new PureJavaCrc32 object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIntValue()
int
getMaskedValue()
long
getValue()
static int
mask(int crc)
Return a masked representation of crc.static int
maskedCrc32c(byte[] data)
static int
maskedCrc32c(byte[] data, int offset, int length)
void
reset()
static int
unmask(int maskedCrc)
Return the crc whose masked representation is masked_crc.void
update(byte[] b, int off, int len)
void
update(int b)
-
-
-
Field Detail
-
MASK_DELTA
private static final int MASK_DELTA
- See Also:
- Constant Field Values
-
crc
private int crc
the current CRC value, bit-flipped
-
T8_0
static final int[] T8_0
-
T8_1
static final int[] T8_1
-
T8_2
static final int[] T8_2
-
T8_3
static final int[] T8_3
-
T8_4
static final int[] T8_4
-
T8_5
static final int[] T8_5
-
T8_6
static final int[] T8_6
-
T8_7
static final int[] T8_7
-
-
Method Detail
-
maskedCrc32c
public static int maskedCrc32c(byte[] data)
-
maskedCrc32c
public static int maskedCrc32c(byte[] data, int offset, int length)
-
mask
public static int mask(int crc)
Return a masked representation of crc. Motivation: it is problematic to compute the CRC of a string that contains embedded CRCs. Therefore we recommend that CRCs stored somewhere (e.g., in files) should be masked before being stored.
-
unmask
public static int unmask(int maskedCrc)
Return the crc whose masked representation is masked_crc.
-
getMaskedValue
public int getMaskedValue()
-
getIntValue
public int getIntValue()
-
getValue
public long getValue()
- Specified by:
getValue
in interfacejava.util.zip.Checksum
-
reset
public void reset()
- Specified by:
reset
in interfacejava.util.zip.Checksum
-
update
public void update(byte[] b, int off, int len)
- Specified by:
update
in interfacejava.util.zip.Checksum
-
update
public void update(int b)
- Specified by:
update
in interfacejava.util.zip.Checksum
-
-