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).
6 // This file implements the "bridge" between Java and C++ for
7 // rocksdb::CompactionOptionsFIFO.
11 #include "include/org_rocksdb_CompactionOptionsFIFO.h"
12 #include "rocksdb/advanced_options.h"
15 * Class: org_rocksdb_CompactionOptionsFIFO
16 * Method: newCompactionOptionsFIFO
19 jlong
Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(
20 JNIEnv
* /*env*/, jclass
/*jcls*/) {
21 const auto* opt
= new rocksdb::CompactionOptionsFIFO();
22 return reinterpret_cast<jlong
>(opt
);
26 * Class: org_rocksdb_CompactionOptionsFIFO
27 * Method: setMaxTableFilesSize
30 void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize(
31 JNIEnv
* /*env*/, jobject
/*jobj*/, jlong jhandle
,
32 jlong jmax_table_files_size
) {
33 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsFIFO
*>(jhandle
);
34 opt
->max_table_files_size
= static_cast<uint64_t>(jmax_table_files_size
);
38 * Class: org_rocksdb_CompactionOptionsFIFO
39 * Method: maxTableFilesSize
42 jlong
Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(JNIEnv
* /*env*/,
45 auto* opt
= reinterpret_cast<rocksdb::CompactionOptionsFIFO
*>(jhandle
);
46 return static_cast<jlong
>(opt
->max_table_files_size
);
50 * Class: org_rocksdb_CompactionOptionsFIFO
51 * Method: disposeInternal
54 void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal(JNIEnv
* /*env*/,
57 delete reinterpret_cast<rocksdb::CompactionOptionsFIFO
*>(jhandle
);