// 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
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);
}
/*