## org.apache.cassandra.utils
Class PureJavaCrc32

    java.lang.Object
      org.apache.cassandra.utils.PureJavaCrc32

All Implemented Interfaces:
  java.util.zip.Checksum

    public class PureJavaCrc32

extends java.lang.Object
implements java.util.zip.Checksum

A pure-java implementation of the CRC32 checksum that uses the same polynomial as the built-in native CRC32. This is to avoid the JNI overhead for certain uses of Checksumming where many small pieces of data are checksummed in succession. The current version is ~10x to 1.8x as fast as Sun's native java.util.zip.CRC32 in Java 1.6 for data sizes less than 64 bytes. See https://issues.apache.org/jira/browse/CASSANDRA-3610 for details.

See Also:
  `This class is copied from hadoop-commons project. (The initial patch added PureJavaCrc32 was HADOOP-6148)`

Constructor Summary
`PureJavaCrc32()` Create a new PureJavaCrc32 object.

Method Summary
`long` `getValue()`
`void` `reset()`
`void` `update(byte[] b, int off, int len)`
`void` `update(int b)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PureJavaCrc32

    public PureJavaCrc32()

  Create a new PureJavaCrc32 object.

Method Detail

### getValue

    public long getValue()

  Specified by:
    `getValue` in interface `java.util.zip.Checksum`

### reset

    public void reset()

  Specified by:
    `reset` in interface `java.util.zip.Checksum`

### update

    public void update(byte[] b,
                       int off,
                       int len)

  Specified by:
    `update` in interface `java.util.zip.Checksum`

### update

    public final void update(int b)

  Specified by:
    `update` in interface `java.util.zip.Checksum`

Copyright © 2013 The Apache Software Foundation