compaction_options_fifo.cc 2.8 KB

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