compression_options.cc 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  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::CompressionOptions.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_CompressionOptions.h"
  10. #include "rocksdb/advanced_options.h"
  11. #include "rocksjni/cplusplus_to_java_convert.h"
  12. /*
  13. * Class: org_rocksdb_CompressionOptions
  14. * Method: newCompressionOptions
  15. * Signature: ()J
  16. */
  17. jlong Java_org_rocksdb_CompressionOptions_newCompressionOptions(JNIEnv*,
  18. jclass) {
  19. const auto* opt = new ROCKSDB_NAMESPACE::CompressionOptions();
  20. return GET_CPLUSPLUS_POINTER(opt);
  21. }
  22. /*
  23. * Class: org_rocksdb_CompressionOptions
  24. * Method: setWindowBits
  25. * Signature: (JI)V
  26. */
  27. void Java_org_rocksdb_CompressionOptions_setWindowBits(JNIEnv*, jclass,
  28. jlong jhandle,
  29. jint jwindow_bits) {
  30. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  31. opt->window_bits = static_cast<int>(jwindow_bits);
  32. }
  33. /*
  34. * Class: org_rocksdb_CompressionOptions
  35. * Method: windowBits
  36. * Signature: (J)I
  37. */
  38. jint Java_org_rocksdb_CompressionOptions_windowBits(JNIEnv*, jclass,
  39. jlong jhandle) {
  40. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  41. return static_cast<jint>(opt->window_bits);
  42. }
  43. /*
  44. * Class: org_rocksdb_CompressionOptions
  45. * Method: setLevel
  46. * Signature: (JI)V
  47. */
  48. void Java_org_rocksdb_CompressionOptions_setLevel(JNIEnv*, jclass,
  49. jlong jhandle, jint jlevel) {
  50. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  51. opt->level = static_cast<int>(jlevel);
  52. }
  53. /*
  54. * Class: org_rocksdb_CompressionOptions
  55. * Method: level
  56. * Signature: (J)I
  57. */
  58. jint Java_org_rocksdb_CompressionOptions_level(JNIEnv*, jclass, jlong jhandle) {
  59. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  60. return static_cast<jint>(opt->level);
  61. }
  62. /*
  63. * Class: org_rocksdb_CompressionOptions
  64. * Method: setStrategy
  65. * Signature: (JI)V
  66. */
  67. void Java_org_rocksdb_CompressionOptions_setStrategy(JNIEnv*, jclass,
  68. jlong jhandle,
  69. jint jstrategy) {
  70. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  71. opt->strategy = static_cast<int>(jstrategy);
  72. }
  73. /*
  74. * Class: org_rocksdb_CompressionOptions
  75. * Method: strategy
  76. * Signature: (J)I
  77. */
  78. jint Java_org_rocksdb_CompressionOptions_strategy(JNIEnv*, jclass,
  79. jlong jhandle) {
  80. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  81. return static_cast<jint>(opt->strategy);
  82. }
  83. /*
  84. * Class: org_rocksdb_CompressionOptions
  85. * Method: setMaxDictBytes
  86. * Signature: (JI)V
  87. */
  88. void Java_org_rocksdb_CompressionOptions_setMaxDictBytes(JNIEnv*, jclass,
  89. jlong jhandle,
  90. jint jmax_dict_bytes) {
  91. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  92. opt->max_dict_bytes = static_cast<uint32_t>(jmax_dict_bytes);
  93. }
  94. /*
  95. * Class: org_rocksdb_CompressionOptions
  96. * Method: maxDictBytes
  97. * Signature: (J)I
  98. */
  99. jint Java_org_rocksdb_CompressionOptions_maxDictBytes(JNIEnv*, jclass,
  100. jlong jhandle) {
  101. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  102. return static_cast<jint>(opt->max_dict_bytes);
  103. }
  104. /*
  105. * Class: org_rocksdb_CompressionOptions
  106. * Method: setZstdMaxTrainBytes
  107. * Signature: (JI)V
  108. */
  109. void Java_org_rocksdb_CompressionOptions_setZstdMaxTrainBytes(
  110. JNIEnv*, jclass, jlong jhandle, jint jzstd_max_train_bytes) {
  111. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  112. opt->zstd_max_train_bytes = static_cast<uint32_t>(jzstd_max_train_bytes);
  113. }
  114. /*
  115. * Class: org_rocksdb_CompressionOptions
  116. * Method: zstdMaxTrainBytes
  117. * Signature: (J)I
  118. */
  119. jint Java_org_rocksdb_CompressionOptions_zstdMaxTrainBytes(JNIEnv*, jclass,
  120. jlong jhandle) {
  121. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  122. return static_cast<jint>(opt->zstd_max_train_bytes);
  123. }
  124. /*
  125. * Class: org_rocksdb_CompressionOptions
  126. * Method: setMaxDictBufferBytes
  127. * Signature: (JJ)V
  128. */
  129. void Java_org_rocksdb_CompressionOptions_setMaxDictBufferBytes(
  130. JNIEnv*, jclass, jlong jhandle, jlong jmax_dict_buffer_bytes) {
  131. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  132. opt->max_dict_buffer_bytes = static_cast<uint64_t>(jmax_dict_buffer_bytes);
  133. }
  134. /*
  135. * Class: org_rocksdb_CompressionOptions
  136. * Method: maxDictBufferBytes
  137. * Signature: (J)J
  138. */
  139. jlong Java_org_rocksdb_CompressionOptions_maxDictBufferBytes(JNIEnv*, jclass,
  140. jlong jhandle) {
  141. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  142. return static_cast<jlong>(opt->max_dict_buffer_bytes);
  143. }
  144. /*
  145. * Class: org_rocksdb_CompressionOptions
  146. * Method: setZstdMaxTrainBytes
  147. * Signature: (JZ)V
  148. */
  149. void Java_org_rocksdb_CompressionOptions_setUseZstdDictTrainer(
  150. JNIEnv*, jclass, jlong jhandle, jboolean juse_zstd_dict_trainer) {
  151. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  152. opt->use_zstd_dict_trainer = juse_zstd_dict_trainer == JNI_TRUE;
  153. }
  154. /*
  155. * Class: org_rocksdb_CompressionOptions
  156. * Method: zstdMaxTrainBytes
  157. * Signature: (J)Z
  158. */
  159. jboolean Java_org_rocksdb_CompressionOptions_useZstdDictTrainer(JNIEnv*, jclass,
  160. jlong jhandle) {
  161. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  162. return static_cast<bool>(opt->use_zstd_dict_trainer);
  163. }
  164. /*
  165. * Class: org_rocksdb_CompressionOptions
  166. * Method: setEnabled
  167. * Signature: (JZ)V
  168. */
  169. void Java_org_rocksdb_CompressionOptions_setEnabled(JNIEnv*, jclass,
  170. jlong jhandle,
  171. jboolean jenabled) {
  172. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  173. opt->enabled = jenabled == JNI_TRUE;
  174. }
  175. /*
  176. * Class: org_rocksdb_CompressionOptions
  177. * Method: enabled
  178. * Signature: (J)Z
  179. */
  180. jboolean Java_org_rocksdb_CompressionOptions_enabled(JNIEnv*, jclass,
  181. jlong jhandle) {
  182. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  183. return static_cast<bool>(opt->enabled);
  184. }
  185. /*
  186. * Class: org_rocksdb_CompressionOptions
  187. * Method: disposeInternal
  188. * Signature: (J)V
  189. */
  190. void Java_org_rocksdb_CompressionOptions_disposeInternalJni(JNIEnv*, jclass,
  191. jlong jhandle) {
  192. delete reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  193. }