]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/java/rocksjni/lru_cache.cc
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / rocksdb / java / rocksjni / lru_cache.cc
index cfdcb525bb76141e2d6835d68b432e6dafa4c973..56dffa2f0f2d282c59d98a22184f2f966c249621 100644 (file)
@@ -6,10 +6,12 @@
 // This file implements the "bridge" between Java and C++ for
 // ROCKSDB_NAMESPACE::LRUCache.
 
+#include "cache/lru_cache.h"
+
 #include <jni.h>
 
-#include "cache/lru_cache.h"
 #include "include/org_rocksdb_LRUCache.h"
+#include "rocksjni/cplusplus_to_java_convert.h"
 
 /*
  * Class:     org_rocksdb_LRUCache
@@ -20,13 +22,17 @@ jlong Java_org_rocksdb_LRUCache_newLRUCache(JNIEnv* /*env*/, jclass /*jcls*/,
                                             jlong jcapacity,
                                             jint jnum_shard_bits,
                                             jboolean jstrict_capacity_limit,
-                                            jdouble jhigh_pri_pool_ratio) {
+                                            jdouble jhigh_pri_pool_ratio,
+                                            jdouble jlow_pri_pool_ratio) {
   auto* sptr_lru_cache = new std::shared_ptr<ROCKSDB_NAMESPACE::Cache>(
       ROCKSDB_NAMESPACE::NewLRUCache(
           static_cast<size_t>(jcapacity), static_cast<int>(jnum_shard_bits),
           static_cast<bool>(jstrict_capacity_limit),
-          static_cast<double>(jhigh_pri_pool_ratio)));
-  return reinterpret_cast<jlong>(sptr_lru_cache);
+          static_cast<double>(jhigh_pri_pool_ratio),
+          nullptr /* memory_allocator */, rocksdb::kDefaultToAdaptiveMutex,
+          rocksdb::kDefaultCacheMetadataChargePolicy,
+          static_cast<double>(jlow_pri_pool_ratio)));
+  return GET_CPLUSPLUS_POINTER(sptr_lru_cache);
 }
 
 /*