ingest_external_file_options.cc 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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::FilterPolicy.
  8. #include <jni.h>
  9. #include "include/org_rocksdb_IngestExternalFileOptions.h"
  10. #include "rocksdb/options.h"
  11. /*
  12. * Class: org_rocksdb_IngestExternalFileOptions
  13. * Method: newIngestExternalFileOptions
  14. * Signature: ()J
  15. */
  16. jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__(
  17. JNIEnv*, jclass) {
  18. auto* options = new ROCKSDB_NAMESPACE::IngestExternalFileOptions();
  19. return reinterpret_cast<jlong>(options);
  20. }
  21. /*
  22. * Class: org_rocksdb_IngestExternalFileOptions
  23. * Method: newIngestExternalFileOptions
  24. * Signature: (ZZZZ)J
  25. */
  26. jlong Java_org_rocksdb_IngestExternalFileOptions_newIngestExternalFileOptions__ZZZZ(
  27. JNIEnv*, jclass, jboolean jmove_files,
  28. jboolean jsnapshot_consistency, jboolean jallow_global_seqno,
  29. jboolean jallow_blocking_flush) {
  30. auto* options = new ROCKSDB_NAMESPACE::IngestExternalFileOptions();
  31. options->move_files = static_cast<bool>(jmove_files);
  32. options->snapshot_consistency = static_cast<bool>(jsnapshot_consistency);
  33. options->allow_global_seqno = static_cast<bool>(jallow_global_seqno);
  34. options->allow_blocking_flush = static_cast<bool>(jallow_blocking_flush);
  35. return reinterpret_cast<jlong>(options);
  36. }
  37. /*
  38. * Class: org_rocksdb_IngestExternalFileOptions
  39. * Method: moveFiles
  40. * Signature: (J)Z
  41. */
  42. jboolean Java_org_rocksdb_IngestExternalFileOptions_moveFiles(
  43. JNIEnv*, jobject, jlong jhandle) {
  44. auto* options =
  45. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  46. return static_cast<jboolean>(options->move_files);
  47. }
  48. /*
  49. * Class: org_rocksdb_IngestExternalFileOptions
  50. * Method: setMoveFiles
  51. * Signature: (JZ)V
  52. */
  53. void Java_org_rocksdb_IngestExternalFileOptions_setMoveFiles(
  54. JNIEnv*, jobject, jlong jhandle, jboolean jmove_files) {
  55. auto* options =
  56. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  57. options->move_files = static_cast<bool>(jmove_files);
  58. }
  59. /*
  60. * Class: org_rocksdb_IngestExternalFileOptions
  61. * Method: snapshotConsistency
  62. * Signature: (J)Z
  63. */
  64. jboolean Java_org_rocksdb_IngestExternalFileOptions_snapshotConsistency(
  65. JNIEnv*, jobject, jlong jhandle) {
  66. auto* options =
  67. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  68. return static_cast<jboolean>(options->snapshot_consistency);
  69. }
  70. /*
  71. * Class: org_rocksdb_IngestExternalFileOptions
  72. * Method: setSnapshotConsistency
  73. * Signature: (JZ)V
  74. */
  75. void Java_org_rocksdb_IngestExternalFileOptions_setSnapshotConsistency(
  76. JNIEnv*, jobject, jlong jhandle, jboolean jsnapshot_consistency) {
  77. auto* options =
  78. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  79. options->snapshot_consistency = static_cast<bool>(jsnapshot_consistency);
  80. }
  81. /*
  82. * Class: org_rocksdb_IngestExternalFileOptions
  83. * Method: allowGlobalSeqNo
  84. * Signature: (J)Z
  85. */
  86. jboolean Java_org_rocksdb_IngestExternalFileOptions_allowGlobalSeqNo(
  87. JNIEnv*, jobject, jlong jhandle) {
  88. auto* options =
  89. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  90. return static_cast<jboolean>(options->allow_global_seqno);
  91. }
  92. /*
  93. * Class: org_rocksdb_IngestExternalFileOptions
  94. * Method: setAllowGlobalSeqNo
  95. * Signature: (JZ)V
  96. */
  97. void Java_org_rocksdb_IngestExternalFileOptions_setAllowGlobalSeqNo(
  98. JNIEnv*, jobject, jlong jhandle, jboolean jallow_global_seqno) {
  99. auto* options =
  100. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  101. options->allow_global_seqno = static_cast<bool>(jallow_global_seqno);
  102. }
  103. /*
  104. * Class: org_rocksdb_IngestExternalFileOptions
  105. * Method: allowBlockingFlush
  106. * Signature: (J)Z
  107. */
  108. jboolean Java_org_rocksdb_IngestExternalFileOptions_allowBlockingFlush(
  109. JNIEnv*, jobject, jlong jhandle) {
  110. auto* options =
  111. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  112. return static_cast<jboolean>(options->allow_blocking_flush);
  113. }
  114. /*
  115. * Class: org_rocksdb_IngestExternalFileOptions
  116. * Method: setAllowBlockingFlush
  117. * Signature: (JZ)V
  118. */
  119. void Java_org_rocksdb_IngestExternalFileOptions_setAllowBlockingFlush(
  120. JNIEnv*, jobject, jlong jhandle, jboolean jallow_blocking_flush) {
  121. auto* options =
  122. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  123. options->allow_blocking_flush = static_cast<bool>(jallow_blocking_flush);
  124. }
  125. /*
  126. * Class: org_rocksdb_IngestExternalFileOptions
  127. * Method: ingestBehind
  128. * Signature: (J)Z
  129. */
  130. jboolean Java_org_rocksdb_IngestExternalFileOptions_ingestBehind(
  131. JNIEnv*, jobject, jlong jhandle) {
  132. auto* options =
  133. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  134. return options->ingest_behind == JNI_TRUE;
  135. }
  136. /*
  137. * Class: org_rocksdb_IngestExternalFileOptions
  138. * Method: setIngestBehind
  139. * Signature: (JZ)V
  140. */
  141. void Java_org_rocksdb_IngestExternalFileOptions_setIngestBehind(
  142. JNIEnv*, jobject, jlong jhandle, jboolean jingest_behind) {
  143. auto* options =
  144. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  145. options->ingest_behind = jingest_behind == JNI_TRUE;
  146. }
  147. /*
  148. * Class: org_rocksdb_IngestExternalFileOptions
  149. * Method: writeGlobalSeqno
  150. * Signature: (J)Z
  151. */
  152. JNIEXPORT jboolean JNICALL Java_org_rocksdb_IngestExternalFileOptions_writeGlobalSeqno(
  153. JNIEnv*, jobject, jlong jhandle) {
  154. auto* options =
  155. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  156. return options->write_global_seqno == JNI_TRUE;
  157. }
  158. /*
  159. * Class: org_rocksdb_IngestExternalFileOptions
  160. * Method: setWriteGlobalSeqno
  161. * Signature: (JZ)V
  162. */
  163. JNIEXPORT void JNICALL Java_org_rocksdb_IngestExternalFileOptions_setWriteGlobalSeqno(
  164. JNIEnv*, jobject, jlong jhandle, jboolean jwrite_global_seqno) {
  165. auto* options =
  166. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  167. options->write_global_seqno = jwrite_global_seqno == JNI_TRUE;
  168. }
  169. /*
  170. * Class: org_rocksdb_IngestExternalFileOptions
  171. * Method: disposeInternal
  172. * Signature: (J)V
  173. */
  174. void Java_org_rocksdb_IngestExternalFileOptions_disposeInternal(
  175. JNIEnv*, jobject, jlong jhandle) {
  176. auto* options =
  177. reinterpret_cast<ROCKSDB_NAMESPACE::IngestExternalFileOptions*>(jhandle);
  178. delete options;
  179. }