1 // Copyright (c) 2011-present, Facebook, Inc.  All rights reserved.
2 //  This source code is licensed under both the GPLv2 (found in the
3 //  COPYING file in the root directory) and Apache 2.0 License
4 //  (found in the LICENSE.Apache file in the root directory).
5 
6 #include <jni.h>
7 
8 #include "include/org_rocksdb_CassandraCompactionFilter.h"
9 #include "utilities/cassandra/cassandra_compaction_filter.h"
10 
11 /*
12  * Class:     org_rocksdb_CassandraCompactionFilter
13  * Method:    createNewCassandraCompactionFilter0
14  * Signature: (ZI)J
15  */
16 jlong Java_org_rocksdb_CassandraCompactionFilter_createNewCassandraCompactionFilter0(
17     JNIEnv* /*env*/, jclass /*jcls*/, jboolean purge_ttl_on_expiration,
18     jint gc_grace_period_in_seconds) {
19   auto* compaction_filter =
20       new ROCKSDB_NAMESPACE::cassandra::CassandraCompactionFilter(
21           purge_ttl_on_expiration, gc_grace_period_in_seconds);
22   // set the native handle to our native compaction filter
23   return reinterpret_cast<jlong>(compaction_filter);
24 }
25