]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/java/rocksjni/writebatchhandlerjnicallback.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / rocksdb / java / rocksjni / writebatchhandlerjnicallback.h
index a4c61f8bdfa4a322a9ea1993d09aa9b905fe10cd..9629797ca73f7366c910ee3f7d6b18ebf307e149 100644 (file)
@@ -9,11 +9,13 @@
 #ifndef JAVA_ROCKSJNI_WRITEBATCHHANDLERJNICALLBACK_H_
 #define JAVA_ROCKSJNI_WRITEBATCHHANDLERJNICALLBACK_H_
 
-#include <functional>
 #include <jni.h>
+
+#include <functional>
 #include <memory>
-#include "rocksjni/jnicallback.h"
+
 #include "rocksdb/write_batch.h"
+#include "rocksjni/jnicallback.h"
 
 namespace ROCKSDB_NAMESPACE {
 /**
@@ -23,66 +25,67 @@ namespace ROCKSDB_NAMESPACE {
  * which calls the appropriate Java method.
  * This enables Write Batch Handlers to be implemented in Java.
  */
-class WriteBatchHandlerJniCallback : public JniCallback, public WriteBatch::Handler {
+class WriteBatchHandlerJniCallback : public JniCallback,
+                                     public WriteBatch::Handler {
  public:
-    WriteBatchHandlerJniCallback(
-      JNIEnv* env, jobject jWriteBackHandler);
-    Status PutCF(uint32_t column_family_id, const Slice& key,
-        const Slice& value);
-    void Put(const Slice& key, const Slice& value);
-    Status MergeCF(uint32_t column_family_id, const Slice& key,
-        const Slice& value);
-    void Merge(const Slice& key, const Slice& value);
-    Status DeleteCF(uint32_t column_family_id, const Slice& key);
-    void Delete(const Slice& key);
-    Status SingleDeleteCF(uint32_t column_family_id, const Slice& key);
-    void SingleDelete(const Slice& key);
-    Status DeleteRangeCF(uint32_t column_family_id, const Slice& beginKey,
-        const Slice& endKey);
-    void DeleteRange(const Slice& beginKey, const Slice& endKey);
-    void LogData(const Slice& blob);
-    Status PutBlobIndexCF(uint32_t column_family_id, const Slice& key,
-                          const Slice& value);
-    Status MarkBeginPrepare(bool);
-    Status MarkEndPrepare(const Slice& xid);
-    Status MarkNoop(bool empty_batch);
-    Status MarkRollback(const Slice& xid);
-    Status MarkCommit(const Slice& xid);
-    bool Continue();
+  WriteBatchHandlerJniCallback(JNIEnv* env, jobject jWriteBackHandler);
+  Status PutCF(uint32_t column_family_id, const Slice& key, const Slice& value);
+  void Put(const Slice& key, const Slice& value);
+  Status MergeCF(uint32_t column_family_id, const Slice& key,
+                 const Slice& value);
+  void Merge(const Slice& key, const Slice& value);
+  Status DeleteCF(uint32_t column_family_id, const Slice& key);
+  void Delete(const Slice& key);
+  Status SingleDeleteCF(uint32_t column_family_id, const Slice& key);
+  void SingleDelete(const Slice& key);
+  Status DeleteRangeCF(uint32_t column_family_id, const Slice& beginKey,
+                       const Slice& endKey);
+  void DeleteRange(const Slice& beginKey, const Slice& endKey);
+  void LogData(const Slice& blob);
+  Status PutBlobIndexCF(uint32_t column_family_id, const Slice& key,
+                        const Slice& value);
+  Status MarkBeginPrepare(bool);
+  Status MarkEndPrepare(const Slice& xid);
+  Status MarkNoop(bool empty_batch);
+  Status MarkRollback(const Slice& xid);
+  Status MarkCommit(const Slice& xid);
+  Status MarkCommitWithTimestamp(const Slice& xid, const Slice& commit_ts);
+  bool Continue();
 
  private:
-    JNIEnv* m_env;
-    jmethodID m_jPutCfMethodId;
-    jmethodID m_jPutMethodId;
-    jmethodID m_jMergeCfMethodId;
-    jmethodID m_jMergeMethodId;
-    jmethodID m_jDeleteCfMethodId;
-    jmethodID m_jDeleteMethodId;
-    jmethodID m_jSingleDeleteCfMethodId;
-    jmethodID m_jSingleDeleteMethodId;
-    jmethodID m_jDeleteRangeCfMethodId;
-    jmethodID m_jDeleteRangeMethodId;
-    jmethodID m_jLogDataMethodId;
-    jmethodID m_jPutBlobIndexCfMethodId;
-    jmethodID m_jMarkBeginPrepareMethodId;
-    jmethodID m_jMarkEndPrepareMethodId;
-    jmethodID m_jMarkNoopMethodId;
-    jmethodID m_jMarkRollbackMethodId;
-    jmethodID m_jMarkCommitMethodId;
-    jmethodID m_jContinueMethodId;
-    /**
-     * @return A pointer to a ROCKSDB_NAMESPACE::Status or nullptr if an
-     * unexpected exception occurred
-     */
-    std::unique_ptr<ROCKSDB_NAMESPACE::Status> kv_op(
-        const Slice& key, const Slice& value,
-        std::function<void(jbyteArray, jbyteArray)> kvFn);
-    /**
-     * @return A pointer to a ROCKSDB_NAMESPACE::Status or nullptr if an
-     * unexpected exception occurred
-     */
-    std::unique_ptr<ROCKSDB_NAMESPACE::Status> k_op(
-        const Slice& key, std::function<void(jbyteArray)> kFn);
+  JNIEnv* m_env;
+  jmethodID m_jPutCfMethodId;
+  jmethodID m_jPutMethodId;
+  jmethodID m_jMergeCfMethodId;
+  jmethodID m_jMergeMethodId;
+  jmethodID m_jDeleteCfMethodId;
+  jmethodID m_jDeleteMethodId;
+  jmethodID m_jSingleDeleteCfMethodId;
+  jmethodID m_jSingleDeleteMethodId;
+  jmethodID m_jDeleteRangeCfMethodId;
+  jmethodID m_jDeleteRangeMethodId;
+  jmethodID m_jLogDataMethodId;
+  jmethodID m_jPutBlobIndexCfMethodId;
+  jmethodID m_jMarkBeginPrepareMethodId;
+  jmethodID m_jMarkEndPrepareMethodId;
+  jmethodID m_jMarkNoopMethodId;
+  jmethodID m_jMarkRollbackMethodId;
+  jmethodID m_jMarkCommitMethodId;
+  jmethodID m_jMarkCommitWithTimestampMethodId;
+  jmethodID m_jContinueMethodId;
+  /**
+   * @return A pointer to a ROCKSDB_NAMESPACE::Status or nullptr if an
+   * unexpected exception occurred
+   */
+  std::unique_ptr<ROCKSDB_NAMESPACE::Status> kv_op(
+      const Slice& key, const Slice& value,
+      std::function<void(jbyteArray, jbyteArray)> kvFn);
+  /**
+   * @return A pointer to a ROCKSDB_NAMESPACE::Status or nullptr if an
+   * unexpected exception occurred
+   */
+  std::unique_ptr<ROCKSDB_NAMESPACE::Status> k_op(
+      const Slice& key, std::function<void(jbyteArray)> kFn);
 };
 }  // namespace ROCKSDB_NAMESPACE