compaction_options.cc 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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::CompactionOptions.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_CompactionOptions.h"
  10. #include "rocksdb/options.h"
  11. #include "rocksjni/cplusplus_to_java_convert.h"
  12. #include "rocksjni/portal.h"
  13. /*
  14. * Class: org_rocksdb_CompactionOptions
  15. * Method: newCompactionOptions
  16. * Signature: ()J
  17. */
  18. jlong Java_org_rocksdb_CompactionOptions_newCompactionOptions(JNIEnv*, jclass) {
  19. auto* compact_opts = new ROCKSDB_NAMESPACE::CompactionOptions();
  20. return GET_CPLUSPLUS_POINTER(compact_opts);
  21. }
  22. /*
  23. * Class: org_rocksdb_CompactionOptions
  24. * Method: disposeInternal
  25. * Signature: (J)V
  26. */
  27. void Java_org_rocksdb_CompactionOptions_disposeInternalJni(JNIEnv*, jclass,
  28. jlong jhandle) {
  29. auto* compact_opts =
  30. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  31. delete compact_opts;
  32. }
  33. /*
  34. * Class: org_rocksdb_CompactionOptions
  35. * Method: compression
  36. * Signature: (J)B
  37. */
  38. jbyte Java_org_rocksdb_CompactionOptions_compression(JNIEnv*, jclass,
  39. jlong jhandle) {
  40. auto* compact_opts =
  41. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  42. return ROCKSDB_NAMESPACE::CompressionTypeJni::toJavaCompressionType(
  43. compact_opts->compression);
  44. }
  45. /*
  46. * Class: org_rocksdb_CompactionOptions
  47. * Method: setCompression
  48. * Signature: (JB)V
  49. */
  50. void Java_org_rocksdb_CompactionOptions_setCompression(
  51. JNIEnv*, jclass, jlong jhandle, jbyte jcompression_type_value) {
  52. auto* compact_opts =
  53. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  54. compact_opts->compression =
  55. ROCKSDB_NAMESPACE::CompressionTypeJni::toCppCompressionType(
  56. jcompression_type_value);
  57. }
  58. /*
  59. * Class: org_rocksdb_CompactionOptions
  60. * Method: outputFileSizeLimit
  61. * Signature: (J)J
  62. */
  63. jlong Java_org_rocksdb_CompactionOptions_outputFileSizeLimit(JNIEnv*, jclass,
  64. jlong jhandle) {
  65. auto* compact_opts =
  66. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  67. return static_cast<jlong>(compact_opts->output_file_size_limit);
  68. }
  69. /*
  70. * Class: org_rocksdb_CompactionOptions
  71. * Method: setOutputFileSizeLimit
  72. * Signature: (JJ)V
  73. */
  74. void Java_org_rocksdb_CompactionOptions_setOutputFileSizeLimit(
  75. JNIEnv*, jclass, jlong jhandle, jlong joutput_file_size_limit) {
  76. auto* compact_opts =
  77. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  78. compact_opts->output_file_size_limit =
  79. static_cast<uint64_t>(joutput_file_size_limit);
  80. }
  81. /*
  82. * Class: org_rocksdb_CompactionOptions
  83. * Method: maxSubcompactions
  84. * Signature: (J)I
  85. */
  86. jint Java_org_rocksdb_CompactionOptions_maxSubcompactions(JNIEnv*, jclass,
  87. jlong jhandle) {
  88. auto* compact_opts =
  89. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  90. return static_cast<jint>(compact_opts->max_subcompactions);
  91. }
  92. /*
  93. * Class: org_rocksdb_CompactionOptions
  94. * Method: setMaxSubcompactions
  95. * Signature: (JI)V
  96. */
  97. void Java_org_rocksdb_CompactionOptions_setMaxSubcompactions(
  98. JNIEnv*, jclass, jlong jhandle, jint jmax_subcompactions) {
  99. auto* compact_opts =
  100. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  101. compact_opts->max_subcompactions = static_cast<uint32_t>(jmax_subcompactions);
  102. }