compaction_options.cc 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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/portal.h"
  12. /*
  13. * Class: org_rocksdb_CompactionOptions
  14. * Method: newCompactionOptions
  15. * Signature: ()J
  16. */
  17. jlong Java_org_rocksdb_CompactionOptions_newCompactionOptions(
  18. JNIEnv*, jclass) {
  19. auto* compact_opts = new ROCKSDB_NAMESPACE::CompactionOptions();
  20. return reinterpret_cast<jlong>(compact_opts);
  21. }
  22. /*
  23. * Class: org_rocksdb_CompactionOptions
  24. * Method: disposeInternal
  25. * Signature: (J)V
  26. */
  27. void Java_org_rocksdb_CompactionOptions_disposeInternal(
  28. JNIEnv *, jobject, 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(
  39. JNIEnv*, jclass, 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(
  64. JNIEnv*, jclass, jlong jhandle) {
  65. auto* compact_opts =
  66. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  67. return static_cast<jlong>(
  68. compact_opts->output_file_size_limit);
  69. }
  70. /*
  71. * Class: org_rocksdb_CompactionOptions
  72. * Method: setOutputFileSizeLimit
  73. * Signature: (JJ)V
  74. */
  75. void Java_org_rocksdb_CompactionOptions_setOutputFileSizeLimit(
  76. JNIEnv*, jclass, jlong jhandle, jlong joutput_file_size_limit) {
  77. auto* compact_opts =
  78. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  79. compact_opts->output_file_size_limit =
  80. static_cast<uint64_t>(joutput_file_size_limit);
  81. }
  82. /*
  83. * Class: org_rocksdb_CompactionOptions
  84. * Method: maxSubcompactions
  85. * Signature: (J)I
  86. */
  87. jint Java_org_rocksdb_CompactionOptions_maxSubcompactions(
  88. JNIEnv*, jclass, jlong jhandle) {
  89. auto* compact_opts =
  90. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  91. return static_cast<jint>(
  92. compact_opts->max_subcompactions);
  93. }
  94. /*
  95. * Class: org_rocksdb_CompactionOptions
  96. * Method: setMaxSubcompactions
  97. * Signature: (JI)V
  98. */
  99. void Java_org_rocksdb_CompactionOptions_setMaxSubcompactions(
  100. JNIEnv*, jclass, jlong jhandle, jint jmax_subcompactions) {
  101. auto* compact_opts =
  102. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptions*>(jhandle);
  103. compact_opts->max_subcompactions =
  104. static_cast<uint32_t>(jmax_subcompactions);
  105. }