compaction_options_universal.cc 6.6 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/portal.h"
  12. /*
  13. * Class: org_rocksdb_CompactionOptionsUniversal
  14. * Method: newCompactionOptionsUniversal
  15. * Signature: ()J
  16. */
  17. jlong Java_org_rocksdb_CompactionOptionsUniversal_newCompactionOptionsUniversal(
  18. JNIEnv*, jclass) {
  19. const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsUniversal();
  20. return reinterpret_cast<jlong>(opt);
  21. }
  22. /*
  23. * Class: org_rocksdb_CompactionOptionsUniversal
  24. * Method: setSizeRatio
  25. * Signature: (JI)V
  26. */
  27. void Java_org_rocksdb_CompactionOptionsUniversal_setSizeRatio(
  28. JNIEnv*, jobject, jlong jhandle, jint jsize_ratio) {
  29. auto* opt =
  30. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  31. opt->size_ratio = static_cast<unsigned int>(jsize_ratio);
  32. }
  33. /*
  34. * Class: org_rocksdb_CompactionOptionsUniversal
  35. * Method: sizeRatio
  36. * Signature: (J)I
  37. */
  38. jint Java_org_rocksdb_CompactionOptionsUniversal_sizeRatio(
  39. JNIEnv*, jobject, jlong jhandle) {
  40. auto* opt =
  41. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  42. return static_cast<jint>(opt->size_ratio);
  43. }
  44. /*
  45. * Class: org_rocksdb_CompactionOptionsUniversal
  46. * Method: setMinMergeWidth
  47. * Signature: (JI)V
  48. */
  49. void Java_org_rocksdb_CompactionOptionsUniversal_setMinMergeWidth(
  50. JNIEnv*, jobject, jlong jhandle, jint jmin_merge_width) {
  51. auto* opt =
  52. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  53. opt->min_merge_width = static_cast<unsigned int>(jmin_merge_width);
  54. }
  55. /*
  56. * Class: org_rocksdb_CompactionOptionsUniversal
  57. * Method: minMergeWidth
  58. * Signature: (J)I
  59. */
  60. jint Java_org_rocksdb_CompactionOptionsUniversal_minMergeWidth(
  61. JNIEnv*, jobject, jlong jhandle) {
  62. auto* opt =
  63. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  64. return static_cast<jint>(opt->min_merge_width);
  65. }
  66. /*
  67. * Class: org_rocksdb_CompactionOptionsUniversal
  68. * Method: setMaxMergeWidth
  69. * Signature: (JI)V
  70. */
  71. void Java_org_rocksdb_CompactionOptionsUniversal_setMaxMergeWidth(
  72. JNIEnv*, jobject, jlong jhandle, jint jmax_merge_width) {
  73. auto* opt =
  74. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  75. opt->max_merge_width = static_cast<unsigned int>(jmax_merge_width);
  76. }
  77. /*
  78. * Class: org_rocksdb_CompactionOptionsUniversal
  79. * Method: maxMergeWidth
  80. * Signature: (J)I
  81. */
  82. jint Java_org_rocksdb_CompactionOptionsUniversal_maxMergeWidth(
  83. JNIEnv*, jobject, jlong jhandle) {
  84. auto* opt =
  85. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  86. return static_cast<jint>(opt->max_merge_width);
  87. }
  88. /*
  89. * Class: org_rocksdb_CompactionOptionsUniversal
  90. * Method: setMaxSizeAmplificationPercent
  91. * Signature: (JI)V
  92. */
  93. void Java_org_rocksdb_CompactionOptionsUniversal_setMaxSizeAmplificationPercent(
  94. JNIEnv*, jobject, jlong jhandle, jint jmax_size_amplification_percent) {
  95. auto* opt =
  96. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  97. opt->max_size_amplification_percent =
  98. static_cast<unsigned int>(jmax_size_amplification_percent);
  99. }
  100. /*
  101. * Class: org_rocksdb_CompactionOptionsUniversal
  102. * Method: maxSizeAmplificationPercent
  103. * Signature: (J)I
  104. */
  105. jint Java_org_rocksdb_CompactionOptionsUniversal_maxSizeAmplificationPercent(
  106. JNIEnv*, jobject, jlong jhandle) {
  107. auto* opt =
  108. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(jhandle);
  109. return static_cast<jint>(opt->max_size_amplification_percent);
  110. }
  111. /*
  112. * Class: org_rocksdb_CompactionOptionsUniversal
  113. * Method: setCompressionSizePercent
  114. * Signature: (JI)V
  115. */
  116. void Java_org_rocksdb_CompactionOptionsUniversal_setCompressionSizePercent(
  117. JNIEnv*, jobject, jlong jhandle,
  118. 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*, jobject, 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*, jobject, 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(
  154. JNIEnv*, jobject, 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*, jobject, 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*, jobject, 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_disposeInternal(
  188. JNIEnv*, jobject, jlong jhandle) {
  189. delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsUniversal*>(
  190. jhandle);
  191. }