]> git.proxmox.com Git - ceph.git/blame - ceph/src/rocksdb/java/rocksjni/compaction_options_fifo.cc
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / rocksdb / java / rocksjni / compaction_options_fifo.cc
CommitLineData
7c673cae 1// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
11fdf7f2
TL
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).
7c673cae
FG
5//
6// This file implements the "bridge" between Java and C++ for
7// rocksdb::CompactionOptionsFIFO.
8
9#include <jni.h>
10
11#include "include/org_rocksdb_CompactionOptionsFIFO.h"
12#include "rocksdb/advanced_options.h"
13
14/*
15 * Class: org_rocksdb_CompactionOptionsFIFO
16 * Method: newCompactionOptionsFIFO
17 * Signature: ()J
18 */
19jlong Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(
494da23a 20 JNIEnv*, jclass) {
7c673cae
FG
21 const auto* opt = new rocksdb::CompactionOptionsFIFO();
22 return reinterpret_cast<jlong>(opt);
23}
24
25/*
26 * Class: org_rocksdb_CompactionOptionsFIFO
27 * Method: setMaxTableFilesSize
28 * Signature: (JJ)V
29 */
30void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize(
494da23a 31 JNIEnv*, jobject, jlong jhandle, jlong jmax_table_files_size) {
7c673cae
FG
32 auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
33 opt->max_table_files_size = static_cast<uint64_t>(jmax_table_files_size);
34}
35
36/*
37 * Class: org_rocksdb_CompactionOptionsFIFO
38 * Method: maxTableFilesSize
39 * Signature: (J)J
40 */
494da23a
TL
41jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(
42 JNIEnv*, jobject, jlong jhandle) {
7c673cae
FG
43 auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
44 return static_cast<jlong>(opt->max_table_files_size);
45}
46
494da23a
TL
47/*
48 * Class: org_rocksdb_CompactionOptionsFIFO
49 * Method: setAllowCompaction
50 * Signature: (JZ)V
51 */
52void Java_org_rocksdb_CompactionOptionsFIFO_setAllowCompaction(
53 JNIEnv*, jobject, jlong jhandle, jboolean allow_compaction) {
54 auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
55 opt->allow_compaction = static_cast<bool>(allow_compaction);
56}
57
58/*
59 * Class: org_rocksdb_CompactionOptionsFIFO
60 * Method: allowCompaction
61 * Signature: (J)Z
62 */
63jboolean Java_org_rocksdb_CompactionOptionsFIFO_allowCompaction(
64 JNIEnv*, jobject, jlong jhandle) {
65 auto* opt = reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
66 return static_cast<jboolean>(opt->allow_compaction);
67}
68
7c673cae
FG
69/*
70 * Class: org_rocksdb_CompactionOptionsFIFO
71 * Method: disposeInternal
72 * Signature: (J)V
73 */
494da23a
TL
74void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal(
75 JNIEnv*, jobject, jlong jhandle) {
7c673cae
FG
76 delete reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle);
77}