]> git.proxmox.com Git - ceph.git/blame - ceph/src/rocksdb/java/rocksjni/compaction_options_fifo.cc
update ceph source to reef 18.1.2
[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
f67539c2 7// ROCKSDB_NAMESPACE::CompactionOptionsFIFO.
7c673cae
FG
8
9#include <jni.h>
10
11#include "include/org_rocksdb_CompactionOptionsFIFO.h"
12#include "rocksdb/advanced_options.h"
1e59de90 13#include "rocksjni/cplusplus_to_java_convert.h"
7c673cae
FG
14
15/*
16 * Class: org_rocksdb_CompactionOptionsFIFO
17 * Method: newCompactionOptionsFIFO
18 * Signature: ()J
19 */
1e59de90
TL
20jlong Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(JNIEnv*,
21 jclass) {
f67539c2 22 const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsFIFO();
1e59de90 23 return GET_CPLUSPLUS_POINTER(opt);
7c673cae
FG
24}
25
26/*
27 * Class: org_rocksdb_CompactionOptionsFIFO
28 * Method: setMaxTableFilesSize
29 * Signature: (JJ)V
30 */
31void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize(
494da23a 32 JNIEnv*, jobject, jlong jhandle, jlong jmax_table_files_size) {
f67539c2
TL
33 auto* opt =
34 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
7c673cae
FG
35 opt->max_table_files_size = static_cast<uint64_t>(jmax_table_files_size);
36}
37
38/*
39 * Class: org_rocksdb_CompactionOptionsFIFO
40 * Method: maxTableFilesSize
41 * Signature: (J)J
42 */
1e59de90
TL
43jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(JNIEnv*, jobject,
44 jlong jhandle) {
f67539c2
TL
45 auto* opt =
46 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
7c673cae
FG
47 return static_cast<jlong>(opt->max_table_files_size);
48}
49
494da23a
TL
50/*
51 * Class: org_rocksdb_CompactionOptionsFIFO
52 * Method: setAllowCompaction
53 * Signature: (JZ)V
54 */
55void Java_org_rocksdb_CompactionOptionsFIFO_setAllowCompaction(
56 JNIEnv*, jobject, jlong jhandle, jboolean allow_compaction) {
f67539c2
TL
57 auto* opt =
58 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
494da23a
TL
59 opt->allow_compaction = static_cast<bool>(allow_compaction);
60}
61
62/*
63 * Class: org_rocksdb_CompactionOptionsFIFO
64 * Method: allowCompaction
65 * Signature: (J)Z
66 */
1e59de90
TL
67jboolean Java_org_rocksdb_CompactionOptionsFIFO_allowCompaction(JNIEnv*,
68 jobject,
69 jlong jhandle) {
f67539c2
TL
70 auto* opt =
71 reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
494da23a
TL
72 return static_cast<jboolean>(opt->allow_compaction);
73}
74
7c673cae
FG
75/*
76 * Class: org_rocksdb_CompactionOptionsFIFO
77 * Method: disposeInternal
78 * Signature: (J)V
79 */
1e59de90
TL
80void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal(JNIEnv*, jobject,
81 jlong jhandle) {
f67539c2 82 delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
7c673cae 83}