compression_options.cc 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. /*
  12. * Class: org_rocksdb_CompressionOptions
  13. * Method: newCompressionOptions
  14. * Signature: ()J
  15. */
  16. jlong Java_org_rocksdb_CompressionOptions_newCompressionOptions(
  17. JNIEnv*, jclass) {
  18. const auto* opt = new ROCKSDB_NAMESPACE::CompressionOptions();
  19. return reinterpret_cast<jlong>(opt);
  20. }
  21. /*
  22. * Class: org_rocksdb_CompressionOptions
  23. * Method: setWindowBits
  24. * Signature: (JI)V
  25. */
  26. void Java_org_rocksdb_CompressionOptions_setWindowBits(
  27. JNIEnv*, jobject, jlong jhandle, jint jwindow_bits) {
  28. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  29. opt->window_bits = static_cast<int>(jwindow_bits);
  30. }
  31. /*
  32. * Class: org_rocksdb_CompressionOptions
  33. * Method: windowBits
  34. * Signature: (J)I
  35. */
  36. jint Java_org_rocksdb_CompressionOptions_windowBits(
  37. JNIEnv*, jobject, jlong jhandle) {
  38. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  39. return static_cast<jint>(opt->window_bits);
  40. }
  41. /*
  42. * Class: org_rocksdb_CompressionOptions
  43. * Method: setLevel
  44. * Signature: (JI)V
  45. */
  46. void Java_org_rocksdb_CompressionOptions_setLevel(
  47. JNIEnv*, jobject, jlong jhandle, jint jlevel) {
  48. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  49. opt->level = static_cast<int>(jlevel);
  50. }
  51. /*
  52. * Class: org_rocksdb_CompressionOptions
  53. * Method: level
  54. * Signature: (J)I
  55. */
  56. jint Java_org_rocksdb_CompressionOptions_level(
  57. JNIEnv*, jobject, jlong jhandle) {
  58. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  59. return static_cast<jint>(opt->level);
  60. }
  61. /*
  62. * Class: org_rocksdb_CompressionOptions
  63. * Method: setStrategy
  64. * Signature: (JI)V
  65. */
  66. void Java_org_rocksdb_CompressionOptions_setStrategy(
  67. JNIEnv*, jobject, jlong jhandle, jint jstrategy) {
  68. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  69. opt->strategy = static_cast<int>(jstrategy);
  70. }
  71. /*
  72. * Class: org_rocksdb_CompressionOptions
  73. * Method: strategy
  74. * Signature: (J)I
  75. */
  76. jint Java_org_rocksdb_CompressionOptions_strategy(
  77. JNIEnv*, jobject, jlong jhandle) {
  78. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  79. return static_cast<jint>(opt->strategy);
  80. }
  81. /*
  82. * Class: org_rocksdb_CompressionOptions
  83. * Method: setMaxDictBytes
  84. * Signature: (JI)V
  85. */
  86. void Java_org_rocksdb_CompressionOptions_setMaxDictBytes(
  87. JNIEnv*, jobject, jlong jhandle, jint jmax_dict_bytes) {
  88. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  89. opt->max_dict_bytes = static_cast<uint32_t>(jmax_dict_bytes);
  90. }
  91. /*
  92. * Class: org_rocksdb_CompressionOptions
  93. * Method: maxDictBytes
  94. * Signature: (J)I
  95. */
  96. jint Java_org_rocksdb_CompressionOptions_maxDictBytes(
  97. JNIEnv*, jobject, jlong jhandle) {
  98. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  99. return static_cast<jint>(opt->max_dict_bytes);
  100. }
  101. /*
  102. * Class: org_rocksdb_CompressionOptions
  103. * Method: setZstdMaxTrainBytes
  104. * Signature: (JI)V
  105. */
  106. void Java_org_rocksdb_CompressionOptions_setZstdMaxTrainBytes(
  107. JNIEnv*, jobject, jlong jhandle, jint jzstd_max_train_bytes) {
  108. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  109. opt->zstd_max_train_bytes = static_cast<uint32_t>(jzstd_max_train_bytes);
  110. }
  111. /*
  112. * Class: org_rocksdb_CompressionOptions
  113. * Method: zstdMaxTrainBytes
  114. * Signature: (J)I
  115. */
  116. jint Java_org_rocksdb_CompressionOptions_zstdMaxTrainBytes(
  117. JNIEnv *, jobject, jlong jhandle) {
  118. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  119. return static_cast<jint>(opt->zstd_max_train_bytes);
  120. }
  121. /*
  122. * Class: org_rocksdb_CompressionOptions
  123. * Method: setEnabled
  124. * Signature: (JZ)V
  125. */
  126. void Java_org_rocksdb_CompressionOptions_setEnabled(
  127. JNIEnv*, jobject, jlong jhandle, jboolean jenabled) {
  128. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  129. opt->enabled = jenabled == JNI_TRUE;
  130. }
  131. /*
  132. * Class: org_rocksdb_CompressionOptions
  133. * Method: enabled
  134. * Signature: (J)Z
  135. */
  136. jboolean Java_org_rocksdb_CompressionOptions_enabled(
  137. JNIEnv*, jobject, jlong jhandle) {
  138. auto* opt = reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  139. return static_cast<bool>(opt->enabled);
  140. }
  141. /*
  142. * Class: org_rocksdb_CompressionOptions
  143. * Method: disposeInternal
  144. * Signature: (J)V
  145. */
  146. void Java_org_rocksdb_CompressionOptions_disposeInternal(
  147. JNIEnv*, jobject, jlong jhandle) {
  148. delete reinterpret_cast<ROCKSDB_NAMESPACE::CompressionOptions*>(jhandle);
  149. }