compaction_options_universal.cc 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  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. // This file implements the "bridge" between Java and C++ for
  7. // ROCKSDB_NAMESPACE::CompactionOptionsUniversal.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_CompactionOptionsUniversal.h"
  10. #include "rocksdb/advanced_options.h"
  11. #include "rocksjni/cplusplus_to_java_convert.h"
  12. #include "rocksjni/portal.h"
  13. /*
  14. * Class: org_rocksdb_CompactionOptionsUniversal
  15. * Method: newCompactionOptionsUniversal
  16. * Signature: ()J
  17. */
  18. jlong Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(
  19. JNIEnv*, jclass) {
  20. const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsUniversal();
  21. return GET_CPLUSPLUS_POINTER(opt);
  22. }
  23. /*
  24. * Class: org_rocksdb_CompactionOptionsUniversal
  25. * Method: setSizeRatio
  26. * Signature: (JI)V
  27. */
  28. void Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(
  29. JNIEnv*, jclass, jlong jhandle, jint jsize_ratio) {
  30. auto* opt =
  31. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  32. opt->size_ratio = static_cast<unsigned int>(jsize_ratio);
  33. }
  34. /*
  35. * Class: org_rocksdb_CompactionOptionsUniversal
  36. * Method: sizeRatio
  37. * Signature: (J)I
  38. */
  39. jint Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(JNIEnv*, jclass,
  40. jlong jhandle) {
  41. auto* opt =
  42. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  43. return static_cast<jint>(opt->size_ratio);
  44. }
  45. /*
  46. * Class: org_rocksdb_CompactionOptionsUniversal
  47. * Method: setMinMergeWidth
  48. * Signature: (JI)V
  49. */
  50. void Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(
  51. JNIEnv*, jclass, jlong jhandle, jint jmin_merge_width) {
  52. auto* opt =
  53. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  54. opt->min_merge_width = static_cast<unsigned int>(jmin_merge_width);
  55. }
  56. /*
  57. * Class: org_rocksdb_CompactionOptionsUniversal
  58. * Method: minMergeWidth
  59. * Signature: (J)I
  60. */
  61. jint Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(JNIEnv*, jclass,
  62. jlong jhandle) {
  63. auto* opt =
  64. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  65. return static_cast<jint>(opt->min_merge_width);
  66. }
  67. /*
  68. * Class: org_rocksdb_CompactionOptionsUniversal
  69. * Method: setMaxMergeWidth
  70. * Signature: (JI)V
  71. */
  72. void Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(
  73. JNIEnv*, jclass, jlong jhandle, jint jmax_merge_width) {
  74. auto* opt =
  75. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  76. opt->max_merge_width = static_cast<unsigned int>(jmax_merge_width);
  77. }
  78. /*
  79. * Class: org_rocksdb_CompactionOptionsUniversal
  80. * Method: maxMergeWidth
  81. * Signature: (J)I
  82. */
  83. jint Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(JNIEnv*, jclass,
  84. jlong jhandle) {
  85. auto* opt =
  86. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  87. return static_cast<jint>(opt->max_merge_width);
  88. }
  89. /*
  90. * Class: org_rocksdb_CompactionOptionsUniversal
  91. * Method: setMaxSizeAmplificationPercent
  92. * Signature: (JI)V
  93. */
  94. void Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(
  95. JNIEnv*, jclass, jlong jhandle, jint jmax_size_amplification_percent) {
  96. auto* opt =
  97. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  98. opt->max_size_amplification_percent =
  99. static_cast<unsigned int>(jmax_size_amplification_percent);
  100. }
  101. /*
  102. * Class: org_rocksdb_CompactionOptionsUniversal
  103. * Method: maxSizeAmplificationPercent
  104. * Signature: (J)I
  105. */
  106. jint Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(
  107. JNIEnv*, jclass, jlong jhandle) {
  108. auto* opt =
  109. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  110. return static_cast<jint>(opt->max_size_amplification_percent);
  111. }
  112. /*
  113. * Class: org_rocksdb_CompactionOptionsUniversal
  114. * Method: setCompressionSizePercent
  115. * Signature: (JI)V
  116. */
  117. void Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(
  118. JNIEnv*, jclass, jlong jhandle, jint jcompression_size_percent) {
  119. auto* opt =
  120. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  121. opt->compression_size_percent =
  122. static_cast<unsigned int>(jcompression_size_percent);
  123. }
  124. /*
  125. * Class: org_rocksdb_CompactionOptionsUniversal
  126. * Method: compressionSizePercent
  127. * Signature: (J)I
  128. */
  129. jint Java_org_rocksdb_CompactionOptionsUniversal_compressionSizePercent(
  130. JNIEnv*, jclass, jlong jhandle) {
  131. auto* opt =
  132. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  133. return static_cast<jint>(opt->compression_size_percent);
  134. }
  135. /*
  136. * Class: org_rocksdb_CompactionOptionsUniversal
  137. * Method: setStopStyle
  138. * Signature: (JB)V
  139. */
  140. void Java_org_rocksdb_CompactionOptionsUniversal_setStopStyle(
  141. JNIEnv*, jclass, jlong jhandle, jbyte jstop_style_value) {
  142. auto* opt =
  143. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  144. opt->stop_style =
  145. ROCKSDB_NAMESPACE::CompactionStopStyleJni::toCppCompactionStopStyle(
  146. jstop_style_value);
  147. }
  148. /*
  149. * Class: org_rocksdb_CompactionOptionsUniversal
  150. * Method: stopStyle
  151. * Signature: (J)B
  152. */
  153. jbyte Java_org_rocksdb_CompactionOptionsUniversal_stopStyle(JNIEnv*, jclass,
  154. jlong jhandle) {
  155. auto* opt =
  156. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  157. return ROCKSDB_NAMESPACE::CompactionStopStyleJni::toJavaCompactionStopStyle(
  158. opt->stop_style);
  159. }
  160. /*
  161. * Class: org_rocksdb_CompactionOptionsUniversal
  162. * Method: setAllowTrivialMove
  163. * Signature: (JZ)V
  164. */
  165. void Java_org_rocksdb_CompactionOptionsUniversal_setAllowTrivialMove(
  166. JNIEnv*, jclass, jlong jhandle, jboolean jallow_trivial_move) {
  167. auto* opt =
  168. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  169. opt->allow_trivial_move = static_cast<bool>(jallow_trivial_move);
  170. }
  171. /*
  172. * Class: org_rocksdb_CompactionOptionsUniversal
  173. * Method: allowTrivialMove
  174. * Signature: (J)Z
  175. */
  176. jboolean Java_org_rocksdb_CompactionOptionsUniversal_allowTrivialMove(
  177. JNIEnv*, jclass, jlong jhandle) {
  178. auto* opt =
  179. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  180. return opt->allow_trivial_move;
  181. }
  182. /*
  183. * Class: org_rocksdb_CompactionOptionsUniversal
  184. * Method: disposeInternal
  185. * Signature: (J)V
  186. */
  187. void Java_org_rocksdb_CompactionOptionsUniversal_disposeInternalJni(
  188. JNIEnv*, jclass, jlong jhandle) {
  189. delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(
  190. jhandle);
  191. }