This is an automated email from the ASF dual-hosted git repository.

shoothzj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 73294ce00f Fixed back API of Crc32cIntChecksum (#3826)
73294ce00f is described below

commit 73294ce00f039151f484dccf5c3d03114c852c73
Author: Matteo Merli <[email protected]>
AuthorDate: Wed Mar 1 01:34:27 2023 -0800

    Fixed back API of Crc32cIntChecksum (#3826)
    
    ### Motivation
    
    In #3810 the signature of `Crc32cIntChecksum.resumeChecksum()` was changed 
to accept `offset` & `len` in the buffer.
    
    Since this method is also used externally (in Pulsar), we should leave also 
the old method signature to avoid breaking the API when upgrading BK.
---
 .../circe/checksum/Crc32cIntChecksum.java          | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git 
a/circe-checksum/src/main/java/com/scurrilous/circe/checksum/Crc32cIntChecksum.java
 
b/circe-checksum/src/main/java/com/scurrilous/circe/checksum/Crc32cIntChecksum.java
index 40c6080823..65a77b1492 100644
--- 
a/circe-checksum/src/main/java/com/scurrilous/circe/checksum/Crc32cIntChecksum.java
+++ 
b/circe-checksum/src/main/java/com/scurrilous/circe/checksum/Crc32cIntChecksum.java
@@ -46,6 +46,28 @@ public class Crc32cIntChecksum {
         return CRC32C_HASH.calculate(payload);
     }
 
+    /**
+     * Computes crc32c checksum: if it is able to load crc32c native library 
then it computes using that native library
+     * which is faster as it computes using hardware machine instruction else 
it computes using crc32c algo.
+     *
+     * @param payload
+     * @return
+     */
+    public static int computeChecksum(ByteBuf payload, int offset, int len) {
+        return CRC32C_HASH.calculate(payload, offset, len);
+    }
+
+    /**
+     * Computes incremental checksum with input previousChecksum and input 
payload
+     *
+     * @param previousChecksum : previously computed checksum
+     * @param payload
+     * @return
+     */
+    public static int resumeChecksum(int previousChecksum, ByteBuf payload) {
+        return CRC32C_HASH.resume(previousChecksum, payload);
+    }
+
     /**
      * Computes incremental checksum with input previousChecksum and input 
payload
      *

Reply via email to