compaction_options_fifo.cc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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::CompactionOptionsFIFO.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_CompactionOptionsFIFO.h"
  10. #include "rocksdb/advanced_options.h"
  11. /*
  12. * Class: org_rocksdb_CompactionOptionsFIFO
  13. * Method: newCompactionOptionsFIFO
  14. * Signature: ()J
  15. */
  16. jlong Java_org_rocksdb_CompactionOptionsFIFO_newCompactionOptionsFIFO(
  17. JNIEnv*, jclass) {
  18. const auto* opt = new ROCKSDB_NAMESPACE::CompactionOptionsFIFO();
  19. return reinterpret_cast<jlong>(opt);
  20. }
  21. /*
  22. * Class: org_rocksdb_CompactionOptionsFIFO
  23. * Method: setMaxTableFilesSize
  24. * Signature: (JJ)V
  25. */
  26. void Java_org_rocksdb_CompactionOptionsFIFO_setMaxTableFilesSize(
  27. JNIEnv*, jobject, jlong jhandle, jlong jmax_table_files_size) {
  28. auto* opt =
  29. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
  30. opt->max_table_files_size = static_cast<uint64_t>(jmax_table_files_size);
  31. }
  32. /*
  33. * Class: org_rocksdb_CompactionOptionsFIFO
  34. * Method: maxTableFilesSize
  35. * Signature: (J)J
  36. */
  37. jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(
  38. JNIEnv*, jobject, jlong jhandle) {
  39. auto* opt =
  40. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
  41. return static_cast<jlong>(opt->max_table_files_size);
  42. }
  43. /*
  44. * Class: org_rocksdb_CompactionOptionsFIFO
  45. * Method: setAllowCompaction
  46. * Signature: (JZ)V
  47. */
  48. void Java_org_rocksdb_CompactionOptionsFIFO_setAllowCompaction(
  49. JNIEnv*, jobject, jlong jhandle, jboolean allow_compaction) {
  50. auto* opt =
  51. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
  52. opt->allow_compaction = static_cast<bool>(allow_compaction);
  53. }
  54. /*
  55. * Class: org_rocksdb_CompactionOptionsFIFO
  56. * Method: allowCompaction
  57. * Signature: (J)Z
  58. */
  59. jboolean Java_org_rocksdb_CompactionOptionsFIFO_allowCompaction(
  60. JNIEnv*, jobject, jlong jhandle) {
  61. auto* opt =
  62. reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
  63. return static_cast<jboolean>(opt->allow_compaction);
  64. }
  65. /*
  66. * Class: org_rocksdb_CompactionOptionsFIFO
  67. * Method: disposeInternal
  68. * Signature: (J)V
  69. */
  70. void Java_org_rocksdb_CompactionOptionsFIFO_disposeInternal(
  71. JNIEnv*, jobject, jlong jhandle) {
  72. delete reinterpret_cast<ROCKSDB_NAMESPACE::CompactionOptionsFIFO*>(jhandle);
  73. }