]>
Commit | Line | Data |
---|---|---|
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 | */ | |
19 | jlong 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 | */ | |
30 | void 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 |
41 | jlong 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 | */ | |
52 | void 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 | */ | |
63 | jboolean 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 |
74 | void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal( |
75 | JNIEnv*, jobject, jlong jhandle) { | |
7c673cae FG |
76 | delete reinterpret_cast<rocksdb::CompactionOptionsFIFO*>(jhandle); |
77 | } |