couchbase 1.3.15 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1897) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +202 -0
  3. data/README.md +130 -0
  4. data/ext/CMakeLists.txt +66 -0
  5. data/ext/couchbase/CMakeLists.txt +142 -0
  6. data/ext/couchbase/LICENSE.txt +202 -0
  7. data/ext/couchbase/cmake/Backtrace.cmake +35 -0
  8. data/ext/couchbase/cmake/BuildTracing.cmake +6 -0
  9. data/ext/couchbase/cmake/Cache.cmake +29 -0
  10. data/ext/couchbase/cmake/CompilerWarnings.cmake +83 -0
  11. data/ext/couchbase/cmake/DetectStandardFilesystem.cmake +30 -0
  12. data/ext/couchbase/cmake/OpenSSL.cmake +24 -0
  13. data/ext/couchbase/cmake/PreventInSourceBuilds.cmake +21 -0
  14. data/ext/couchbase/cmake/Sanitizers.cmake +67 -0
  15. data/ext/couchbase/cmake/StandardProjectSettings.cmake +45 -0
  16. data/ext/couchbase/cmake/StaticAnalyzers.cmake +37 -0
  17. data/ext/couchbase/cmake/Testing.cmake +63 -0
  18. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +44 -0
  19. data/ext/couchbase/cmake/VersionInfo.cmake +46 -0
  20. data/ext/couchbase/cmake/build_config.hxx.in +20 -0
  21. data/ext/couchbase/cmake/build_version.hxx.in +32 -0
  22. data/ext/couchbase/cmake/test_filesystem.cpp.in +22 -0
  23. data/ext/couchbase/couchbase/analytics_scan_consistency.hxx +26 -0
  24. data/ext/couchbase/couchbase/bucket.hxx +536 -0
  25. data/ext/couchbase/couchbase/capella_ca.hxx +43 -0
  26. data/ext/couchbase/couchbase/cas.hxx +47 -0
  27. data/ext/couchbase/couchbase/cas_fmt.hxx +37 -0
  28. data/ext/couchbase/couchbase/cluster.cxx +111 -0
  29. data/ext/couchbase/couchbase/cluster.hxx +423 -0
  30. data/ext/couchbase/couchbase/cluster_options.cxx +45 -0
  31. data/ext/couchbase/couchbase/cluster_options.hxx +78 -0
  32. data/ext/couchbase/couchbase/crypto/CMakeLists.txt +12 -0
  33. data/ext/couchbase/couchbase/crypto/cbcrypto.cc +887 -0
  34. data/ext/couchbase/couchbase/crypto/cbcrypto.h +88 -0
  35. data/ext/couchbase/couchbase/design_document_namespace.hxx +26 -0
  36. data/ext/couchbase/couchbase/design_document_namespace_fmt.hxx +47 -0
  37. data/ext/couchbase/couchbase/diagnostics.hxx +97 -0
  38. data/ext/couchbase/couchbase/diagnostics_fmt.hxx +113 -0
  39. data/ext/couchbase/couchbase/diagnostics_json.hxx +100 -0
  40. data/ext/couchbase/couchbase/document_id.cxx +89 -0
  41. data/ext/couchbase/couchbase/document_id.hxx +102 -0
  42. data/ext/couchbase/couchbase/document_id_fmt.hxx +37 -0
  43. data/ext/couchbase/couchbase/error_context/analytics.hxx +51 -0
  44. data/ext/couchbase/couchbase/error_context/http.hxx +47 -0
  45. data/ext/couchbase/couchbase/error_context/key_value.hxx +50 -0
  46. data/ext/couchbase/couchbase/error_context/query.hxx +51 -0
  47. data/ext/couchbase/couchbase/error_context/search.hxx +50 -0
  48. data/ext/couchbase/couchbase/error_context/view.hxx +51 -0
  49. data/ext/couchbase/couchbase/errors.hxx +1038 -0
  50. data/ext/couchbase/couchbase/io/CMakeLists.txt +12 -0
  51. data/ext/couchbase/couchbase/io/dns_client.hxx +217 -0
  52. data/ext/couchbase/couchbase/io/dns_codec.hxx +206 -0
  53. data/ext/couchbase/couchbase/io/dns_config.hxx +115 -0
  54. data/ext/couchbase/couchbase/io/dns_message.hxx +555 -0
  55. data/ext/couchbase/couchbase/io/http_command.hxx +174 -0
  56. data/ext/couchbase/couchbase/io/http_context.hxx +40 -0
  57. data/ext/couchbase/couchbase/io/http_message.hxx +116 -0
  58. data/ext/couchbase/couchbase/io/http_parser.cxx +141 -0
  59. data/ext/couchbase/couchbase/io/http_parser.hxx +55 -0
  60. data/ext/couchbase/couchbase/io/http_session.hxx +544 -0
  61. data/ext/couchbase/couchbase/io/http_session_manager.hxx +377 -0
  62. data/ext/couchbase/couchbase/io/http_traits.hxx +30 -0
  63. data/ext/couchbase/couchbase/io/ip_protocol.hxx +28 -0
  64. data/ext/couchbase/couchbase/io/mcbp_command.hxx +300 -0
  65. data/ext/couchbase/couchbase/io/mcbp_context.hxx +39 -0
  66. data/ext/couchbase/couchbase/io/mcbp_message.cxx +39 -0
  67. data/ext/couchbase/couchbase/io/mcbp_message.hxx +55 -0
  68. data/ext/couchbase/couchbase/io/mcbp_parser.cxx +86 -0
  69. data/ext/couchbase/couchbase/io/mcbp_parser.hxx +45 -0
  70. data/ext/couchbase/couchbase/io/mcbp_session.hxx +1317 -0
  71. data/ext/couchbase/couchbase/io/mcbp_traits.hxx +30 -0
  72. data/ext/couchbase/couchbase/io/query_cache.hxx +61 -0
  73. data/ext/couchbase/couchbase/io/retry_action.hxx +30 -0
  74. data/ext/couchbase/couchbase/io/retry_context.hxx +38 -0
  75. data/ext/couchbase/couchbase/io/retry_orchestrator.hxx +112 -0
  76. data/ext/couchbase/couchbase/io/retry_reason.hxx +158 -0
  77. data/ext/couchbase/couchbase/io/retry_reason_fmt.hxx +103 -0
  78. data/ext/couchbase/couchbase/io/retry_strategy.hxx +152 -0
  79. data/ext/couchbase/couchbase/io/streams.hxx +253 -0
  80. data/ext/couchbase/couchbase/json_string.hxx +48 -0
  81. data/ext/couchbase/couchbase/logger/CMakeLists.txt +9 -0
  82. data/ext/couchbase/couchbase/logger/configuration.hxx +52 -0
  83. data/ext/couchbase/couchbase/logger/custom_rotating_file_sink.cxx +157 -0
  84. data/ext/couchbase/couchbase/logger/custom_rotating_file_sink.hxx +76 -0
  85. data/ext/couchbase/couchbase/logger/logger.cxx +337 -0
  86. data/ext/couchbase/couchbase/logger/logger.hxx +235 -0
  87. data/ext/couchbase/couchbase/management/CMakeLists.txt +13 -0
  88. data/ext/couchbase/couchbase/management/analytics_dataset.hxx +30 -0
  89. data/ext/couchbase/couchbase/management/analytics_index.hxx +30 -0
  90. data/ext/couchbase/couchbase/management/analytics_link.hxx +22 -0
  91. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external.cxx +67 -0
  92. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external.hxx +76 -0
  93. data/ext/couchbase/couchbase/management/analytics_link_azure_blob_external_json.hxx +52 -0
  94. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote.cxx +104 -0
  95. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote.hxx +107 -0
  96. data/ext/couchbase/couchbase/management/analytics_link_couchbase_remote_json.hxx +63 -0
  97. data/ext/couchbase/couchbase/management/analytics_link_s3_external.cxx +57 -0
  98. data/ext/couchbase/couchbase/management/analytics_link_s3_external.hxx +69 -0
  99. data/ext/couchbase/couchbase/management/analytics_link_s3_external_json.hxx +47 -0
  100. data/ext/couchbase/couchbase/management/bucket_settings.hxx +134 -0
  101. data/ext/couchbase/couchbase/management/bucket_settings_json.hxx +123 -0
  102. data/ext/couchbase/couchbase/management/design_document.hxx +41 -0
  103. data/ext/couchbase/couchbase/management/eventing_function.hxx +188 -0
  104. data/ext/couchbase/couchbase/management/eventing_function_json.hxx +212 -0
  105. data/ext/couchbase/couchbase/management/eventing_status.hxx +84 -0
  106. data/ext/couchbase/couchbase/management/eventing_status_json.hxx +77 -0
  107. data/ext/couchbase/couchbase/management/query_index.hxx +39 -0
  108. data/ext/couchbase/couchbase/management/rbac.hxx +77 -0
  109. data/ext/couchbase/couchbase/management/rbac_fmt.hxx +49 -0
  110. data/ext/couchbase/couchbase/management/rbac_json.hxx +179 -0
  111. data/ext/couchbase/couchbase/management/search_index.hxx +38 -0
  112. data/ext/couchbase/couchbase/management/search_index_json.hxx +58 -0
  113. data/ext/couchbase/couchbase/meta/CMakeLists.txt +15 -0
  114. data/ext/couchbase/couchbase/meta/version.cxx +181 -0
  115. data/ext/couchbase/couchbase/meta/version.hxx +45 -0
  116. data/ext/couchbase/couchbase/metrics/CMakeLists.txt +11 -0
  117. data/ext/couchbase/couchbase/metrics/logging_meter.cxx +194 -0
  118. data/ext/couchbase/couchbase/metrics/logging_meter.hxx +74 -0
  119. data/ext/couchbase/couchbase/metrics/logging_meter_options.hxx +28 -0
  120. data/ext/couchbase/couchbase/metrics/meter.hxx +52 -0
  121. data/ext/couchbase/couchbase/metrics/noop_meter.hxx +47 -0
  122. data/ext/couchbase/couchbase/mutation_token.hxx +31 -0
  123. data/ext/couchbase/couchbase/mutation_token_fmt.hxx +37 -0
  124. data/ext/couchbase/couchbase/operations/CMakeLists.txt +35 -0
  125. data/ext/couchbase/couchbase/operations/document_analytics.cxx +195 -0
  126. data/ext/couchbase/couchbase/operations/document_analytics.hxx +92 -0
  127. data/ext/couchbase/couchbase/operations/document_append.cxx +46 -0
  128. data/ext/couchbase/couchbase/operations/document_append.hxx +63 -0
  129. data/ext/couchbase/couchbase/operations/document_decrement.cxx +57 -0
  130. data/ext/couchbase/couchbase/operations/document_decrement.hxx +67 -0
  131. data/ext/couchbase/couchbase/operations/document_exists.cxx +49 -0
  132. data/ext/couchbase/couchbase/operations/document_exists.hxx +61 -0
  133. data/ext/couchbase/couchbase/operations/document_get.cxx +44 -0
  134. data/ext/couchbase/couchbase/operations/document_get.hxx +53 -0
  135. data/ext/couchbase/couchbase/operations/document_get_and_lock.cxx +45 -0
  136. data/ext/couchbase/couchbase/operations/document_get_and_lock.hxx +54 -0
  137. data/ext/couchbase/couchbase/operations/document_get_and_touch.cxx +45 -0
  138. data/ext/couchbase/couchbase/operations/document_get_and_touch.hxx +54 -0
  139. data/ext/couchbase/couchbase/operations/document_get_projected.cxx +227 -0
  140. data/ext/couchbase/couchbase/operations/document_get_projected.hxx +58 -0
  141. data/ext/couchbase/couchbase/operations/document_increment.cxx +57 -0
  142. data/ext/couchbase/couchbase/operations/document_increment.hxx +67 -0
  143. data/ext/couchbase/couchbase/operations/document_insert.cxx +48 -0
  144. data/ext/couchbase/couchbase/operations/document_insert.hxx +65 -0
  145. data/ext/couchbase/couchbase/operations/document_lookup_in.cxx +81 -0
  146. data/ext/couchbase/couchbase/operations/document_lookup_in.hxx +64 -0
  147. data/ext/couchbase/couchbase/operations/document_mutate_in.cxx +104 -0
  148. data/ext/couchbase/couchbase/operations/document_mutate_in.hxx +82 -0
  149. data/ext/couchbase/couchbase/operations/document_prepend.cxx +46 -0
  150. data/ext/couchbase/couchbase/operations/document_prepend.hxx +63 -0
  151. data/ext/couchbase/couchbase/operations/document_query.cxx +370 -0
  152. data/ext/couchbase/couchbase/operations/document_query.hxx +123 -0
  153. data/ext/couchbase/couchbase/operations/document_remove.cxx +46 -0
  154. data/ext/couchbase/couchbase/operations/document_remove.hxx +63 -0
  155. data/ext/couchbase/couchbase/operations/document_replace.cxx +52 -0
  156. data/ext/couchbase/couchbase/operations/document_replace.hxx +67 -0
  157. data/ext/couchbase/couchbase/operations/document_search.cxx +311 -0
  158. data/ext/couchbase/couchbase/operations/document_search.hxx +153 -0
  159. data/ext/couchbase/couchbase/operations/document_touch.cxx +43 -0
  160. data/ext/couchbase/couchbase/operations/document_touch.hxx +52 -0
  161. data/ext/couchbase/couchbase/operations/document_unlock.cxx +43 -0
  162. data/ext/couchbase/couchbase/operations/document_unlock.hxx +52 -0
  163. data/ext/couchbase/couchbase/operations/document_upsert.cxx +52 -0
  164. data/ext/couchbase/couchbase/operations/document_upsert.hxx +66 -0
  165. data/ext/couchbase/couchbase/operations/document_view.cxx +183 -0
  166. data/ext/couchbase/couchbase/operations/document_view.hxx +97 -0
  167. data/ext/couchbase/couchbase/operations/http_noop.cxx +60 -0
  168. data/ext/couchbase/couchbase/operations/http_noop.hxx +48 -0
  169. data/ext/couchbase/couchbase/operations/management/CMakeLists.txt +79 -0
  170. data/ext/couchbase/couchbase/operations/management/analytics.hxx +34 -0
  171. data/ext/couchbase/couchbase/operations/management/analytics_dataset_create.cxx +94 -0
  172. data/ext/couchbase/couchbase/operations/management/analytics_dataset_create.hxx +57 -0
  173. data/ext/couchbase/couchbase/operations/management/analytics_dataset_drop.cxx +83 -0
  174. data/ext/couchbase/couchbase/operations/management/analytics_dataset_drop.hxx +54 -0
  175. data/ext/couchbase/couchbase/operations/management/analytics_dataset_get_all.cxx +80 -0
  176. data/ext/couchbase/couchbase/operations/management/analytics_dataset_get_all.hxx +52 -0
  177. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_create.cxx +82 -0
  178. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_create.hxx +53 -0
  179. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_drop.cxx +82 -0
  180. data/ext/couchbase/couchbase/operations/management/analytics_dataverse_drop.hxx +53 -0
  181. data/ext/couchbase/couchbase/operations/management/analytics_get_pending_mutations.cxx +70 -0
  182. data/ext/couchbase/couchbase/operations/management/analytics_get_pending_mutations.hxx +52 -0
  183. data/ext/couchbase/couchbase/operations/management/analytics_index_create.cxx +106 -0
  184. data/ext/couchbase/couchbase/operations/management/analytics_index_create.hxx +56 -0
  185. data/ext/couchbase/couchbase/operations/management/analytics_index_drop.cxx +90 -0
  186. data/ext/couchbase/couchbase/operations/management/analytics_index_drop.hxx +55 -0
  187. data/ext/couchbase/couchbase/operations/management/analytics_index_get_all.cxx +80 -0
  188. data/ext/couchbase/couchbase/operations/management/analytics_index_get_all.hxx +52 -0
  189. data/ext/couchbase/couchbase/operations/management/analytics_link_connect.cxx +82 -0
  190. data/ext/couchbase/couchbase/operations/management/analytics_link_connect.hxx +57 -0
  191. data/ext/couchbase/couchbase/operations/management/analytics_link_create.cxx +87 -0
  192. data/ext/couchbase/couchbase/operations/management/analytics_link_create.hxx +77 -0
  193. data/ext/couchbase/couchbase/operations/management/analytics_link_disconnect.cxx +80 -0
  194. data/ext/couchbase/couchbase/operations/management/analytics_link_disconnect.hxx +56 -0
  195. data/ext/couchbase/couchbase/operations/management/analytics_link_drop.cxx +103 -0
  196. data/ext/couchbase/couchbase/operations/management/analytics_link_drop.hxx +56 -0
  197. data/ext/couchbase/couchbase/operations/management/analytics_link_get_all.cxx +130 -0
  198. data/ext/couchbase/couchbase/operations/management/analytics_link_get_all.hxx +63 -0
  199. data/ext/couchbase/couchbase/operations/management/analytics_link_replace.cxx +87 -0
  200. data/ext/couchbase/couchbase/operations/management/analytics_link_replace.hxx +78 -0
  201. data/ext/couchbase/couchbase/operations/management/analytics_link_utils.hxx +37 -0
  202. data/ext/couchbase/couchbase/operations/management/analytics_problem.hxx +30 -0
  203. data/ext/couchbase/couchbase/operations/management/bucket.hxx +25 -0
  204. data/ext/couchbase/couchbase/operations/management/bucket_create.cxx +171 -0
  205. data/ext/couchbase/couchbase/operations/management/bucket_create.hxx +52 -0
  206. data/ext/couchbase/couchbase/operations/management/bucket_describe.cxx +67 -0
  207. data/ext/couchbase/couchbase/operations/management/bucket_describe.hxx +61 -0
  208. data/ext/couchbase/couchbase/operations/management/bucket_drop.cxx +52 -0
  209. data/ext/couchbase/couchbase/operations/management/bucket_drop.hxx +49 -0
  210. data/ext/couchbase/couchbase/operations/management/bucket_flush.cxx +59 -0
  211. data/ext/couchbase/couchbase/operations/management/bucket_flush.hxx +49 -0
  212. data/ext/couchbase/couchbase/operations/management/bucket_get.cxx +59 -0
  213. data/ext/couchbase/couchbase/operations/management/bucket_get.hxx +51 -0
  214. data/ext/couchbase/couchbase/operations/management/bucket_get_all.cxx +59 -0
  215. data/ext/couchbase/couchbase/operations/management/bucket_get_all.hxx +49 -0
  216. data/ext/couchbase/couchbase/operations/management/bucket_update.cxx +130 -0
  217. data/ext/couchbase/couchbase/operations/management/bucket_update.hxx +52 -0
  218. data/ext/couchbase/couchbase/operations/management/cluster_describe.cxx +90 -0
  219. data/ext/couchbase/couchbase/operations/management/cluster_describe.hxx +72 -0
  220. data/ext/couchbase/couchbase/operations/management/cluster_developer_preview_enable.cxx +44 -0
  221. data/ext/couchbase/couchbase/operations/management/cluster_developer_preview_enable.hxx +48 -0
  222. data/ext/couchbase/couchbase/operations/management/collection_create.cxx +83 -0
  223. data/ext/couchbase/couchbase/operations/management/collection_create.hxx +53 -0
  224. data/ext/couchbase/couchbase/operations/management/collection_drop.cxx +73 -0
  225. data/ext/couchbase/couchbase/operations/management/collection_drop.hxx +52 -0
  226. data/ext/couchbase/couchbase/operations/management/collections.hxx +25 -0
  227. data/ext/couchbase/couchbase/operations/management/collections_manifest_get.cxx +40 -0
  228. data/ext/couchbase/couchbase/operations/management/collections_manifest_get.hxx +53 -0
  229. data/ext/couchbase/couchbase/operations/management/error_utils.cxx +265 -0
  230. data/ext/couchbase/couchbase/operations/management/error_utils.hxx +48 -0
  231. data/ext/couchbase/couchbase/operations/management/eventing.hxx +28 -0
  232. data/ext/couchbase/couchbase/operations/management/eventing_deploy_function.cxx +56 -0
  233. data/ext/couchbase/couchbase/operations/management/eventing_deploy_function.hxx +52 -0
  234. data/ext/couchbase/couchbase/operations/management/eventing_drop_function.cxx +57 -0
  235. data/ext/couchbase/couchbase/operations/management/eventing_drop_function.hxx +52 -0
  236. data/ext/couchbase/couchbase/operations/management/eventing_get_all_functions.cxx +64 -0
  237. data/ext/couchbase/couchbase/operations/management/eventing_get_all_functions.hxx +51 -0
  238. data/ext/couchbase/couchbase/operations/management/eventing_get_function.cxx +56 -0
  239. data/ext/couchbase/couchbase/operations/management/eventing_get_function.hxx +53 -0
  240. data/ext/couchbase/couchbase/operations/management/eventing_get_status.cxx +56 -0
  241. data/ext/couchbase/couchbase/operations/management/eventing_get_status.hxx +53 -0
  242. data/ext/couchbase/couchbase/operations/management/eventing_pause_function.cxx +56 -0
  243. data/ext/couchbase/couchbase/operations/management/eventing_pause_function.hxx +52 -0
  244. data/ext/couchbase/couchbase/operations/management/eventing_problem.hxx +31 -0
  245. data/ext/couchbase/couchbase/operations/management/eventing_resume_function.cxx +56 -0
  246. data/ext/couchbase/couchbase/operations/management/eventing_resume_function.hxx +52 -0
  247. data/ext/couchbase/couchbase/operations/management/eventing_undeploy_function.cxx +56 -0
  248. data/ext/couchbase/couchbase/operations/management/eventing_undeploy_function.hxx +52 -0
  249. data/ext/couchbase/couchbase/operations/management/eventing_upsert_function.cxx +341 -0
  250. data/ext/couchbase/couchbase/operations/management/eventing_upsert_function.hxx +52 -0
  251. data/ext/couchbase/couchbase/operations/management/freeform.cxx +55 -0
  252. data/ext/couchbase/couchbase/operations/management/freeform.hxx +55 -0
  253. data/ext/couchbase/couchbase/operations/management/group_drop.cxx +51 -0
  254. data/ext/couchbase/couchbase/operations/management/group_drop.hxx +49 -0
  255. data/ext/couchbase/couchbase/operations/management/group_get.cxx +60 -0
  256. data/ext/couchbase/couchbase/operations/management/group_get.hxx +50 -0
  257. data/ext/couchbase/couchbase/operations/management/group_get_all.cxx +58 -0
  258. data/ext/couchbase/couchbase/operations/management/group_get_all.hxx +49 -0
  259. data/ext/couchbase/couchbase/operations/management/group_upsert.cxx +96 -0
  260. data/ext/couchbase/couchbase/operations/management/group_upsert.hxx +51 -0
  261. data/ext/couchbase/couchbase/operations/management/query.hxx +23 -0
  262. data/ext/couchbase/couchbase/operations/management/query_index_build_deferred.cxx +88 -0
  263. data/ext/couchbase/couchbase/operations/management/query_index_build_deferred.hxx +61 -0
  264. data/ext/couchbase/couchbase/operations/management/query_index_create.cxx +149 -0
  265. data/ext/couchbase/couchbase/operations/management/query_index_create.hxx +65 -0
  266. data/ext/couchbase/couchbase/operations/management/query_index_drop.cxx +128 -0
  267. data/ext/couchbase/couchbase/operations/management/query_index_drop.hxx +61 -0
  268. data/ext/couchbase/couchbase/operations/management/query_index_get_all.cxx +126 -0
  269. data/ext/couchbase/couchbase/operations/management/query_index_get_all.hxx +54 -0
  270. data/ext/couchbase/couchbase/operations/management/role_get_all.cxx +58 -0
  271. data/ext/couchbase/couchbase/operations/management/role_get_all.hxx +49 -0
  272. data/ext/couchbase/couchbase/operations/management/scope_create.cxx +75 -0
  273. data/ext/couchbase/couchbase/operations/management/scope_create.hxx +51 -0
  274. data/ext/couchbase/couchbase/operations/management/scope_drop.cxx +70 -0
  275. data/ext/couchbase/couchbase/operations/management/scope_drop.hxx +51 -0
  276. data/ext/couchbase/couchbase/operations/management/scope_get_all.cxx +62 -0
  277. data/ext/couchbase/couchbase/operations/management/scope_get_all.hxx +51 -0
  278. data/ext/couchbase/couchbase/operations/management/search.hxx +30 -0
  279. data/ext/couchbase/couchbase/operations/management/search_get_stats.cxx +41 -0
  280. data/ext/couchbase/couchbase/operations/management/search_get_stats.hxx +48 -0
  281. data/ext/couchbase/couchbase/operations/management/search_index_analyze_document.cxx +85 -0
  282. data/ext/couchbase/couchbase/operations/management/search_index_analyze_document.hxx +54 -0
  283. data/ext/couchbase/couchbase/operations/management/search_index_control_ingest.cxx +73 -0
  284. data/ext/couchbase/couchbase/operations/management/search_index_control_ingest.hxx +52 -0
  285. data/ext/couchbase/couchbase/operations/management/search_index_control_plan_freeze.cxx +73 -0
  286. data/ext/couchbase/couchbase/operations/management/search_index_control_plan_freeze.hxx +57 -0
  287. data/ext/couchbase/couchbase/operations/management/search_index_control_query.cxx +73 -0
  288. data/ext/couchbase/couchbase/operations/management/search_index_control_query.hxx +52 -0
  289. data/ext/couchbase/couchbase/operations/management/search_index_drop.cxx +72 -0
  290. data/ext/couchbase/couchbase/operations/management/search_index_drop.hxx +51 -0
  291. data/ext/couchbase/couchbase/operations/management/search_index_get.cxx +75 -0
  292. data/ext/couchbase/couchbase/operations/management/search_index_get.hxx +54 -0
  293. data/ext/couchbase/couchbase/operations/management/search_index_get_all.cxx +67 -0
  294. data/ext/couchbase/couchbase/operations/management/search_index_get_all.hxx +51 -0
  295. data/ext/couchbase/couchbase/operations/management/search_index_get_documents_count.cxx +79 -0
  296. data/ext/couchbase/couchbase/operations/management/search_index_get_documents_count.hxx +53 -0
  297. data/ext/couchbase/couchbase/operations/management/search_index_get_stats.cxx +71 -0
  298. data/ext/couchbase/couchbase/operations/management/search_index_get_stats.hxx +52 -0
  299. data/ext/couchbase/couchbase/operations/management/search_index_upsert.cxx +108 -0
  300. data/ext/couchbase/couchbase/operations/management/search_index_upsert.hxx +52 -0
  301. data/ext/couchbase/couchbase/operations/management/user.hxx +28 -0
  302. data/ext/couchbase/couchbase/operations/management/user_drop.cxx +52 -0
  303. data/ext/couchbase/couchbase/operations/management/user_drop.hxx +51 -0
  304. data/ext/couchbase/couchbase/operations/management/user_get.cxx +61 -0
  305. data/ext/couchbase/couchbase/operations/management/user_get.hxx +52 -0
  306. data/ext/couchbase/couchbase/operations/management/user_get_all.cxx +59 -0
  307. data/ext/couchbase/couchbase/operations/management/user_get_all.hxx +51 -0
  308. data/ext/couchbase/couchbase/operations/management/user_upsert.cxx +101 -0
  309. data/ext/couchbase/couchbase/operations/management/user_upsert.hxx +52 -0
  310. data/ext/couchbase/couchbase/operations/management/view.hxx +23 -0
  311. data/ext/couchbase/couchbase/operations/management/view_index_drop.cxx +46 -0
  312. data/ext/couchbase/couchbase/operations/management/view_index_drop.hxx +52 -0
  313. data/ext/couchbase/couchbase/operations/management/view_index_get.cxx +74 -0
  314. data/ext/couchbase/couchbase/operations/management/view_index_get.hxx +53 -0
  315. data/ext/couchbase/couchbase/operations/management/view_index_get_all.cxx +108 -0
  316. data/ext/couchbase/couchbase/operations/management/view_index_get_all.hxx +52 -0
  317. data/ext/couchbase/couchbase/operations/management/view_index_upsert.cxx +71 -0
  318. data/ext/couchbase/couchbase/operations/management/view_index_upsert.hxx +51 -0
  319. data/ext/couchbase/couchbase/operations/mcbp_noop.cxx +38 -0
  320. data/ext/couchbase/couchbase/operations/mcbp_noop.hxx +49 -0
  321. data/ext/couchbase/couchbase/operations.hxx +42 -0
  322. data/ext/couchbase/couchbase/origin.hxx +185 -0
  323. data/ext/couchbase/couchbase/platform/CMakeLists.txt +16 -0
  324. data/ext/couchbase/couchbase/platform/backtrace.c +189 -0
  325. data/ext/couchbase/couchbase/platform/backtrace.h +54 -0
  326. data/ext/couchbase/couchbase/platform/base64.cc +234 -0
  327. data/ext/couchbase/couchbase/platform/base64.h +44 -0
  328. data/ext/couchbase/couchbase/platform/dirutils.cc +123 -0
  329. data/ext/couchbase/couchbase/platform/dirutils.h +43 -0
  330. data/ext/couchbase/couchbase/platform/random.cc +120 -0
  331. data/ext/couchbase/couchbase/platform/random.h +39 -0
  332. data/ext/couchbase/couchbase/platform/string_hex.cc +99 -0
  333. data/ext/couchbase/couchbase/platform/string_hex.h +50 -0
  334. data/ext/couchbase/couchbase/platform/terminate_handler.cc +125 -0
  335. data/ext/couchbase/couchbase/platform/terminate_handler.h +36 -0
  336. data/ext/couchbase/couchbase/platform/uuid.cc +98 -0
  337. data/ext/couchbase/couchbase/platform/uuid.h +56 -0
  338. data/ext/couchbase/couchbase/protocol/CMakeLists.txt +42 -0
  339. data/ext/couchbase/couchbase/protocol/client_opcode.hxx +359 -0
  340. data/ext/couchbase/couchbase/protocol/client_opcode_fmt.hxx +316 -0
  341. data/ext/couchbase/couchbase/protocol/client_request.cxx +37 -0
  342. data/ext/couchbase/couchbase/protocol/client_request.hxx +157 -0
  343. data/ext/couchbase/couchbase/protocol/client_response.cxx +74 -0
  344. data/ext/couchbase/couchbase/protocol/client_response.hxx +211 -0
  345. data/ext/couchbase/couchbase/protocol/cmd_append.cxx +82 -0
  346. data/ext/couchbase/couchbase/protocol/cmd_append.hxx +107 -0
  347. data/ext/couchbase/couchbase/protocol/cmd_cluster_map_change_notification.cxx +51 -0
  348. data/ext/couchbase/couchbase/protocol/cmd_cluster_map_change_notification.hxx +57 -0
  349. data/ext/couchbase/couchbase/protocol/cmd_decrement.cxx +112 -0
  350. data/ext/couchbase/couchbase/protocol/cmd_decrement.hxx +131 -0
  351. data/ext/couchbase/couchbase/protocol/cmd_exists.cxx +92 -0
  352. data/ext/couchbase/couchbase/protocol/cmd_exists.hxx +121 -0
  353. data/ext/couchbase/couchbase/protocol/cmd_get.cxx +63 -0
  354. data/ext/couchbase/couchbase/protocol/cmd_get.hxx +101 -0
  355. data/ext/couchbase/couchbase/protocol/cmd_get_and_lock.cxx +68 -0
  356. data/ext/couchbase/couchbase/protocol/cmd_get_and_lock.hxx +117 -0
  357. data/ext/couchbase/couchbase/protocol/cmd_get_and_touch.cxx +70 -0
  358. data/ext/couchbase/couchbase/protocol/cmd_get_and_touch.hxx +117 -0
  359. data/ext/couchbase/couchbase/protocol/cmd_get_cluster_config.cxx +84 -0
  360. data/ext/couchbase/couchbase/protocol/cmd_get_cluster_config.hxx +89 -0
  361. data/ext/couchbase/couchbase/protocol/cmd_get_collection_id.cxx +50 -0
  362. data/ext/couchbase/couchbase/protocol/cmd_get_collection_id.hxx +98 -0
  363. data/ext/couchbase/couchbase/protocol/cmd_get_collections_manifest.cxx +44 -0
  364. data/ext/couchbase/couchbase/protocol/cmd_get_collections_manifest.hxx +84 -0
  365. data/ext/couchbase/couchbase/protocol/cmd_get_error_map.cxx +59 -0
  366. data/ext/couchbase/couchbase/protocol/cmd_get_error_map.hxx +103 -0
  367. data/ext/couchbase/couchbase/protocol/cmd_get_meta.cxx +74 -0
  368. data/ext/couchbase/couchbase/protocol/cmd_get_meta.hxx +119 -0
  369. data/ext/couchbase/couchbase/protocol/cmd_hello.cxx +66 -0
  370. data/ext/couchbase/couchbase/protocol/cmd_hello.hxx +144 -0
  371. data/ext/couchbase/couchbase/protocol/cmd_increment.cxx +117 -0
  372. data/ext/couchbase/couchbase/protocol/cmd_increment.hxx +131 -0
  373. data/ext/couchbase/couchbase/protocol/cmd_info.hxx +29 -0
  374. data/ext/couchbase/couchbase/protocol/cmd_insert.cxx +92 -0
  375. data/ext/couchbase/couchbase/protocol/cmd_insert.hxx +123 -0
  376. data/ext/couchbase/couchbase/protocol/cmd_lookup_in.cxx +109 -0
  377. data/ext/couchbase/couchbase/protocol/cmd_lookup_in.hxx +165 -0
  378. data/ext/couchbase/couchbase/protocol/cmd_mutate_in.cxx +174 -0
  379. data/ext/couchbase/couchbase/protocol/cmd_mutate_in.hxx +311 -0
  380. data/ext/couchbase/couchbase/protocol/cmd_noop.cxx +36 -0
  381. data/ext/couchbase/couchbase/protocol/cmd_noop.hxx +75 -0
  382. data/ext/couchbase/couchbase/protocol/cmd_prepend.cxx +82 -0
  383. data/ext/couchbase/couchbase/protocol/cmd_prepend.hxx +102 -0
  384. data/ext/couchbase/couchbase/protocol/cmd_remove.cxx +83 -0
  385. data/ext/couchbase/couchbase/protocol/cmd_remove.hxx +93 -0
  386. data/ext/couchbase/couchbase/protocol/cmd_replace.cxx +105 -0
  387. data/ext/couchbase/couchbase/protocol/cmd_replace.hxx +130 -0
  388. data/ext/couchbase/couchbase/protocol/cmd_sasl_auth.cxx +40 -0
  389. data/ext/couchbase/couchbase/protocol/cmd_sasl_auth.hxx +97 -0
  390. data/ext/couchbase/couchbase/protocol/cmd_sasl_list_mechs.cxx +48 -0
  391. data/ext/couchbase/couchbase/protocol/cmd_sasl_list_mechs.hxx +82 -0
  392. data/ext/couchbase/couchbase/protocol/cmd_sasl_step.cxx +40 -0
  393. data/ext/couchbase/couchbase/protocol/cmd_sasl_step.hxx +97 -0
  394. data/ext/couchbase/couchbase/protocol/cmd_select_bucket.cxx +36 -0
  395. data/ext/couchbase/couchbase/protocol/cmd_select_bucket.hxx +82 -0
  396. data/ext/couchbase/couchbase/protocol/cmd_touch.cxx +57 -0
  397. data/ext/couchbase/couchbase/protocol/cmd_touch.hxx +84 -0
  398. data/ext/couchbase/couchbase/protocol/cmd_unlock.cxx +48 -0
  399. data/ext/couchbase/couchbase/protocol/cmd_unlock.hxx +81 -0
  400. data/ext/couchbase/couchbase/protocol/cmd_upsert.cxx +104 -0
  401. data/ext/couchbase/couchbase/protocol/cmd_upsert.hxx +125 -0
  402. data/ext/couchbase/couchbase/protocol/datatype.hxx +48 -0
  403. data/ext/couchbase/couchbase/protocol/durability_level.hxx +59 -0
  404. data/ext/couchbase/couchbase/protocol/durability_level_fmt.hxx +52 -0
  405. data/ext/couchbase/couchbase/protocol/enhanced_error_info.hxx +28 -0
  406. data/ext/couchbase/couchbase/protocol/enhanced_error_info_fmt.hxx +44 -0
  407. data/ext/couchbase/couchbase/protocol/frame_info_id.hxx +142 -0
  408. data/ext/couchbase/couchbase/protocol/frame_info_id_fmt.hxx +79 -0
  409. data/ext/couchbase/couchbase/protocol/hello_feature.hxx +186 -0
  410. data/ext/couchbase/couchbase/protocol/hello_feature_fmt.hxx +106 -0
  411. data/ext/couchbase/couchbase/protocol/magic.hxx +53 -0
  412. data/ext/couchbase/couchbase/protocol/magic_fmt.hxx +58 -0
  413. data/ext/couchbase/couchbase/protocol/server_opcode.hxx +39 -0
  414. data/ext/couchbase/couchbase/protocol/server_opcode_fmt.hxx +46 -0
  415. data/ext/couchbase/couchbase/protocol/server_request.hxx +121 -0
  416. data/ext/couchbase/couchbase/protocol/status.cxx +187 -0
  417. data/ext/couchbase/couchbase/protocol/status.hxx +180 -0
  418. data/ext/couchbase/couchbase/protocol/status_fmt.hxx +241 -0
  419. data/ext/couchbase/couchbase/query_profile_mode.hxx +27 -0
  420. data/ext/couchbase/couchbase/query_scan_consistency.hxx +23 -0
  421. data/ext/couchbase/couchbase/sasl/CMakeLists.txt +16 -0
  422. data/ext/couchbase/couchbase/sasl/client.cc +50 -0
  423. data/ext/couchbase/couchbase/sasl/client.h +128 -0
  424. data/ext/couchbase/couchbase/sasl/context.cc +34 -0
  425. data/ext/couchbase/couchbase/sasl/context.h +52 -0
  426. data/ext/couchbase/couchbase/sasl/error.h +28 -0
  427. data/ext/couchbase/couchbase/sasl/error_fmt.h +70 -0
  428. data/ext/couchbase/couchbase/sasl/mechanism.cc +45 -0
  429. data/ext/couchbase/couchbase/sasl/mechanism.h +52 -0
  430. data/ext/couchbase/couchbase/sasl/plain/plain.cc +39 -0
  431. data/ext/couchbase/couchbase/sasl/plain/plain.h +54 -0
  432. data/ext/couchbase/couchbase/sasl/scram-sha/scram-sha.cc +372 -0
  433. data/ext/couchbase/couchbase/sasl/scram-sha/scram-sha.h +184 -0
  434. data/ext/couchbase/couchbase/sasl/scram-sha/stringutils.cc +82 -0
  435. data/ext/couchbase/couchbase/sasl/scram-sha/stringutils.h +48 -0
  436. data/ext/couchbase/couchbase/search_highlight_style.hxx +23 -0
  437. data/ext/couchbase/couchbase/search_scan_consistency.hxx +23 -0
  438. data/ext/couchbase/couchbase/service_type.hxx +31 -0
  439. data/ext/couchbase/couchbase/service_type_fmt.hxx +61 -0
  440. data/ext/couchbase/couchbase/timeout_defaults.hxx +42 -0
  441. data/ext/couchbase/couchbase/topology/CMakeLists.txt +9 -0
  442. data/ext/couchbase/couchbase/topology/capabilities.hxx +43 -0
  443. data/ext/couchbase/couchbase/topology/capabilities_fmt.hxx +106 -0
  444. data/ext/couchbase/couchbase/topology/collections_manifest.hxx +42 -0
  445. data/ext/couchbase/couchbase/topology/collections_manifest_fmt.hxx +52 -0
  446. data/ext/couchbase/couchbase/topology/collections_manifest_json.hxx +50 -0
  447. data/ext/couchbase/couchbase/topology/configuration.cxx +223 -0
  448. data/ext/couchbase/couchbase/topology/configuration.hxx +120 -0
  449. data/ext/couchbase/couchbase/topology/configuration_fmt.hxx +166 -0
  450. data/ext/couchbase/couchbase/topology/configuration_json.hxx +259 -0
  451. data/ext/couchbase/couchbase/topology/error_map.hxx +149 -0
  452. data/ext/couchbase/couchbase/topology/error_map_fmt.hxx +94 -0
  453. data/ext/couchbase/couchbase/topology/error_map_json.hxx +88 -0
  454. data/ext/couchbase/couchbase/tracing/CMakeLists.txt +9 -0
  455. data/ext/couchbase/couchbase/tracing/constants.hxx +274 -0
  456. data/ext/couchbase/couchbase/tracing/noop_tracer.hxx +55 -0
  457. data/ext/couchbase/couchbase/tracing/request_tracer.hxx +79 -0
  458. data/ext/couchbase/couchbase/tracing/threshold_logging_options.hxx +68 -0
  459. data/ext/couchbase/couchbase/tracing/threshold_logging_tracer.cxx +422 -0
  460. data/ext/couchbase/couchbase/tracing/threshold_logging_tracer.hxx +49 -0
  461. data/ext/couchbase/couchbase/utils/CMakeLists.txt +17 -0
  462. data/ext/couchbase/couchbase/utils/byteswap.cxx +45 -0
  463. data/ext/couchbase/couchbase/utils/byteswap.hxx +49 -0
  464. data/ext/couchbase/couchbase/utils/connection_string.cxx +420 -0
  465. data/ext/couchbase/couchbase/utils/connection_string.hxx +76 -0
  466. data/ext/couchbase/couchbase/utils/crc32.hxx +48 -0
  467. data/ext/couchbase/couchbase/utils/duration_parser.cxx +193 -0
  468. data/ext/couchbase/couchbase/utils/duration_parser.hxx +45 -0
  469. data/ext/couchbase/couchbase/utils/join_strings.hxx +65 -0
  470. data/ext/couchbase/couchbase/utils/json.cxx +71 -0
  471. data/ext/couchbase/couchbase/utils/json.hxx +37 -0
  472. data/ext/couchbase/couchbase/utils/json_stream_control.hxx +32 -0
  473. data/ext/couchbase/couchbase/utils/json_streaming_lexer.cxx +394 -0
  474. data/ext/couchbase/couchbase/utils/json_streaming_lexer.hxx +58 -0
  475. data/ext/couchbase/couchbase/utils/movable_function.hxx +110 -0
  476. data/ext/couchbase/couchbase/utils/name_codec.hxx +41 -0
  477. data/ext/couchbase/couchbase/utils/unsigned_leb128.hxx +181 -0
  478. data/ext/couchbase/couchbase/utils/url_codec.cxx +404 -0
  479. data/ext/couchbase/couchbase/utils/url_codec.hxx +72 -0
  480. data/ext/couchbase/couchbase/view_scan_consistency.hxx +27 -0
  481. data/ext/couchbase/couchbase/view_sort_order.hxx +23 -0
  482. data/ext/couchbase/test/CMakeLists.txt +22 -0
  483. data/ext/couchbase/test/benchmark_helper_integration.hxx +22 -0
  484. data/ext/couchbase/test/benchmark_integration_get.cxx +45 -0
  485. data/ext/couchbase/test/test_helper.hxx +25 -0
  486. data/ext/couchbase/test/test_helper_integration.hxx +24 -0
  487. data/ext/couchbase/test/test_integration_arithmetic.cxx +112 -0
  488. data/ext/couchbase/test/test_integration_binary_operations.cxx +115 -0
  489. data/ext/couchbase/test/test_integration_collections.cxx +176 -0
  490. data/ext/couchbase/test/test_integration_connect.cxx +148 -0
  491. data/ext/couchbase/test/test_integration_crud.cxx +726 -0
  492. data/ext/couchbase/test/test_integration_diagnostics.cxx +365 -0
  493. data/ext/couchbase/test/test_integration_durability.cxx +82 -0
  494. data/ext/couchbase/test/test_integration_management.cxx +2657 -0
  495. data/ext/couchbase/test/test_integration_query.cxx +407 -0
  496. data/ext/couchbase/test/test_integration_subdoc.cxx +893 -0
  497. data/ext/couchbase/test/test_unit_connection_string.cxx +379 -0
  498. data/ext/couchbase/test/test_unit_json_streaming_lexer.cxx +115 -0
  499. data/ext/couchbase/test/test_unit_jsonsl.cxx +511 -0
  500. data/ext/couchbase/test/test_unit_utils.cxx +127 -0
  501. data/ext/couchbase/third_party/asio/asio/include/asio/any_io_executor.hpp +301 -0
  502. data/ext/couchbase/third_party/asio/asio/include/asio/associated_allocator.hpp +177 -0
  503. data/ext/couchbase/third_party/asio/asio/include/asio/associated_cancellation_slot.hpp +177 -0
  504. data/ext/couchbase/third_party/asio/asio/include/asio/associated_executor.hpp +222 -0
  505. data/ext/couchbase/third_party/asio/asio/include/asio/associator.hpp +35 -0
  506. data/ext/couchbase/third_party/asio/asio/include/asio/async_result.hpp +1271 -0
  507. data/ext/couchbase/third_party/asio/asio/include/asio/awaitable.hpp +133 -0
  508. data/ext/couchbase/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +1303 -0
  509. data/ext/couchbase/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +703 -0
  510. data/ext/couchbase/third_party/asio/asio/include/asio/basic_file.hpp +829 -0
  511. data/ext/couchbase/third_party/asio/asio/include/asio/basic_io_object.hpp +290 -0
  512. data/ext/couchbase/third_party/asio/asio/include/asio/basic_random_access_file.hpp +677 -0
  513. data/ext/couchbase/third_party/asio/asio/include/asio/basic_raw_socket.hpp +1294 -0
  514. data/ext/couchbase/third_party/asio/asio/include/asio/basic_readable_pipe.hpp +523 -0
  515. data/ext/couchbase/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +798 -0
  516. data/ext/couchbase/third_party/asio/asio/include/asio/basic_serial_port.hpp +907 -0
  517. data/ext/couchbase/third_party/asio/asio/include/asio/basic_signal_set.hpp +576 -0
  518. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket.hpp +1923 -0
  519. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +2606 -0
  520. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +407 -0
  521. data/ext/couchbase/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +687 -0
  522. data/ext/couchbase/third_party/asio/asio/include/asio/basic_stream_file.hpp +730 -0
  523. data/ext/couchbase/third_party/asio/asio/include/asio/basic_stream_socket.hpp +1120 -0
  524. data/ext/couchbase/third_party/asio/asio/include/asio/basic_streambuf.hpp +452 -0
  525. data/ext/couchbase/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +36 -0
  526. data/ext/couchbase/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +821 -0
  527. data/ext/couchbase/third_party/asio/asio/include/asio/basic_writable_pipe.hpp +519 -0
  528. data/ext/couchbase/third_party/asio/asio/include/asio/bind_cancellation_slot.hpp +721 -0
  529. data/ext/couchbase/third_party/asio/asio/include/asio/bind_executor.hpp +754 -0
  530. data/ext/couchbase/third_party/asio/asio/include/asio/buffer.hpp +2496 -0
  531. data/ext/couchbase/third_party/asio/asio/include/asio/buffer_registration.hpp +327 -0
  532. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_read_stream.hpp +253 -0
  533. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +25 -0
  534. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_stream.hpp +279 -0
  535. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +25 -0
  536. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_write_stream.hpp +245 -0
  537. data/ext/couchbase/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +25 -0
  538. data/ext/couchbase/third_party/asio/asio/include/asio/buffers_iterator.hpp +521 -0
  539. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_signal.hpp +305 -0
  540. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_state.hpp +235 -0
  541. data/ext/couchbase/third_party/asio/asio/include/asio/cancellation_type.hpp +174 -0
  542. data/ext/couchbase/third_party/asio/asio/include/asio/co_spawn.hpp +499 -0
  543. data/ext/couchbase/third_party/asio/asio/include/asio/completion_condition.hpp +218 -0
  544. data/ext/couchbase/third_party/asio/asio/include/asio/compose.hpp +136 -0
  545. data/ext/couchbase/third_party/asio/asio/include/asio/connect.hpp +1136 -0
  546. data/ext/couchbase/third_party/asio/asio/include/asio/connect_pipe.hpp +83 -0
  547. data/ext/couchbase/third_party/asio/asio/include/asio/coroutine.hpp +328 -0
  548. data/ext/couchbase/third_party/asio/asio/include/asio/deadline_timer.hpp +38 -0
  549. data/ext/couchbase/third_party/asio/asio/include/asio/defer.hpp +130 -0
  550. data/ext/couchbase/third_party/asio/asio/include/asio/detached.hpp +112 -0
  551. data/ext/couchbase/third_party/asio/asio/include/asio/detail/array.hpp +38 -0
  552. data/ext/couchbase/third_party/asio/asio/include/asio/detail/array_fwd.hpp +34 -0
  553. data/ext/couchbase/third_party/asio/asio/include/asio/detail/assert.hpp +32 -0
  554. data/ext/couchbase/third_party/asio/asio/include/asio/detail/atomic_count.hpp +67 -0
  555. data/ext/couchbase/third_party/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +163 -0
  556. data/ext/couchbase/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +69 -0
  557. data/ext/couchbase/third_party/asio/asio/include/asio/detail/bind_handler.hpp +1071 -0
  558. data/ext/couchbase/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  559. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +66 -0
  560. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +841 -0
  561. data/ext/couchbase/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +126 -0
  562. data/ext/couchbase/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  563. data/ext/couchbase/third_party/asio/asio/include/asio/detail/call_stack.hpp +125 -0
  564. data/ext/couchbase/third_party/asio/asio/include/asio/detail/chrono.hpp +66 -0
  565. data/ext/couchbase/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +190 -0
  566. data/ext/couchbase/third_party/asio/asio/include/asio/detail/completion_handler.hpp +88 -0
  567. data/ext/couchbase/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +94 -0
  568. data/ext/couchbase/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +120 -0
  569. data/ext/couchbase/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +149 -0
  570. data/ext/couchbase/third_party/asio/asio/include/asio/detail/config.hpp +1998 -0
  571. data/ext/couchbase/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +451 -0
  572. data/ext/couchbase/third_party/asio/asio/include/asio/detail/cstddef.hpp +31 -0
  573. data/ext/couchbase/third_party/asio/asio/include/asio/detail/cstdint.hpp +62 -0
  574. data/ext/couchbase/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +34 -0
  575. data/ext/couchbase/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +335 -0
  576. data/ext/couchbase/third_party/asio/asio/include/asio/detail/dependent_type.hpp +36 -0
  577. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +179 -0
  578. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +148 -0
  579. data/ext/couchbase/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +148 -0
  580. data/ext/couchbase/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +230 -0
  581. data/ext/couchbase/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +278 -0
  582. data/ext/couchbase/third_party/asio/asio/include/asio/detail/event.hpp +48 -0
  583. data/ext/couchbase/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +83 -0
  584. data/ext/couchbase/third_party/asio/asio/include/asio/detail/executor_function.hpp +204 -0
  585. data/ext/couchbase/third_party/asio/asio/include/asio/detail/executor_op.hpp +84 -0
  586. data/ext/couchbase/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +39 -0
  587. data/ext/couchbase/third_party/asio/asio/include/asio/detail/fenced_block.hpp +80 -0
  588. data/ext/couchbase/third_party/asio/asio/include/asio/detail/functional.hpp +44 -0
  589. data/ext/couchbase/third_party/asio/asio/include/asio/detail/future.hpp +33 -0
  590. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +91 -0
  591. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +68 -0
  592. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +65 -0
  593. data/ext/couchbase/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +99 -0
  594. data/ext/couchbase/third_party/asio/asio/include/asio/detail/global.hpp +52 -0
  595. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +288 -0
  596. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +45 -0
  597. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +80 -0
  598. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +264 -0
  599. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +559 -0
  600. data/ext/couchbase/third_party/asio/asio/include/asio/detail/handler_work.hpp +525 -0
  601. data/ext/couchbase/third_party/asio/asio/include/asio/detail/hash_map.hpp +331 -0
  602. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +118 -0
  603. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +933 -0
  604. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +111 -0
  605. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +460 -0
  606. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +109 -0
  607. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +817 -0
  608. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +171 -0
  609. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +396 -0
  610. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +202 -0
  611. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +131 -0
  612. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_service.hpp +112 -0
  613. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_service.ipp +879 -0
  614. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +249 -0
  615. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +113 -0
  616. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +599 -0
  617. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +74 -0
  618. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +129 -0
  619. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +63 -0
  620. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +46 -0
  621. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +149 -0
  622. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +84 -0
  623. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +46 -0
  624. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +225 -0
  625. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +302 -0
  626. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +158 -0
  627. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +674 -0
  628. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +124 -0
  629. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +357 -0
  630. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +94 -0
  631. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +197 -0
  632. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +746 -0
  633. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +3964 -0
  634. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +185 -0
  635. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +354 -0
  636. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +158 -0
  637. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +87 -0
  638. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +202 -0
  639. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/thread_context.ipp +35 -0
  640. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +66 -0
  641. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +97 -0
  642. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +101 -0
  643. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +76 -0
  644. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +250 -0
  645. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +525 -0
  646. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +120 -0
  647. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +608 -0
  648. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +192 -0
  649. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +821 -0
  650. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +84 -0
  651. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +448 -0
  652. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +136 -0
  653. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +150 -0
  654. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +57 -0
  655. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +626 -0
  656. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +92 -0
  657. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +121 -0
  658. data/ext/couchbase/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +82 -0
  659. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_control.hpp +84 -0
  660. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +172 -0
  661. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +190 -0
  662. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +185 -0
  663. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +661 -0
  664. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +184 -0
  665. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +180 -0
  666. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_file_service.hpp +251 -0
  667. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +111 -0
  668. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_operation.hpp +84 -0
  669. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_service.hpp +318 -0
  670. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +277 -0
  671. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +137 -0
  672. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +200 -0
  673. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +201 -0
  674. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +187 -0
  675. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +186 -0
  676. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +189 -0
  677. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_service.hpp +613 -0
  678. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +663 -0
  679. data/ext/couchbase/third_party/asio/asio/include/asio/detail/io_uring_wait_op.hpp +109 -0
  680. data/ext/couchbase/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +338 -0
  681. data/ext/couchbase/third_party/asio/asio/include/asio/detail/is_executor.hpp +126 -0
  682. data/ext/couchbase/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +70 -0
  683. data/ext/couchbase/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +254 -0
  684. data/ext/couchbase/third_party/asio/asio/include/asio/detail/limits.hpp +26 -0
  685. data/ext/couchbase/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +59 -0
  686. data/ext/couchbase/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +62 -0
  687. data/ext/couchbase/third_party/asio/asio/include/asio/detail/memory.hpp +133 -0
  688. data/ext/couchbase/third_party/asio/asio/include/asio/detail/mutex.hpp +48 -0
  689. data/ext/couchbase/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +54 -0
  690. data/ext/couchbase/third_party/asio/asio/include/asio/detail/noncopyable.hpp +43 -0
  691. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_event.hpp +106 -0
  692. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +47 -0
  693. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_global.hpp +59 -0
  694. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_mutex.hpp +60 -0
  695. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_reactor.hpp +83 -0
  696. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +69 -0
  697. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +519 -0
  698. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +60 -0
  699. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_thread.hpp +67 -0
  700. data/ext/couchbase/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +68 -0
  701. data/ext/couchbase/third_party/asio/asio/include/asio/detail/object_pool.hpp +171 -0
  702. data/ext/couchbase/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +214 -0
  703. data/ext/couchbase/third_party/asio/asio/include/asio/detail/op_queue.hpp +162 -0
  704. data/ext/couchbase/third_party/asio/asio/include/asio/detail/operation.hpp +38 -0
  705. data/ext/couchbase/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +89 -0
  706. data/ext/couchbase/third_party/asio/asio/include/asio/detail/pop_options.hpp +153 -0
  707. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_event.hpp +175 -0
  708. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +118 -0
  709. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_global.hpp +80 -0
  710. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +76 -0
  711. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_serial_port_service.hpp +248 -0
  712. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +85 -0
  713. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +64 -0
  714. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_thread.hpp +109 -0
  715. data/ext/couchbase/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +79 -0
  716. data/ext/couchbase/third_party/asio/asio/include/asio/detail/push_options.hpp +219 -0
  717. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +511 -0
  718. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +98 -0
  719. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +242 -0
  720. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +123 -0
  721. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +159 -0
  722. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +164 -0
  723. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +145 -0
  724. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +162 -0
  725. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +156 -0
  726. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +607 -0
  727. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +654 -0
  728. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +98 -0
  729. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor.hpp +54 -0
  730. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor_op.hpp +71 -0
  731. data/ext/couchbase/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +212 -0
  732. data/ext/couchbase/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +105 -0
  733. data/ext/couchbase/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +44 -0
  734. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +140 -0
  735. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_op.hpp +45 -0
  736. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +150 -0
  737. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolver_service.hpp +145 -0
  738. data/ext/couchbase/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +158 -0
  739. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler.hpp +241 -0
  740. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +78 -0
  741. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_task.hpp +49 -0
  742. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +40 -0
  743. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +101 -0
  744. data/ext/couchbase/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +87 -0
  745. data/ext/couchbase/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +46 -0
  746. data/ext/couchbase/third_party/asio/asio/include/asio/detail/select_reactor.hpp +252 -0
  747. data/ext/couchbase/third_party/asio/asio/include/asio/detail/service_registry.hpp +164 -0
  748. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +44 -0
  749. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_handler.hpp +90 -0
  750. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_init.hpp +47 -0
  751. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_op.hpp +49 -0
  752. data/ext/couchbase/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +241 -0
  753. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_holder.hpp +98 -0
  754. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_ops.hpp +383 -0
  755. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_option.hpp +316 -0
  756. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +91 -0
  757. data/ext/couchbase/third_party/asio/asio/include/asio/detail/socket_types.hpp +417 -0
  758. data/ext/couchbase/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +62 -0
  759. data/ext/couchbase/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  760. data/ext/couchbase/third_party/asio/asio/include/asio/detail/static_mutex.hpp +52 -0
  761. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_event.hpp +188 -0
  762. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +62 -0
  763. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_global.hpp +70 -0
  764. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_mutex.hpp +73 -0
  765. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +81 -0
  766. data/ext/couchbase/third_party/asio/asio/include/asio/detail/std_thread.hpp +71 -0
  767. data/ext/couchbase/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +173 -0
  768. data/ext/couchbase/third_party/asio/asio/include/asio/detail/strand_service.hpp +144 -0
  769. data/ext/couchbase/third_party/asio/asio/include/asio/detail/string_view.hpp +47 -0
  770. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread.hpp +60 -0
  771. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_context.hpp +51 -0
  772. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_group.hpp +99 -0
  773. data/ext/couchbase/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +260 -0
  774. data/ext/couchbase/third_party/asio/asio/include/asio/detail/throw_error.hpp +53 -0
  775. data/ext/couchbase/third_party/asio/asio/include/asio/detail/throw_exception.hpp +51 -0
  776. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue.hpp +389 -0
  777. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +68 -0
  778. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +103 -0
  779. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +66 -0
  780. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +37 -0
  781. data/ext/couchbase/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +42 -0
  782. data/ext/couchbase/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +69 -0
  783. data/ext/couchbase/third_party/asio/asio/include/asio/detail/type_traits.hpp +156 -0
  784. data/ext/couchbase/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +294 -0
  785. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wait_handler.hpp +90 -0
  786. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wait_op.hpp +49 -0
  787. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_event.hpp +164 -0
  788. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +149 -0
  789. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +90 -0
  790. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_global.hpp +71 -0
  791. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_file_service.hpp +280 -0
  792. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +117 -0
  793. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +403 -0
  794. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +110 -0
  795. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +345 -0
  796. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +127 -0
  797. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +96 -0
  798. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +96 -0
  799. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +171 -0
  800. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +232 -0
  801. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +338 -0
  802. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +135 -0
  803. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +124 -0
  804. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +133 -0
  805. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +125 -0
  806. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +118 -0
  807. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +659 -0
  808. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +832 -0
  809. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +34 -0
  810. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +128 -0
  811. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_mutex.hpp +78 -0
  812. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +195 -0
  813. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +74 -0
  814. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_thread.hpp +147 -0
  815. data/ext/couchbase/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +79 -0
  816. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +124 -0
  817. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wince_thread.hpp +124 -0
  818. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +305 -0
  819. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +65 -0
  820. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +125 -0
  821. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +212 -0
  822. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +98 -0
  823. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +119 -0
  824. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +110 -0
  825. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +250 -0
  826. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +362 -0
  827. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +147 -0
  828. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +106 -0
  829. data/ext/couchbase/third_party/asio/asio/include/asio/detail/winsock_init.hpp +128 -0
  830. data/ext/couchbase/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +151 -0
  831. data/ext/couchbase/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +327 -0
  832. data/ext/couchbase/third_party/asio/asio/include/asio/dispatch.hpp +121 -0
  833. data/ext/couchbase/third_party/asio/asio/include/asio/error.hpp +356 -0
  834. data/ext/couchbase/third_party/asio/asio/include/asio/error_code.hpp +202 -0
  835. data/ext/couchbase/third_party/asio/asio/include/asio/execution/allocator.hpp +337 -0
  836. data/ext/couchbase/third_party/asio/asio/include/asio/execution/any_executor.hpp +2351 -0
  837. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  838. data/ext/couchbase/third_party/asio/asio/include/asio/execution/blocking.hpp +1551 -0
  839. data/ext/couchbase/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1212 -0
  840. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +397 -0
  841. data/ext/couchbase/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1215 -0
  842. data/ext/couchbase/third_party/asio/asio/include/asio/execution/connect.hpp +489 -0
  843. data/ext/couchbase/third_party/asio/asio/include/asio/execution/context.hpp +233 -0
  844. data/ext/couchbase/third_party/asio/asio/include/asio/execution/context_as.hpp +221 -0
  845. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  846. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  847. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  848. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  849. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  850. data/ext/couchbase/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  851. data/ext/couchbase/third_party/asio/asio/include/asio/execution/execute.hpp +283 -0
  852. data/ext/couchbase/third_party/asio/asio/include/asio/execution/executor.hpp +252 -0
  853. data/ext/couchbase/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  854. data/ext/couchbase/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  855. data/ext/couchbase/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  856. data/ext/couchbase/third_party/asio/asio/include/asio/execution/mapping.hpp +1116 -0
  857. data/ext/couchbase/third_party/asio/asio/include/asio/execution/occupancy.hpp +226 -0
  858. data/ext/couchbase/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  859. data/ext/couchbase/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +867 -0
  860. data/ext/couchbase/third_party/asio/asio/include/asio/execution/prefer_only.hpp +331 -0
  861. data/ext/couchbase/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  862. data/ext/couchbase/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  863. data/ext/couchbase/third_party/asio/asio/include/asio/execution/relationship.hpp +865 -0
  864. data/ext/couchbase/third_party/asio/asio/include/asio/execution/schedule.hpp +287 -0
  865. data/ext/couchbase/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  866. data/ext/couchbase/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  867. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_done.hpp +250 -0
  868. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_error.hpp +250 -0
  869. data/ext/couchbase/third_party/asio/asio/include/asio/execution/set_value.hpp +483 -0
  870. data/ext/couchbase/third_party/asio/asio/include/asio/execution/start.hpp +247 -0
  871. data/ext/couchbase/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  872. data/ext/couchbase/third_party/asio/asio/include/asio/execution.hpp +48 -0
  873. data/ext/couchbase/third_party/asio/asio/include/asio/execution_context.hpp +412 -0
  874. data/ext/couchbase/third_party/asio/asio/include/asio/executor.hpp +347 -0
  875. data/ext/couchbase/third_party/asio/asio/include/asio/executor_work_guard.hpp +302 -0
  876. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/append.hpp +71 -0
  877. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/as_single.hpp +135 -0
  878. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/as_tuple.hpp +131 -0
  879. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/awaitable_operators.hpp +536 -0
  880. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/basic_channel.hpp +415 -0
  881. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +424 -0
  882. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/cancellation_condition.hpp +155 -0
  883. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel.hpp +70 -0
  884. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel_error.hpp +84 -0
  885. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/channel_traits.hpp +231 -0
  886. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/co_spawn.hpp +191 -0
  887. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/concurrent_channel.hpp +70 -0
  888. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/coro.hpp +263 -0
  889. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/coro_traits.hpp +228 -0
  890. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/deferred.hpp +605 -0
  891. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_handler.hpp +70 -0
  892. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_message.hpp +122 -0
  893. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_operation.hpp +199 -0
  894. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_payload.hpp +93 -0
  895. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +112 -0
  896. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +131 -0
  897. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +140 -0
  898. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/channel_service.hpp +497 -0
  899. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/completion_handler_erasure.hpp +158 -0
  900. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +118 -0
  901. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/has_signature.hpp +54 -0
  902. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +611 -0
  903. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/detail/partial_promise.hpp +176 -0
  904. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/append.hpp +217 -0
  905. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/as_single.hpp +229 -0
  906. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/as_tuple.hpp +246 -0
  907. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/channel_error.ipp +61 -0
  908. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/coro.hpp +1204 -0
  909. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/deferred.hpp +104 -0
  910. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/parallel_group.hpp +432 -0
  911. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/prepend.hpp +217 -0
  912. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/promise.hpp +102 -0
  913. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/impl/use_coro.hpp +267 -0
  914. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/parallel_group.hpp +215 -0
  915. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/prepend.hpp +71 -0
  916. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/promise.hpp +610 -0
  917. data/ext/couchbase/third_party/asio/asio/include/asio/experimental/use_coro.hpp +169 -0
  918. data/ext/couchbase/third_party/asio/asio/include/asio/file_base.hpp +160 -0
  919. data/ext/couchbase/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +193 -0
  920. data/ext/couchbase/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +123 -0
  921. data/ext/couchbase/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +133 -0
  922. data/ext/couchbase/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +110 -0
  923. data/ext/couchbase/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +121 -0
  924. data/ext/couchbase/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +122 -0
  925. data/ext/couchbase/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +127 -0
  926. data/ext/couchbase/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +104 -0
  927. data/ext/couchbase/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +54 -0
  928. data/ext/couchbase/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +111 -0
  929. data/ext/couchbase/third_party/asio/asio/include/asio/high_resolution_timer.hpp +44 -0
  930. data/ext/couchbase/third_party/asio/asio/include/asio/impl/any_io_executor.ipp +124 -0
  931. data/ext/couchbase/third_party/asio/asio/include/asio/impl/awaitable.hpp +760 -0
  932. data/ext/couchbase/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +498 -0
  933. data/ext/couchbase/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +478 -0
  934. data/ext/couchbase/third_party/asio/asio/include/asio/impl/cancellation_signal.ipp +96 -0
  935. data/ext/couchbase/third_party/asio/asio/include/asio/impl/co_spawn.hpp +346 -0
  936. data/ext/couchbase/third_party/asio/asio/include/asio/impl/compose.hpp +707 -0
  937. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect.hpp +905 -0
  938. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect_pipe.hpp +73 -0
  939. data/ext/couchbase/third_party/asio/asio/include/asio/impl/connect_pipe.ipp +149 -0
  940. data/ext/couchbase/third_party/asio/asio/include/asio/impl/defer.hpp +256 -0
  941. data/ext/couchbase/third_party/asio/asio/include/asio/impl/detached.hpp +130 -0
  942. data/ext/couchbase/third_party/asio/asio/include/asio/impl/dispatch.hpp +251 -0
  943. data/ext/couchbase/third_party/asio/asio/include/asio/impl/error.ipp +128 -0
  944. data/ext/couchbase/third_party/asio/asio/include/asio/impl/error_code.ipp +206 -0
  945. data/ext/couchbase/third_party/asio/asio/include/asio/impl/execution_context.hpp +109 -0
  946. data/ext/couchbase/third_party/asio/asio/include/asio/impl/execution_context.ipp +82 -0
  947. data/ext/couchbase/third_party/asio/asio/include/asio/impl/executor.hpp +300 -0
  948. data/ext/couchbase/third_party/asio/asio/include/asio/impl/executor.ipp +43 -0
  949. data/ext/couchbase/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +62 -0
  950. data/ext/couchbase/third_party/asio/asio/include/asio/impl/io_context.hpp +444 -0
  951. data/ext/couchbase/third_party/asio/asio/include/asio/impl/io_context.ipp +175 -0
  952. data/ext/couchbase/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  953. data/ext/couchbase/third_party/asio/asio/include/asio/impl/post.hpp +256 -0
  954. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read.hpp +1199 -0
  955. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read_at.hpp +733 -0
  956. data/ext/couchbase/third_party/asio/asio/include/asio/impl/read_until.hpp +3315 -0
  957. data/ext/couchbase/third_party/asio/asio/include/asio/impl/redirect_error.hpp +609 -0
  958. data/ext/couchbase/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +59 -0
  959. data/ext/couchbase/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +554 -0
  960. data/ext/couchbase/third_party/asio/asio/include/asio/impl/spawn.hpp +517 -0
  961. data/ext/couchbase/third_party/asio/asio/include/asio/impl/src.hpp +95 -0
  962. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_context.hpp +34 -0
  963. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_context.ipp +92 -0
  964. data/ext/couchbase/third_party/asio/asio/include/asio/impl/system_executor.hpp +185 -0
  965. data/ext/couchbase/third_party/asio/asio/include/asio/impl/thread_pool.hpp +354 -0
  966. data/ext/couchbase/third_party/asio/asio/include/asio/impl/thread_pool.ipp +141 -0
  967. data/ext/couchbase/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +291 -0
  968. data/ext/couchbase/third_party/asio/asio/include/asio/impl/use_future.hpp +1028 -0
  969. data/ext/couchbase/third_party/asio/asio/include/asio/impl/write.hpp +1100 -0
  970. data/ext/couchbase/third_party/asio/asio/include/asio/impl/write_at.hpp +644 -0
  971. data/ext/couchbase/third_party/asio/asio/include/asio/io_context.hpp +1560 -0
  972. data/ext/couchbase/third_party/asio/asio/include/asio/io_context_strand.hpp +376 -0
  973. data/ext/couchbase/third_party/asio/asio/include/asio/io_service.hpp +33 -0
  974. data/ext/couchbase/third_party/asio/asio/include/asio/io_service_strand.hpp +20 -0
  975. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address.hpp +290 -0
  976. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4.hpp +355 -0
  977. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +162 -0
  978. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +134 -0
  979. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6.hpp +382 -0
  980. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +183 -0
  981. data/ext/couchbase/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +129 -0
  982. data/ext/couchbase/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +53 -0
  983. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +291 -0
  984. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +1076 -0
  985. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +113 -0
  986. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +192 -0
  987. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +244 -0
  988. data/ext/couchbase/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +311 -0
  989. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +141 -0
  990. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +199 -0
  991. data/ext/couchbase/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +566 -0
  992. data/ext/couchbase/third_party/asio/asio/include/asio/ip/host_name.hpp +42 -0
  993. data/ext/couchbase/third_party/asio/asio/include/asio/ip/icmp.hpp +115 -0
  994. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address.hpp +67 -0
  995. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address.ipp +239 -0
  996. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +67 -0
  997. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +210 -0
  998. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +67 -0
  999. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +350 -0
  1000. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +43 -0
  1001. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +54 -0
  1002. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +54 -0
  1003. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +216 -0
  1004. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +53 -0
  1005. data/ext/couchbase/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +185 -0
  1006. data/ext/couchbase/third_party/asio/asio/include/asio/ip/multicast.hpp +191 -0
  1007. data/ext/couchbase/third_party/asio/asio/include/asio/ip/network_v4.hpp +261 -0
  1008. data/ext/couchbase/third_party/asio/asio/include/asio/ip/network_v6.hpp +235 -0
  1009. data/ext/couchbase/third_party/asio/asio/include/asio/ip/resolver_base.hpp +129 -0
  1010. data/ext/couchbase/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +43 -0
  1011. data/ext/couchbase/third_party/asio/asio/include/asio/ip/tcp.hpp +155 -0
  1012. data/ext/couchbase/third_party/asio/asio/include/asio/ip/udp.hpp +111 -0
  1013. data/ext/couchbase/third_party/asio/asio/include/asio/ip/unicast.hpp +70 -0
  1014. data/ext/couchbase/third_party/asio/asio/include/asio/ip/v6_only.hpp +69 -0
  1015. data/ext/couchbase/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  1016. data/ext/couchbase/third_party/asio/asio/include/asio/is_executor.hpp +46 -0
  1017. data/ext/couchbase/third_party/asio/asio/include/asio/is_read_buffered.hpp +59 -0
  1018. data/ext/couchbase/third_party/asio/asio/include/asio/is_write_buffered.hpp +59 -0
  1019. data/ext/couchbase/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +247 -0
  1020. data/ext/couchbase/third_party/asio/asio/include/asio/local/connect_pair.hpp +101 -0
  1021. data/ext/couchbase/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +80 -0
  1022. data/ext/couchbase/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +139 -0
  1023. data/ext/couchbase/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +131 -0
  1024. data/ext/couchbase/third_party/asio/asio/include/asio/local/stream_protocol.hpp +90 -0
  1025. data/ext/couchbase/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  1026. data/ext/couchbase/third_party/asio/asio/include/asio/packaged_task.hpp +126 -0
  1027. data/ext/couchbase/third_party/asio/asio/include/asio/placeholders.hpp +151 -0
  1028. data/ext/couchbase/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +720 -0
  1029. data/ext/couchbase/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +501 -0
  1030. data/ext/couchbase/third_party/asio/asio/include/asio/posix/descriptor.hpp +37 -0
  1031. data/ext/couchbase/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +90 -0
  1032. data/ext/couchbase/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +37 -0
  1033. data/ext/couchbase/third_party/asio/asio/include/asio/post.hpp +126 -0
  1034. data/ext/couchbase/third_party/asio/asio/include/asio/prefer.hpp +734 -0
  1035. data/ext/couchbase/third_party/asio/asio/include/asio/query.hpp +324 -0
  1036. data/ext/couchbase/third_party/asio/asio/include/asio/random_access_file.hpp +35 -0
  1037. data/ext/couchbase/third_party/asio/asio/include/asio/read.hpp +1388 -0
  1038. data/ext/couchbase/third_party/asio/asio/include/asio/read_at.hpp +738 -0
  1039. data/ext/couchbase/third_party/asio/asio/include/asio/read_until.hpp +3031 -0
  1040. data/ext/couchbase/third_party/asio/asio/include/asio/readable_pipe.hpp +35 -0
  1041. data/ext/couchbase/third_party/asio/asio/include/asio/redirect_error.hpp +66 -0
  1042. data/ext/couchbase/third_party/asio/asio/include/asio/registered_buffer.hpp +356 -0
  1043. data/ext/couchbase/third_party/asio/asio/include/asio/require.hpp +571 -0
  1044. data/ext/couchbase/third_party/asio/asio/include/asio/require_concept.hpp +352 -0
  1045. data/ext/couchbase/third_party/asio/asio/include/asio/serial_port.hpp +36 -0
  1046. data/ext/couchbase/third_party/asio/asio/include/asio/serial_port_base.hpp +167 -0
  1047. data/ext/couchbase/third_party/asio/asio/include/asio/signal_set.hpp +28 -0
  1048. data/ext/couchbase/third_party/asio/asio/include/asio/socket_base.hpp +559 -0
  1049. data/ext/couchbase/third_party/asio/asio/include/asio/spawn.hpp +344 -0
  1050. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/context.hpp +761 -0
  1051. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/context_base.hpp +209 -0
  1052. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +119 -0
  1053. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +170 -0
  1054. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +67 -0
  1055. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +363 -0
  1056. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +165 -0
  1057. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/io.hpp +425 -0
  1058. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +101 -0
  1059. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +34 -0
  1060. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +66 -0
  1061. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +72 -0
  1062. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +69 -0
  1063. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +206 -0
  1064. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +62 -0
  1065. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +76 -0
  1066. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/error.hpp +125 -0
  1067. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +90 -0
  1068. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/context.hpp +67 -0
  1069. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/context.ipp +1245 -0
  1070. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/error.ipp +102 -0
  1071. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +73 -0
  1072. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +164 -0
  1073. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/impl/src.hpp +29 -0
  1074. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +98 -0
  1075. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/stream.hpp +972 -0
  1076. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/stream_base.hpp +52 -0
  1077. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/verify_context.hpp +67 -0
  1078. data/ext/couchbase/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +63 -0
  1079. data/ext/couchbase/third_party/asio/asio/include/asio/ssl.hpp +28 -0
  1080. data/ext/couchbase/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  1081. data/ext/couchbase/third_party/asio/asio/include/asio/steady_timer.hpp +42 -0
  1082. data/ext/couchbase/third_party/asio/asio/include/asio/strand.hpp +569 -0
  1083. data/ext/couchbase/third_party/asio/asio/include/asio/stream_file.hpp +35 -0
  1084. data/ext/couchbase/third_party/asio/asio/include/asio/streambuf.hpp +33 -0
  1085. data/ext/couchbase/third_party/asio/asio/include/asio/system_context.hpp +90 -0
  1086. data/ext/couchbase/third_party/asio/asio/include/asio/system_error.hpp +131 -0
  1087. data/ext/couchbase/third_party/asio/asio/include/asio/system_executor.hpp +684 -0
  1088. data/ext/couchbase/third_party/asio/asio/include/asio/system_timer.hpp +42 -0
  1089. data/ext/couchbase/third_party/asio/asio/include/asio/this_coro.hpp +280 -0
  1090. data/ext/couchbase/third_party/asio/asio/include/asio/thread.hpp +92 -0
  1091. data/ext/couchbase/third_party/asio/asio/include/asio/thread_pool.hpp +1140 -0
  1092. data/ext/couchbase/third_party/asio/asio/include/asio/time_traits.hpp +86 -0
  1093. data/ext/couchbase/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  1094. data/ext/couchbase/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  1095. data/ext/couchbase/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  1096. data/ext/couchbase/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  1097. data/ext/couchbase/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +104 -0
  1098. data/ext/couchbase/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  1099. data/ext/couchbase/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  1100. data/ext/couchbase/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  1101. data/ext/couchbase/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  1102. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  1103. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  1104. data/ext/couchbase/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  1105. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  1106. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  1107. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  1108. data/ext/couchbase/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  1109. data/ext/couchbase/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  1110. data/ext/couchbase/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  1111. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  1112. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  1113. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  1114. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  1115. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  1116. data/ext/couchbase/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  1117. data/ext/couchbase/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  1118. data/ext/couchbase/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  1119. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  1120. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  1121. data/ext/couchbase/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +124 -0
  1122. data/ext/couchbase/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  1123. data/ext/couchbase/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  1124. data/ext/couchbase/third_party/asio/asio/include/asio/ts/buffer.hpp +24 -0
  1125. data/ext/couchbase/third_party/asio/asio/include/asio/ts/executor.hpp +35 -0
  1126. data/ext/couchbase/third_party/asio/asio/include/asio/ts/internet.hpp +40 -0
  1127. data/ext/couchbase/third_party/asio/asio/include/asio/ts/io_context.hpp +20 -0
  1128. data/ext/couchbase/third_party/asio/asio/include/asio/ts/net.hpp +26 -0
  1129. data/ext/couchbase/third_party/asio/asio/include/asio/ts/netfwd.hpp +254 -0
  1130. data/ext/couchbase/third_party/asio/asio/include/asio/ts/socket.hpp +27 -0
  1131. data/ext/couchbase/third_party/asio/asio/include/asio/ts/timer.hpp +26 -0
  1132. data/ext/couchbase/third_party/asio/asio/include/asio/unyield.hpp +21 -0
  1133. data/ext/couchbase/third_party/asio/asio/include/asio/use_awaitable.hpp +166 -0
  1134. data/ext/couchbase/third_party/asio/asio/include/asio/use_future.hpp +160 -0
  1135. data/ext/couchbase/third_party/asio/asio/include/asio/uses_executor.hpp +71 -0
  1136. data/ext/couchbase/third_party/asio/asio/include/asio/version.hpp +23 -0
  1137. data/ext/couchbase/third_party/asio/asio/include/asio/wait_traits.hpp +56 -0
  1138. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +435 -0
  1139. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +361 -0
  1140. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +510 -0
  1141. data/ext/couchbase/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +494 -0
  1142. data/ext/couchbase/third_party/asio/asio/include/asio/windows/object_handle.hpp +38 -0
  1143. data/ext/couchbase/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +39 -0
  1144. data/ext/couchbase/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +145 -0
  1145. data/ext/couchbase/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +37 -0
  1146. data/ext/couchbase/third_party/asio/asio/include/asio/windows/stream_handle.hpp +37 -0
  1147. data/ext/couchbase/third_party/asio/asio/include/asio/writable_pipe.hpp +35 -0
  1148. data/ext/couchbase/third_party/asio/asio/include/asio/write.hpp +1346 -0
  1149. data/ext/couchbase/third_party/asio/asio/include/asio/write_at.hpp +746 -0
  1150. data/ext/couchbase/third_party/asio/asio/include/asio/yield.hpp +23 -0
  1151. data/ext/couchbase/third_party/asio/asio/include/asio.hpp +201 -0
  1152. data/ext/couchbase/third_party/fmt/CMakeLists.txt +410 -0
  1153. data/ext/couchbase/third_party/fmt/ChangeLog.rst +4364 -0
  1154. data/ext/couchbase/third_party/fmt/LICENSE.rst +27 -0
  1155. data/ext/couchbase/third_party/fmt/README.rst +528 -0
  1156. data/ext/couchbase/third_party/fmt/include/fmt/args.h +244 -0
  1157. data/ext/couchbase/third_party/fmt/include/fmt/chrono.h +2055 -0
  1158. data/ext/couchbase/third_party/fmt/include/fmt/color.h +638 -0
  1159. data/ext/couchbase/third_party/fmt/include/fmt/compile.h +642 -0
  1160. data/ext/couchbase/third_party/fmt/include/fmt/core.h +3217 -0
  1161. data/ext/couchbase/third_party/fmt/include/fmt/format-inl.h +2637 -0
  1162. data/ext/couchbase/third_party/fmt/include/fmt/format.h +3120 -0
  1163. data/ext/couchbase/third_party/fmt/include/fmt/locale.h +2 -0
  1164. data/ext/couchbase/third_party/fmt/include/fmt/os.h +527 -0
  1165. data/ext/couchbase/third_party/fmt/include/fmt/ostream.h +135 -0
  1166. data/ext/couchbase/third_party/fmt/include/fmt/printf.h +657 -0
  1167. data/ext/couchbase/third_party/fmt/include/fmt/ranges.h +742 -0
  1168. data/ext/couchbase/third_party/fmt/include/fmt/xchar.h +236 -0
  1169. data/ext/couchbase/third_party/fmt/src/fmt.cc +99 -0
  1170. data/ext/couchbase/third_party/fmt/src/format.cc +124 -0
  1171. data/ext/couchbase/third_party/fmt/src/os.cc +361 -0
  1172. data/ext/couchbase/third_party/fmt/support/cmake/FindSetEnv.cmake +7 -0
  1173. data/ext/couchbase/third_party/fmt/support/cmake/JoinPaths.cmake +26 -0
  1174. data/ext/couchbase/third_party/fmt/support/cmake/cxx14.cmake +70 -0
  1175. data/ext/couchbase/third_party/fmt/support/cmake/fmt-config.cmake.in +4 -0
  1176. data/ext/couchbase/third_party/fmt/support/cmake/fmt.pc.in +11 -0
  1177. data/ext/couchbase/third_party/gsl/CMakeLists.txt +61 -0
  1178. data/ext/couchbase/third_party/gsl/LICENSE +21 -0
  1179. data/ext/couchbase/third_party/gsl/ThirdPartyNotices.txt +41 -0
  1180. data/ext/couchbase/third_party/gsl/cmake/guidelineSupportLibrary.cmake +116 -0
  1181. data/ext/couchbase/third_party/gsl/include/CMakeLists.txt +20 -0
  1182. data/ext/couchbase/third_party/gsl/include/gsl/algorithm +63 -0
  1183. data/ext/couchbase/third_party/gsl/include/gsl/assert +136 -0
  1184. data/ext/couchbase/third_party/gsl/include/gsl/byte +213 -0
  1185. data/ext/couchbase/third_party/gsl/include/gsl/gsl +32 -0
  1186. data/ext/couchbase/third_party/gsl/include/gsl/gsl_algorithm +4 -0
  1187. data/ext/couchbase/third_party/gsl/include/gsl/gsl_assert +3 -0
  1188. data/ext/couchbase/third_party/gsl/include/gsl/gsl_byte +3 -0
  1189. data/ext/couchbase/third_party/gsl/include/gsl/gsl_narrow +3 -0
  1190. data/ext/couchbase/third_party/gsl/include/gsl/gsl_util +3 -0
  1191. data/ext/couchbase/third_party/gsl/include/gsl/narrow +66 -0
  1192. data/ext/couchbase/third_party/gsl/include/gsl/pointers +323 -0
  1193. data/ext/couchbase/third_party/gsl/include/gsl/span +821 -0
  1194. data/ext/couchbase/third_party/gsl/include/gsl/span_ext +212 -0
  1195. data/ext/couchbase/third_party/gsl/include/gsl/string_span +767 -0
  1196. data/ext/couchbase/third_party/gsl/include/gsl/util +157 -0
  1197. data/ext/couchbase/third_party/hdr_histogram_c/CMakeLists.txt +84 -0
  1198. data/ext/couchbase/third_party/hdr_histogram_c/COPYING.txt +121 -0
  1199. data/ext/couchbase/third_party/hdr_histogram_c/LICENSE.txt +41 -0
  1200. data/ext/couchbase/third_party/hdr_histogram_c/config.cmake.in +6 -0
  1201. data/ext/couchbase/third_party/hdr_histogram_c/src/CMakeLists.txt +83 -0
  1202. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_atomic.h +146 -0
  1203. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_encoding.c +322 -0
  1204. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_encoding.h +79 -0
  1205. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_endian.h +116 -0
  1206. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram.c +1211 -0
  1207. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram.h +516 -0
  1208. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram_log.c +1290 -0
  1209. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram_log.h +236 -0
  1210. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_histogram_log_no_op.c +171 -0
  1211. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_interval_recorder.c +227 -0
  1212. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_interval_recorder.h +109 -0
  1213. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_malloc.h +19 -0
  1214. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_tests.h +22 -0
  1215. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_thread.c +108 -0
  1216. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_thread.h +55 -0
  1217. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_time.c +98 -0
  1218. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_time.h +49 -0
  1219. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_writer_reader_phaser.c +143 -0
  1220. data/ext/couchbase/third_party/hdr_histogram_c/src/hdr_writer_reader_phaser.h +51 -0
  1221. data/ext/couchbase/third_party/http_parser/LICENSE-MIT +19 -0
  1222. data/ext/couchbase/third_party/http_parser/http_parser.c +2575 -0
  1223. data/ext/couchbase/third_party/http_parser/http_parser.h +449 -0
  1224. data/ext/couchbase/third_party/json/CMakeLists.txt +90 -0
  1225. data/ext/couchbase/third_party/json/LICENSE +21 -0
  1226. data/ext/couchbase/third_party/json/LICENSE.double-conversion +32 -0
  1227. data/ext/couchbase/third_party/json/LICENSE.itoa +19 -0
  1228. data/ext/couchbase/third_party/json/LICENSE.ryu +201 -0
  1229. data/ext/couchbase/third_party/json/external/PEGTL/.cmake/pegtl-config.cmake.in +4 -0
  1230. data/ext/couchbase/third_party/json/external/PEGTL/.cmake/test_filesystem.cpp.in +22 -0
  1231. data/ext/couchbase/third_party/json/external/PEGTL/CMakeLists.txt +155 -0
  1232. data/ext/couchbase/third_party/json/external/PEGTL/LICENSE +21 -0
  1233. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/apply_mode.hpp +19 -0
  1234. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/argv_input.hpp +49 -0
  1235. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/ascii.hpp +54 -0
  1236. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/buffer_input.hpp +226 -0
  1237. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action.hpp +38 -0
  1238. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action_and_state.hpp +71 -0
  1239. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_action_and_states.hpp +62 -0
  1240. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_control.hpp +36 -0
  1241. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_state.hpp +69 -0
  1242. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/change_states.hpp +61 -0
  1243. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/config.hpp +11 -0
  1244. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/abnf.hpp +35 -0
  1245. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/add_state.hpp +69 -0
  1246. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/alphabet.hpp +67 -0
  1247. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/analyze.hpp +189 -0
  1248. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/analyze_traits.hpp +277 -0
  1249. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/check_bytes.hpp +55 -0
  1250. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/control_action.hpp +81 -0
  1251. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/coverage.hpp +151 -0
  1252. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/forward.hpp +16 -0
  1253. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/function.hpp +52 -0
  1254. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/http.hpp +277 -0
  1255. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/internal.hpp +98 -0
  1256. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf16.hpp +196 -0
  1257. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf32.hpp +196 -0
  1258. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/icu/utf8.hpp +103 -0
  1259. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/if_then.hpp +56 -0
  1260. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/instantiate.hpp +38 -0
  1261. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/integer.hpp +468 -0
  1262. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian.hpp +77 -0
  1263. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian_gcc.hpp +198 -0
  1264. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/endian_win.hpp +102 -0
  1265. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
  1266. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
  1267. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_uint.hpp +45 -0
  1268. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_uint8.hpp +32 -0
  1269. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_utf16.hpp +54 -0
  1270. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/peek_utf32.hpp +43 -0
  1271. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/read_uint.hpp +77 -0
  1272. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  1273. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/internal/vector_stack_guard.hpp +45 -0
  1274. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/iri.hpp +106 -0
  1275. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/json.hpp +91 -0
  1276. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/json_pointer.hpp +33 -0
  1277. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/limit_bytes.hpp +88 -0
  1278. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/limit_depth.hpp +83 -0
  1279. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/parse_tree.hpp +443 -0
  1280. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/parse_tree_to_dot.hpp +111 -0
  1281. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/peg.hpp +121 -0
  1282. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/predicates.hpp +126 -0
  1283. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/print.hpp +75 -0
  1284. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/print_coverage.hpp +53 -0
  1285. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/proto3.hpp +142 -0
  1286. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/raw_string.hpp +232 -0
  1287. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/remove_first_state.hpp +72 -0
  1288. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/remove_last_states.hpp +121 -0
  1289. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/rep_one_min_max.hpp +100 -0
  1290. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/rep_string.hpp +43 -0
  1291. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/separated_seq.hpp +45 -0
  1292. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/shuffle_states.hpp +193 -0
  1293. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/state_control.hpp +122 -0
  1294. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/to_string.hpp +38 -0
  1295. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/trace.hpp +227 -0
  1296. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint16.hpp +62 -0
  1297. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint32.hpp +62 -0
  1298. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint64.hpp +63 -0
  1299. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uint8.hpp +36 -0
  1300. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/unescape.hpp +214 -0
  1301. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/uri.hpp +111 -0
  1302. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/utf16.hpp +57 -0
  1303. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/contrib/utf32.hpp +57 -0
  1304. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/cstream_input.hpp +32 -0
  1305. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/demangle.hpp +175 -0
  1306. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/disable_action.hpp +35 -0
  1307. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input.hpp +37 -0
  1308. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input_on_failure.hpp +39 -0
  1309. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/discard_input_on_success.hpp +39 -0
  1310. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/enable_action.hpp +35 -0
  1311. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/eol.hpp +37 -0
  1312. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/eol_pair.hpp +18 -0
  1313. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/file_input.hpp +44 -0
  1314. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/action.hpp +54 -0
  1315. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/action_input.hpp +106 -0
  1316. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/any.hpp +77 -0
  1317. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply.hpp +53 -0
  1318. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply0.hpp +51 -0
  1319. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply0_single.hpp +34 -0
  1320. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/apply_single.hpp +34 -0
  1321. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/at.hpp +55 -0
  1322. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bof.hpp +32 -0
  1323. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bol.hpp +31 -0
  1324. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bump.hpp +45 -0
  1325. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bump_help.hpp +26 -0
  1326. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/bytes.hpp +43 -0
  1327. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/control.hpp +54 -0
  1328. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cr_crlf_eol.hpp +32 -0
  1329. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cr_eol.hpp +32 -0
  1330. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/crlf_eol.hpp +32 -0
  1331. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cstream_reader.hpp +58 -0
  1332. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/cstring_reader.hpp +40 -0
  1333. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/dependent_false.hpp +16 -0
  1334. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/dependent_true.hpp +16 -0
  1335. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/disable.hpp +54 -0
  1336. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/discard.hpp +34 -0
  1337. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/enable.hpp +54 -0
  1338. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/enable_control.hpp +25 -0
  1339. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eof.hpp +32 -0
  1340. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eol.hpp +32 -0
  1341. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/eolf.hpp +33 -0
  1342. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/failure.hpp +32 -0
  1343. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_mapper_posix.hpp +159 -0
  1344. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_mapper_win32.hpp +243 -0
  1345. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/file_reader.hpp +152 -0
  1346. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/filesystem.hpp +64 -0
  1347. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_apply.hpp +21 -0
  1348. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_apply0.hpp +21 -0
  1349. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_match.hpp +40 -0
  1350. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/has_unwind.hpp +21 -0
  1351. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/identifier.hpp +22 -0
  1352. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_apply.hpp +54 -0
  1353. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_must.hpp +52 -0
  1354. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_must_else.hpp +26 -0
  1355. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/if_then_else.hpp +51 -0
  1356. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/input_pair.hpp +29 -0
  1357. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/istream_reader.hpp +50 -0
  1358. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/istring.hpp +81 -0
  1359. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/iterator.hpp +49 -0
  1360. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/lf_crlf_eol.hpp +37 -0
  1361. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/lf_eol.hpp +32 -0
  1362. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list.hpp +19 -0
  1363. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_must.hpp +25 -0
  1364. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_tail.hpp +22 -0
  1365. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/list_tail_pad.hpp +22 -0
  1366. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/marker.hpp +80 -0
  1367. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/minus.hpp +21 -0
  1368. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/missing_apply.hpp +28 -0
  1369. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/missing_apply0.hpp +26 -0
  1370. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/must.hpp +69 -0
  1371. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/not_at.hpp +55 -0
  1372. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/one.hpp +66 -0
  1373. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/opt.hpp +57 -0
  1374. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pad.hpp +19 -0
  1375. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pad_opt.hpp +20 -0
  1376. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/path_to_string.hpp +28 -0
  1377. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/peek_char.hpp +32 -0
  1378. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/peek_utf8.hpp +89 -0
  1379. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/pegtl_string.hpp +90 -0
  1380. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/plus.hpp +60 -0
  1381. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/raise.hpp +49 -0
  1382. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/range.hpp +60 -0
  1383. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/ranges.hpp +90 -0
  1384. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rematch.hpp +72 -0
  1385. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep.hpp +67 -0
  1386. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_min.hpp +20 -0
  1387. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_min_max.hpp +81 -0
  1388. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rep_opt.hpp +61 -0
  1389. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/require.hpp +42 -0
  1390. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/result_on_found.hpp +19 -0
  1391. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/rules.hpp +64 -0
  1392. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/seq.hpp +58 -0
  1393. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/sor.hpp +67 -0
  1394. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/star.hpp +52 -0
  1395. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/star_must.hpp +24 -0
  1396. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/state.hpp +75 -0
  1397. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/string.hpp +67 -0
  1398. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/success.hpp +32 -0
  1399. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/try_catch_type.hpp +69 -0
  1400. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/internal/until.hpp +88 -0
  1401. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/istream_input.hpp +32 -0
  1402. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/match.hpp +173 -0
  1403. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/memory_input.hpp +378 -0
  1404. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/mmap_input.hpp +79 -0
  1405. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/must_if.hpp +69 -0
  1406. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/normal.hpp +99 -0
  1407. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/nothing.hpp +19 -0
  1408. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/parse.hpp +72 -0
  1409. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/parse_error.hpp +119 -0
  1410. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/position.hpp +98 -0
  1411. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/read_input.hpp +54 -0
  1412. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/require_apply.hpp +16 -0
  1413. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/require_apply0.hpp +16 -0
  1414. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/rewind_mode.hpp +20 -0
  1415. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/rules.hpp +71 -0
  1416. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/string_input.hpp +64 -0
  1417. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/tracking_mode.hpp +19 -0
  1418. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/type_list.hpp +46 -0
  1419. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/utf8.hpp +28 -0
  1420. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/version.hpp +13 -0
  1421. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl/visit.hpp +80 -0
  1422. data/ext/couchbase/third_party/json/external/PEGTL/include/tao/pegtl.hpp +48 -0
  1423. data/ext/couchbase/third_party/json/include/tao/json/basic_value.hpp +962 -0
  1424. data/ext/couchbase/third_party/json/include/tao/json/binary.hpp +103 -0
  1425. data/ext/couchbase/third_party/json/include/tao/json/binary_view.hpp +31 -0
  1426. data/ext/couchbase/third_party/json/include/tao/json/binding/constant.hpp +231 -0
  1427. data/ext/couchbase/third_party/json/include/tao/json/binding/element.hpp +71 -0
  1428. data/ext/couchbase/third_party/json/include/tao/json/binding/element2.hpp +35 -0
  1429. data/ext/couchbase/third_party/json/include/tao/json/binding/factory.hpp +253 -0
  1430. data/ext/couchbase/third_party/json/include/tao/json/binding/for_nothing_value.hpp +17 -0
  1431. data/ext/couchbase/third_party/json/include/tao/json/binding/for_unknown_key.hpp +17 -0
  1432. data/ext/couchbase/third_party/json/include/tao/json/binding/inherit.hpp +14 -0
  1433. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/array.hpp +105 -0
  1434. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/elementr.hpp +134 -0
  1435. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/elementw.hpp +251 -0
  1436. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/inherit.hpp +45 -0
  1437. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/object.hpp +269 -0
  1438. data/ext/couchbase/third_party/json/include/tao/json/binding/internal/type_key.hpp +54 -0
  1439. data/ext/couchbase/third_party/json/include/tao/json/binding/member.hpp +47 -0
  1440. data/ext/couchbase/third_party/json/include/tao/json/binding/member_kind.hpp +17 -0
  1441. data/ext/couchbase/third_party/json/include/tao/json/binding/versions.hpp +130 -0
  1442. data/ext/couchbase/third_party/json/include/tao/json/binding.hpp +74 -0
  1443. data/ext/couchbase/third_party/json/include/tao/json/cbor/consume_file.hpp +34 -0
  1444. data/ext/couchbase/third_party/json/include/tao/json/cbor/consume_string.hpp +32 -0
  1445. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_binary.hpp +44 -0
  1446. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_file.hpp +27 -0
  1447. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_input.hpp +43 -0
  1448. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/from_string.hpp +37 -0
  1449. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/to_stream.hpp +161 -0
  1450. data/ext/couchbase/third_party/json/include/tao/json/cbor/events/to_string.hpp +37 -0
  1451. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  1452. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_file.hpp +33 -0
  1453. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_input.hpp +33 -0
  1454. data/ext/couchbase/third_party/json/include/tao/json/cbor/from_string.hpp +32 -0
  1455. data/ext/couchbase/third_party/json/include/tao/json/cbor/internal/grammar.hpp +424 -0
  1456. data/ext/couchbase/third_party/json/include/tao/json/cbor/internal/major.hpp +28 -0
  1457. data/ext/couchbase/third_party/json/include/tao/json/cbor/parts_parser.hpp +395 -0
  1458. data/ext/couchbase/third_party/json/include/tao/json/cbor/to_stream.hpp +27 -0
  1459. data/ext/couchbase/third_party/json/include/tao/json/cbor/to_string.hpp +29 -0
  1460. data/ext/couchbase/third_party/json/include/tao/json/cbor.hpp +19 -0
  1461. data/ext/couchbase/third_party/json/include/tao/json/consume.hpp +43 -0
  1462. data/ext/couchbase/third_party/json/include/tao/json/consume_file.hpp +33 -0
  1463. data/ext/couchbase/third_party/json/include/tao/json/consume_string.hpp +31 -0
  1464. data/ext/couchbase/third_party/json/include/tao/json/contrib/array_traits.hpp +43 -0
  1465. data/ext/couchbase/third_party/json/include/tao/json/contrib/deque_traits.hpp +41 -0
  1466. data/ext/couchbase/third_party/json/include/tao/json/contrib/diff.hpp +106 -0
  1467. data/ext/couchbase/third_party/json/include/tao/json/contrib/get.hpp +152 -0
  1468. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +92 -0
  1469. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +76 -0
  1470. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +105 -0
  1471. data/ext/couchbase/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +36 -0
  1472. data/ext/couchbase/third_party/json/include/tao/json/contrib/list_traits.hpp +41 -0
  1473. data/ext/couchbase/third_party/json/include/tao/json/contrib/map_traits.hpp +43 -0
  1474. data/ext/couchbase/third_party/json/include/tao/json/contrib/multimap_traits.hpp +43 -0
  1475. data/ext/couchbase/third_party/json/include/tao/json/contrib/multiset_traits.hpp +41 -0
  1476. data/ext/couchbase/third_party/json/include/tao/json/contrib/pair_traits.hpp +21 -0
  1477. data/ext/couchbase/third_party/json/include/tao/json/contrib/patch.hpp +117 -0
  1478. data/ext/couchbase/third_party/json/include/tao/json/contrib/pointer_traits.hpp +59 -0
  1479. data/ext/couchbase/third_party/json/include/tao/json/contrib/position.hpp +166 -0
  1480. data/ext/couchbase/third_party/json/include/tao/json/contrib/reference.hpp +113 -0
  1481. data/ext/couchbase/third_party/json/include/tao/json/contrib/schema.hpp +1874 -0
  1482. data/ext/couchbase/third_party/json/include/tao/json/contrib/set_traits.hpp +41 -0
  1483. data/ext/couchbase/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +98 -0
  1484. data/ext/couchbase/third_party/json/include/tao/json/contrib/traits.hpp +128 -0
  1485. data/ext/couchbase/third_party/json/include/tao/json/contrib/tuple_traits.hpp +51 -0
  1486. data/ext/couchbase/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +97 -0
  1487. data/ext/couchbase/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +43 -0
  1488. data/ext/couchbase/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +41 -0
  1489. data/ext/couchbase/third_party/json/include/tao/json/contrib/variant_traits.hpp +73 -0
  1490. data/ext/couchbase/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +45 -0
  1491. data/ext/couchbase/third_party/json/include/tao/json/contrib/vector_traits.hpp +51 -0
  1492. data/ext/couchbase/third_party/json/include/tao/json/events/apply.hpp +20 -0
  1493. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_base64.hpp +26 -0
  1494. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_base64url.hpp +28 -0
  1495. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_exception.hpp +27 -0
  1496. data/ext/couchbase/third_party/json/include/tao/json/events/binary_to_hex.hpp +26 -0
  1497. data/ext/couchbase/third_party/json/include/tao/json/events/compare.hpp +255 -0
  1498. data/ext/couchbase/third_party/json/include/tao/json/events/debug.hpp +145 -0
  1499. data/ext/couchbase/third_party/json/include/tao/json/events/discard.hpp +43 -0
  1500. data/ext/couchbase/third_party/json/include/tao/json/events/from_file.hpp +28 -0
  1501. data/ext/couchbase/third_party/json/include/tao/json/events/from_input.hpp +45 -0
  1502. data/ext/couchbase/third_party/json/include/tao/json/events/from_stream.hpp +33 -0
  1503. data/ext/couchbase/third_party/json/include/tao/json/events/from_string.hpp +38 -0
  1504. data/ext/couchbase/third_party/json/include/tao/json/events/from_value.hpp +205 -0
  1505. data/ext/couchbase/third_party/json/include/tao/json/events/hash.hpp +174 -0
  1506. data/ext/couchbase/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +50 -0
  1507. data/ext/couchbase/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +49 -0
  1508. data/ext/couchbase/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +48 -0
  1509. data/ext/couchbase/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +62 -0
  1510. data/ext/couchbase/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +57 -0
  1511. data/ext/couchbase/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +82 -0
  1512. data/ext/couchbase/third_party/json/include/tao/json/events/limit_value_count.hpp +46 -0
  1513. data/ext/couchbase/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +31 -0
  1514. data/ext/couchbase/third_party/json/include/tao/json/events/non_finite_to_null.hpp +32 -0
  1515. data/ext/couchbase/third_party/json/include/tao/json/events/non_finite_to_string.hpp +40 -0
  1516. data/ext/couchbase/third_party/json/include/tao/json/events/prefer_signed.hpp +32 -0
  1517. data/ext/couchbase/third_party/json/include/tao/json/events/prefer_unsigned.hpp +32 -0
  1518. data/ext/couchbase/third_party/json/include/tao/json/events/produce.hpp +120 -0
  1519. data/ext/couchbase/third_party/json/include/tao/json/events/ref.hpp +114 -0
  1520. data/ext/couchbase/third_party/json/include/tao/json/events/statistics.hpp +112 -0
  1521. data/ext/couchbase/third_party/json/include/tao/json/events/tee.hpp +386 -0
  1522. data/ext/couchbase/third_party/json/include/tao/json/events/to_pretty_stream.hpp +172 -0
  1523. data/ext/couchbase/third_party/json/include/tao/json/events/to_stream.hpp +142 -0
  1524. data/ext/couchbase/third_party/json/include/tao/json/events/to_string.hpp +39 -0
  1525. data/ext/couchbase/third_party/json/include/tao/json/events/to_value.hpp +137 -0
  1526. data/ext/couchbase/third_party/json/include/tao/json/events/transformer.hpp +70 -0
  1527. data/ext/couchbase/third_party/json/include/tao/json/events/validate_event_order.hpp +415 -0
  1528. data/ext/couchbase/third_party/json/include/tao/json/events/validate_keys.hpp +52 -0
  1529. data/ext/couchbase/third_party/json/include/tao/json/events/virtual_base.hpp +192 -0
  1530. data/ext/couchbase/third_party/json/include/tao/json/events/virtual_ref.hpp +179 -0
  1531. data/ext/couchbase/third_party/json/include/tao/json/events/virtual_wrap.hpp +166 -0
  1532. data/ext/couchbase/third_party/json/include/tao/json/events.hpp +52 -0
  1533. data/ext/couchbase/third_party/json/include/tao/json/external/double.hpp +1306 -0
  1534. data/ext/couchbase/third_party/json/include/tao/json/external/itoa.hpp +151 -0
  1535. data/ext/couchbase/third_party/json/include/tao/json/external/ryu.hpp +1216 -0
  1536. data/ext/couchbase/third_party/json/include/tao/json/forward.hpp +44 -0
  1537. data/ext/couchbase/third_party/json/include/tao/json/from_file.hpp +32 -0
  1538. data/ext/couchbase/third_party/json/include/tao/json/from_input.hpp +32 -0
  1539. data/ext/couchbase/third_party/json/include/tao/json/from_stream.hpp +45 -0
  1540. data/ext/couchbase/third_party/json/include/tao/json/from_string.hpp +41 -0
  1541. data/ext/couchbase/third_party/json/include/tao/json/internal/action.hpp +271 -0
  1542. data/ext/couchbase/third_party/json/include/tao/json/internal/base64.hpp +55 -0
  1543. data/ext/couchbase/third_party/json/include/tao/json/internal/base64url.hpp +53 -0
  1544. data/ext/couchbase/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  1545. data/ext/couchbase/third_party/json/include/tao/json/internal/endian.hpp +60 -0
  1546. data/ext/couchbase/third_party/json/include/tao/json/internal/endian_gcc.hpp +198 -0
  1547. data/ext/couchbase/third_party/json/include/tao/json/internal/endian_win.hpp +103 -0
  1548. data/ext/couchbase/third_party/json/include/tao/json/internal/errors.hpp +86 -0
  1549. data/ext/couchbase/third_party/json/include/tao/json/internal/escape.hpp +69 -0
  1550. data/ext/couchbase/third_party/json/include/tao/json/internal/filesystem.hpp +15 -0
  1551. data/ext/couchbase/third_party/json/include/tao/json/internal/format.hpp +59 -0
  1552. data/ext/couchbase/third_party/json/include/tao/json/internal/grammar.hpp +231 -0
  1553. data/ext/couchbase/third_party/json/include/tao/json/internal/hexdump.hpp +33 -0
  1554. data/ext/couchbase/third_party/json/include/tao/json/internal/identity.hpp +22 -0
  1555. data/ext/couchbase/third_party/json/include/tao/json/internal/number_state.hpp +81 -0
  1556. data/ext/couchbase/third_party/json/include/tao/json/internal/number_traits.hpp +267 -0
  1557. data/ext/couchbase/third_party/json/include/tao/json/internal/pair.hpp +42 -0
  1558. data/ext/couchbase/third_party/json/include/tao/json/internal/parse_util.hpp +113 -0
  1559. data/ext/couchbase/third_party/json/include/tao/json/internal/sha256.hpp +218 -0
  1560. data/ext/couchbase/third_party/json/include/tao/json/internal/single.hpp +40 -0
  1561. data/ext/couchbase/third_party/json/include/tao/json/internal/string_t.hpp +35 -0
  1562. data/ext/couchbase/third_party/json/include/tao/json/internal/type_traits.hpp +97 -0
  1563. data/ext/couchbase/third_party/json/include/tao/json/internal/unescape_action.hpp +24 -0
  1564. data/ext/couchbase/third_party/json/include/tao/json/internal/uri_fragment.hpp +182 -0
  1565. data/ext/couchbase/third_party/json/include/tao/json/jaxn/consume_file.hpp +34 -0
  1566. data/ext/couchbase/third_party/json/include/tao/json/jaxn/consume_string.hpp +32 -0
  1567. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_file.hpp +29 -0
  1568. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_input.hpp +45 -0
  1569. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +33 -0
  1570. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/from_string.hpp +39 -0
  1571. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +69 -0
  1572. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +67 -0
  1573. data/ext/couchbase/third_party/json/include/tao/json/jaxn/events/to_string.hpp +39 -0
  1574. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_file.hpp +33 -0
  1575. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_input.hpp +33 -0
  1576. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_stream.hpp +48 -0
  1577. data/ext/couchbase/third_party/json/include/tao/json/jaxn/from_string.hpp +42 -0
  1578. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/action.hpp +380 -0
  1579. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +115 -0
  1580. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/errors.hpp +110 -0
  1581. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +381 -0
  1582. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/integer.hpp +255 -0
  1583. data/ext/couchbase/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +28 -0
  1584. data/ext/couchbase/third_party/json/include/tao/json/jaxn/is_identifier.hpp +23 -0
  1585. data/ext/couchbase/third_party/json/include/tao/json/jaxn/parts_parser.hpp +261 -0
  1586. data/ext/couchbase/third_party/json/include/tao/json/jaxn/to_stream.hpp +36 -0
  1587. data/ext/couchbase/third_party/json/include/tao/json/jaxn/to_string.hpp +34 -0
  1588. data/ext/couchbase/third_party/json/include/tao/json/jaxn.hpp +19 -0
  1589. data/ext/couchbase/third_party/json/include/tao/json/message_extension.hpp +49 -0
  1590. data/ext/couchbase/third_party/json/include/tao/json/msgpack/consume_file.hpp +34 -0
  1591. data/ext/couchbase/third_party/json/include/tao/json/msgpack/consume_string.hpp +32 -0
  1592. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +44 -0
  1593. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_file.hpp +27 -0
  1594. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_input.hpp +43 -0
  1595. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/from_string.hpp +37 -0
  1596. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +214 -0
  1597. data/ext/couchbase/third_party/json/include/tao/json/msgpack/events/to_string.hpp +37 -0
  1598. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  1599. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_file.hpp +33 -0
  1600. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_input.hpp +33 -0
  1601. data/ext/couchbase/third_party/json/include/tao/json/msgpack/from_string.hpp +32 -0
  1602. data/ext/couchbase/third_party/json/include/tao/json/msgpack/internal/format.hpp +57 -0
  1603. data/ext/couchbase/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +230 -0
  1604. data/ext/couchbase/third_party/json/include/tao/json/msgpack/parts_parser.hpp +315 -0
  1605. data/ext/couchbase/third_party/json/include/tao/json/msgpack/to_stream.hpp +27 -0
  1606. data/ext/couchbase/third_party/json/include/tao/json/msgpack/to_string.hpp +29 -0
  1607. data/ext/couchbase/third_party/json/include/tao/json/msgpack.hpp +19 -0
  1608. data/ext/couchbase/third_party/json/include/tao/json/operators.hpp +490 -0
  1609. data/ext/couchbase/third_party/json/include/tao/json/parts_parser.hpp +333 -0
  1610. data/ext/couchbase/third_party/json/include/tao/json/pointer.hpp +433 -0
  1611. data/ext/couchbase/third_party/json/include/tao/json/produce.hpp +61 -0
  1612. data/ext/couchbase/third_party/json/include/tao/json/self_contained.hpp +130 -0
  1613. data/ext/couchbase/third_party/json/include/tao/json/span.hpp +496 -0
  1614. data/ext/couchbase/third_party/json/include/tao/json/stream.hpp +38 -0
  1615. data/ext/couchbase/third_party/json/include/tao/json/to_stream.hpp +42 -0
  1616. data/ext/couchbase/third_party/json/include/tao/json/to_string.hpp +25 -0
  1617. data/ext/couchbase/third_party/json/include/tao/json/traits.hpp +975 -0
  1618. data/ext/couchbase/third_party/json/include/tao/json/type.hpp +112 -0
  1619. data/ext/couchbase/third_party/json/include/tao/json/ubjson/consume_file.hpp +34 -0
  1620. data/ext/couchbase/third_party/json/include/tao/json/ubjson/consume_string.hpp +32 -0
  1621. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +44 -0
  1622. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_file.hpp +27 -0
  1623. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_input.hpp +43 -0
  1624. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/from_string.hpp +37 -0
  1625. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +174 -0
  1626. data/ext/couchbase/third_party/json/include/tao/json/ubjson/events/to_string.hpp +37 -0
  1627. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  1628. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_file.hpp +33 -0
  1629. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_input.hpp +33 -0
  1630. data/ext/couchbase/third_party/json/include/tao/json/ubjson/from_string.hpp +32 -0
  1631. data/ext/couchbase/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +415 -0
  1632. data/ext/couchbase/third_party/json/include/tao/json/ubjson/internal/marker.hpp +46 -0
  1633. data/ext/couchbase/third_party/json/include/tao/json/ubjson/parts_parser.hpp +396 -0
  1634. data/ext/couchbase/third_party/json/include/tao/json/ubjson/to_stream.hpp +28 -0
  1635. data/ext/couchbase/third_party/json/include/tao/json/ubjson/to_string.hpp +30 -0
  1636. data/ext/couchbase/third_party/json/include/tao/json/ubjson.hpp +19 -0
  1637. data/ext/couchbase/third_party/json/include/tao/json/utf8.hpp +56 -0
  1638. data/ext/couchbase/third_party/json/include/tao/json/value.hpp +12 -0
  1639. data/ext/couchbase/third_party/json/include/tao/json.hpp +45 -0
  1640. data/ext/couchbase/third_party/jsonsl/LICENSE +20 -0
  1641. data/ext/couchbase/third_party/jsonsl/jsonsl.c +3059 -0
  1642. data/ext/couchbase/third_party/jsonsl/jsonsl.h +978 -0
  1643. data/ext/couchbase/third_party/snappy/CMakeLists.txt +297 -0
  1644. data/ext/couchbase/third_party/snappy/COPYING +54 -0
  1645. data/ext/couchbase/third_party/snappy/cmake/SnappyConfig.cmake.in +33 -0
  1646. data/ext/couchbase/third_party/snappy/cmake/config.h.in +62 -0
  1647. data/ext/couchbase/third_party/snappy/snappy-c.cc +90 -0
  1648. data/ext/couchbase/third_party/snappy/snappy-c.h +138 -0
  1649. data/ext/couchbase/third_party/snappy/snappy-internal.h +231 -0
  1650. data/ext/couchbase/third_party/snappy/snappy-sinksource.cc +104 -0
  1651. data/ext/couchbase/third_party/snappy/snappy-sinksource.h +182 -0
  1652. data/ext/couchbase/third_party/snappy/snappy-stubs-internal.cc +42 -0
  1653. data/ext/couchbase/third_party/snappy/snappy-stubs-internal.h +606 -0
  1654. data/ext/couchbase/third_party/snappy/snappy-stubs-public.h.in +74 -0
  1655. data/ext/couchbase/third_party/snappy/snappy.cc +1661 -0
  1656. data/ext/couchbase/third_party/snappy/snappy.h +207 -0
  1657. data/ext/couchbase/third_party/spdlog/CMakeLists.txt +320 -0
  1658. data/ext/couchbase/third_party/spdlog/LICENSE +26 -0
  1659. data/ext/couchbase/third_party/spdlog/cmake/ide.cmake +18 -0
  1660. data/ext/couchbase/third_party/spdlog/cmake/pch.h.in +258 -0
  1661. data/ext/couchbase/third_party/spdlog/cmake/spdlog.pc.in +13 -0
  1662. data/ext/couchbase/third_party/spdlog/cmake/spdlogCPack.cmake +60 -0
  1663. data/ext/couchbase/third_party/spdlog/cmake/spdlogConfig.cmake.in +19 -0
  1664. data/ext/couchbase/third_party/spdlog/cmake/utils.cmake +62 -0
  1665. data/ext/couchbase/third_party/spdlog/cmake/version.rc.in +42 -0
  1666. data/ext/couchbase/third_party/spdlog/include/spdlog/async.h +93 -0
  1667. data/ext/couchbase/third_party/spdlog/include/spdlog/async_logger-inl.h +92 -0
  1668. data/ext/couchbase/third_party/spdlog/include/spdlog/async_logger.h +68 -0
  1669. data/ext/couchbase/third_party/spdlog/include/spdlog/cfg/argv.h +44 -0
  1670. data/ext/couchbase/third_party/spdlog/include/spdlog/cfg/env.h +38 -0
  1671. data/ext/couchbase/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +120 -0
  1672. data/ext/couchbase/third_party/spdlog/include/spdlog/cfg/helpers.h +29 -0
  1673. data/ext/couchbase/third_party/spdlog/include/spdlog/common-inl.h +78 -0
  1674. data/ext/couchbase/third_party/spdlog/include/spdlog/common.h +276 -0
  1675. data/ext/couchbase/third_party/spdlog/include/spdlog/details/backtracer-inl.h +69 -0
  1676. data/ext/couchbase/third_party/spdlog/include/spdlog/details/backtracer.h +45 -0
  1677. data/ext/couchbase/third_party/spdlog/include/spdlog/details/circular_q.h +141 -0
  1678. data/ext/couchbase/third_party/spdlog/include/spdlog/details/console_globals.h +32 -0
  1679. data/ext/couchbase/third_party/spdlog/include/spdlog/details/file_helper-inl.h +147 -0
  1680. data/ext/couchbase/third_party/spdlog/include/spdlog/details/file_helper.h +59 -0
  1681. data/ext/couchbase/third_party/spdlog/include/spdlog/details/fmt_helper.h +117 -0
  1682. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg-inl.h +37 -0
  1683. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg.h +37 -0
  1684. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +58 -0
  1685. data/ext/couchbase/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +33 -0
  1686. data/ext/couchbase/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +126 -0
  1687. data/ext/couchbase/third_party/spdlog/include/spdlog/details/null_mutex.h +49 -0
  1688. data/ext/couchbase/third_party/spdlog/include/spdlog/details/os-inl.h +599 -0
  1689. data/ext/couchbase/third_party/spdlog/include/spdlog/details/os.h +118 -0
  1690. data/ext/couchbase/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +49 -0
  1691. data/ext/couchbase/third_party/spdlog/include/spdlog/details/periodic_worker.h +40 -0
  1692. data/ext/couchbase/third_party/spdlog/include/spdlog/details/registry-inl.h +313 -0
  1693. data/ext/couchbase/third_party/spdlog/include/spdlog/details/registry.h +115 -0
  1694. data/ext/couchbase/third_party/spdlog/include/spdlog/details/synchronous_factory.h +24 -0
  1695. data/ext/couchbase/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +175 -0
  1696. data/ext/couchbase/third_party/spdlog/include/spdlog/details/tcp_client.h +146 -0
  1697. data/ext/couchbase/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +129 -0
  1698. data/ext/couchbase/third_party/spdlog/include/spdlog/details/thread_pool.h +120 -0
  1699. data/ext/couchbase/third_party/spdlog/include/spdlog/details/windows_include.h +11 -0
  1700. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +217 -0
  1701. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/args.h +232 -0
  1702. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +1308 -0
  1703. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/color.h +627 -0
  1704. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +639 -0
  1705. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/core.h +3002 -0
  1706. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +2620 -0
  1707. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/format.h +2830 -0
  1708. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +2 -0
  1709. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/os.h +515 -0
  1710. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +181 -0
  1711. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +652 -0
  1712. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +468 -0
  1713. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/bundled/xchar.h +236 -0
  1714. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  1715. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/compile.h +20 -0
  1716. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/fmt.h +27 -0
  1717. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/ostr.h +20 -0
  1718. data/ext/couchbase/third_party/spdlog/include/spdlog/fmt/xchar.h +20 -0
  1719. data/ext/couchbase/third_party/spdlog/include/spdlog/formatter.h +18 -0
  1720. data/ext/couchbase/third_party/spdlog/include/spdlog/fwd.h +14 -0
  1721. data/ext/couchbase/third_party/spdlog/include/spdlog/logger-inl.h +257 -0
  1722. data/ext/couchbase/third_party/spdlog/include/spdlog/logger.h +403 -0
  1723. data/ext/couchbase/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +1395 -0
  1724. data/ext/couchbase/third_party/spdlog/include/spdlog/pattern_formatter.h +126 -0
  1725. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/android_sink.h +119 -0
  1726. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +145 -0
  1727. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +118 -0
  1728. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +63 -0
  1729. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/base_sink.h +52 -0
  1730. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +43 -0
  1731. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +58 -0
  1732. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +242 -0
  1733. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/dist_sink.h +97 -0
  1734. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +94 -0
  1735. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/hourly_file_sink.h +194 -0
  1736. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/mongo_sink.h +98 -0
  1737. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +48 -0
  1738. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/null_sink.h +44 -0
  1739. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +50 -0
  1740. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/qt_sinks.h +93 -0
  1741. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +74 -0
  1742. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +131 -0
  1743. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +78 -0
  1744. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/sink-inl.h +25 -0
  1745. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/sink.h +35 -0
  1746. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
  1747. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +45 -0
  1748. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +139 -0
  1749. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +87 -0
  1750. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +109 -0
  1751. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +103 -0
  1752. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +81 -0
  1753. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +276 -0
  1754. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +175 -0
  1755. data/ext/couchbase/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +85 -0
  1756. data/ext/couchbase/third_party/spdlog/include/spdlog/spdlog-inl.h +125 -0
  1757. data/ext/couchbase/third_party/spdlog/include/spdlog/spdlog.h +345 -0
  1758. data/ext/couchbase/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  1759. data/ext/couchbase/third_party/spdlog/include/spdlog/tweakme.h +124 -0
  1760. data/ext/couchbase/third_party/spdlog/include/spdlog/version.h +10 -0
  1761. data/ext/couchbase/third_party/spdlog/src/async.cpp +13 -0
  1762. data/ext/couchbase/third_party/spdlog/src/cfg.cpp +8 -0
  1763. data/ext/couchbase/third_party/spdlog/src/color_sinks.cpp +51 -0
  1764. data/ext/couchbase/third_party/spdlog/src/file_sinks.cpp +20 -0
  1765. data/ext/couchbase/third_party/spdlog/src/fmt.cpp +68 -0
  1766. data/ext/couchbase/third_party/spdlog/src/spdlog.cpp +26 -0
  1767. data/ext/couchbase/third_party/spdlog/src/stdout_sinks.cpp +29 -0
  1768. data/ext/couchbase.cxx +7422 -0
  1769. data/ext/ext_build_version.hxx.in +20 -0
  1770. data/ext/extconf.rb +137 -0
  1771. data/ext/revisions.rb +2 -0
  1772. data/lib/active_support/cache/couchbase_store.rb +257 -348
  1773. data/lib/couchbase/analytics_options.rb +107 -0
  1774. data/lib/couchbase/authenticator.rb +65 -0
  1775. data/lib/couchbase/binary_collection.rb +128 -0
  1776. data/lib/couchbase/binary_collection_options.rb +24 -0
  1777. data/lib/couchbase/bucket.rb +104 -417
  1778. data/lib/couchbase/cluster.rb +415 -101
  1779. data/lib/couchbase/collection.rb +563 -0
  1780. data/lib/couchbase/collection_options.rb +344 -0
  1781. data/lib/couchbase/configuration.rb +57 -0
  1782. data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
  1783. data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
  1784. data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
  1785. data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
  1786. data/lib/couchbase/datastructures.rb +24 -0
  1787. data/lib/couchbase/diagnostics.rb +181 -0
  1788. data/lib/couchbase/errors.rb +351 -0
  1789. data/lib/couchbase/json_transcoder.rb +32 -0
  1790. data/lib/couchbase/logger.rb +42 -0
  1791. data/lib/couchbase/management/analytics_index_manager.rb +1127 -0
  1792. data/lib/couchbase/management/bucket_manager.rb +436 -0
  1793. data/lib/couchbase/management/collection_manager.rb +321 -0
  1794. data/lib/couchbase/management/query_index_manager.rb +522 -0
  1795. data/lib/couchbase/management/search_index_manager.rb +408 -0
  1796. data/lib/couchbase/management/user_manager.rb +449 -0
  1797. data/lib/couchbase/management/view_index_manager.rb +237 -0
  1798. data/lib/couchbase/management.rb +27 -0
  1799. data/lib/couchbase/mutation_state.rb +63 -0
  1800. data/lib/couchbase/options.rb +2232 -0
  1801. data/lib/couchbase/query_options.rb +120 -0
  1802. data/lib/couchbase/railtie.rb +45 -0
  1803. data/lib/couchbase/scope.rb +232 -0
  1804. data/lib/couchbase/search_options.rb +1571 -0
  1805. data/lib/couchbase/subdoc.rb +290 -0
  1806. data/lib/couchbase/utils/time.rb +56 -0
  1807. data/lib/couchbase/utils.rb +14 -55
  1808. data/lib/couchbase/version.rb +31 -15
  1809. data/lib/couchbase/view_options.rb +65 -0
  1810. data/lib/couchbase.rb +17 -152
  1811. data/lib/rails/generators/couchbase/config/config_generator.rb +27 -0
  1812. metadata +1830 -291
  1813. data/.gitignore +0 -15
  1814. data/.travis.yml +0 -22
  1815. data/.yardopts +0 -5
  1816. data/CONTRIBUTING.markdown +0 -75
  1817. data/Gemfile +0 -4
  1818. data/LICENSE +0 -201
  1819. data/Makefile +0 -3
  1820. data/README.markdown +0 -592
  1821. data/RELEASE_NOTES.markdown +0 -909
  1822. data/Rakefile +0 -20
  1823. data/couchbase.gemspec +0 -50
  1824. data/examples/chat-em/Gemfile +0 -7
  1825. data/examples/chat-em/README.markdown +0 -45
  1826. data/examples/chat-em/server.rb +0 -82
  1827. data/examples/chat-goliath-grape/Gemfile +0 -5
  1828. data/examples/chat-goliath-grape/README.markdown +0 -50
  1829. data/examples/chat-goliath-grape/app.rb +0 -67
  1830. data/examples/chat-goliath-grape/config/app.rb +0 -20
  1831. data/examples/transcoders/Gemfile +0 -3
  1832. data/examples/transcoders/README.markdown +0 -59
  1833. data/examples/transcoders/cb-zcat +0 -40
  1834. data/examples/transcoders/cb-zcp +0 -45
  1835. data/examples/transcoders/gzip_transcoder.rb +0 -49
  1836. data/examples/transcoders/options.rb +0 -54
  1837. data/ext/couchbase_ext/.gitignore +0 -4
  1838. data/ext/couchbase_ext/arguments.c +0 -979
  1839. data/ext/couchbase_ext/arithmetic.c +0 -316
  1840. data/ext/couchbase_ext/bucket.c +0 -1436
  1841. data/ext/couchbase_ext/context.c +0 -65
  1842. data/ext/couchbase_ext/couchbase_ext.c +0 -1480
  1843. data/ext/couchbase_ext/couchbase_ext.h +0 -678
  1844. data/ext/couchbase_ext/delete.c +0 -163
  1845. data/ext/couchbase_ext/eventmachine_plugin.c +0 -466
  1846. data/ext/couchbase_ext/extconf.rb +0 -194
  1847. data/ext/couchbase_ext/get.c +0 -316
  1848. data/ext/couchbase_ext/gethrtime.c +0 -129
  1849. data/ext/couchbase_ext/http.c +0 -432
  1850. data/ext/couchbase_ext/multithread_plugin.c +0 -1085
  1851. data/ext/couchbase_ext/n1ql.c +0 -117
  1852. data/ext/couchbase_ext/observe.c +0 -171
  1853. data/ext/couchbase_ext/result.c +0 -129
  1854. data/ext/couchbase_ext/stats.c +0 -163
  1855. data/ext/couchbase_ext/store.c +0 -542
  1856. data/ext/couchbase_ext/timer.c +0 -192
  1857. data/ext/couchbase_ext/touch.c +0 -186
  1858. data/ext/couchbase_ext/unlock.c +0 -176
  1859. data/ext/couchbase_ext/utils.c +0 -558
  1860. data/ext/couchbase_ext/version.c +0 -142
  1861. data/lib/action_dispatch/middleware/session/couchbase_store.rb +0 -38
  1862. data/lib/couchbase/connection_pool.rb +0 -58
  1863. data/lib/couchbase/constants.rb +0 -12
  1864. data/lib/couchbase/dns.rb +0 -76
  1865. data/lib/couchbase/result.rb +0 -26
  1866. data/lib/couchbase/transcoder.rb +0 -120
  1867. data/lib/couchbase/view.rb +0 -506
  1868. data/lib/couchbase/view_row.rb +0 -272
  1869. data/lib/ext/multi_json_fix.rb +0 -56
  1870. data/lib/rack/session/couchbase.rb +0 -108
  1871. data/tasks/benchmark.rake +0 -6
  1872. data/tasks/compile.rake +0 -153
  1873. data/tasks/test.rake +0 -100
  1874. data/tasks/util.rake +0 -21
  1875. data/test/profile/.gitignore +0 -1
  1876. data/test/profile/Gemfile +0 -6
  1877. data/test/profile/benchmark.rb +0 -195
  1878. data/test/setup.rb +0 -178
  1879. data/test/test_arithmetic.rb +0 -185
  1880. data/test/test_async.rb +0 -316
  1881. data/test/test_bucket.rb +0 -299
  1882. data/test/test_cas.rb +0 -235
  1883. data/test/test_couchbase.rb +0 -77
  1884. data/test/test_couchbase_connection_pool.rb +0 -77
  1885. data/test/test_couchbase_rails_cache_store.rb +0 -358
  1886. data/test/test_delete.rb +0 -120
  1887. data/test/test_errors.rb +0 -82
  1888. data/test/test_eventmachine.rb +0 -78
  1889. data/test/test_format.rb +0 -164
  1890. data/test/test_get.rb +0 -407
  1891. data/test/test_stats.rb +0 -57
  1892. data/test/test_store.rb +0 -224
  1893. data/test/test_timer.rb +0 -42
  1894. data/test/test_touch.rb +0 -97
  1895. data/test/test_unlock.rb +0 -119
  1896. data/test/test_utils.rb +0 -58
  1897. data/test/test_version.rb +0 -52
@@ -0,0 +1,2232 @@
1
+ # Copyright 2020-2021 Couchbase, Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "couchbase/utils/time"
16
+
17
+ module Couchbase
18
+ # Definition of the Option classes for data APIs
19
+ module Options # rubocop:disable Metrics/ModuleLength
20
+ # Base class for most of the options
21
+ class Base
22
+ attr_accessor :timeout # @return [Integer, #in_milliseconds, nil]
23
+ attr_accessor :retry_strategy # @return [Proc, nil]
24
+ attr_accessor :client_context # @return [Hash, nil]
25
+ attr_accessor :parent_span # @return [Span, nil]
26
+
27
+ # @param [Integer, #in_milliseconds, nil] timeout the time in milliseconds allowed for the operation to complete
28
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
29
+ # @param [Hash, nil] client_context the client context data, if set
30
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
31
+ #
32
+ # @yieldparam [Base]
33
+ def initialize(timeout: nil,
34
+ retry_strategy: nil,
35
+ client_context: nil,
36
+ parent_span: nil)
37
+ @timeout = timeout
38
+ @retry_strategy = retry_strategy
39
+ @client_context = client_context
40
+ @parent_span = parent_span
41
+ yield self if block_given?
42
+ end
43
+
44
+ # @api private
45
+ def to_backend
46
+ {
47
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
48
+ }
49
+ end
50
+ end
51
+
52
+ # Options for {Collection#get}
53
+ class Get < Base
54
+ attr_accessor :with_expiry # @return [Boolean]
55
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String, Integer)]
56
+
57
+ # Creates an instance of options for {Collection#get}
58
+ #
59
+ # @param [Array<String>] projections a list of paths that should be loaded if present.
60
+ # @param [Boolean] with_expiry if +true+ the expiration will be also fetched with {Collection#get}
61
+ # @param [JsonTranscoder, #decode(String, Integer)] transcoder used for decoding
62
+ #
63
+ # @param [Integer, #in_milliseconds, nil] timeout the time in milliseconds allowed for the operation to complete
64
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
65
+ # @param [Hash, nil] client_context the client context data, if set
66
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
67
+ #
68
+ # @yieldparam [Get] self
69
+ def initialize(projections: [],
70
+ with_expiry: false,
71
+ transcoder: JsonTranscoder.new,
72
+ timeout: nil,
73
+ retry_strategy: nil,
74
+ client_context: nil,
75
+ parent_span: nil)
76
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
77
+ @projections = projections
78
+ @with_expiry = with_expiry
79
+ @transcoder = transcoder
80
+ @preserve_array_indexes = false
81
+ yield self if block_given?
82
+ end
83
+
84
+ # Allows to specify a custom list paths to fetch from the document instead of the whole.
85
+ #
86
+ # Note that a maximum of 16 individual paths can be projected at a time due to a server limitation. If you need
87
+ # more than that, think about fetching less-generic paths or the full document straight away.
88
+ #
89
+ # @param [String, Array<String>] paths a path that should be loaded if present.
90
+ def project(*paths)
91
+ @projections ||= []
92
+ @projections |= paths.flatten # union with current projections
93
+ end
94
+
95
+ # @api private
96
+ # @return [Boolean] whether to use sparse arrays (default +false+)
97
+ attr_accessor :preserve_array_indexes
98
+
99
+ # @api private
100
+ # @return [Array<String>] list of paths to project
101
+ attr_accessor :projections
102
+
103
+ # @api private
104
+ # @return [Boolean]
105
+ def need_projected_get?
106
+ @with_expiry || !@projections&.empty?
107
+ end
108
+
109
+ # @api private
110
+ def to_backend
111
+ options = {
112
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
113
+ }
114
+ options.update(with_expiry: true) if @with_expiry
115
+ unless @projections&.empty?
116
+ options.update({
117
+ projections: @projections,
118
+ preserve_array_indexes: @preserve_array_indexes,
119
+ })
120
+ end
121
+ options
122
+ end
123
+ end
124
+
125
+ # Options for {Collection#get_multi}
126
+ class GetMulti < Base
127
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String, Integer)]
128
+
129
+ # Creates an instance of options for {Collection#get_multi}
130
+ #
131
+ # @param [JsonTranscoder, #decode(String, Integer)] transcoder used for decoding
132
+ #
133
+ # @param [Integer, #in_milliseconds, nil] timeout the time in milliseconds allowed for the operation to complete
134
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
135
+ # @param [Hash, nil] client_context the client context data, if set
136
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
137
+ #
138
+ # @yieldparam [GetMulti] self
139
+ def initialize(transcoder: JsonTranscoder.new,
140
+ timeout: nil,
141
+ retry_strategy: nil,
142
+ client_context: nil,
143
+ parent_span: nil)
144
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
145
+ @transcoder = transcoder
146
+ yield self if block_given?
147
+ end
148
+
149
+ # @api private
150
+ def to_backend
151
+ {
152
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
153
+ }
154
+ end
155
+ end
156
+
157
+ # Options for {Collection#get_and_lock}
158
+ class GetAndLock < Base
159
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String, Integer)]
160
+
161
+ # Creates an instance of options for {Collection#get_and_lock}
162
+ #
163
+ # @param [JsonTranscoder, #decode(String, Integer)] transcoder used for decoding
164
+ #
165
+ # @param [Integer, #in_milliseconds, nil] timeout
166
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
167
+ # @param [Hash, nil] client_context the client context data, if set
168
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
169
+ #
170
+ # @yieldparam [GetAndLock] self
171
+ def initialize(transcoder: JsonTranscoder.new,
172
+ timeout: nil,
173
+ retry_strategy: nil,
174
+ client_context: nil,
175
+ parent_span: nil)
176
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
177
+ @transcoder = transcoder
178
+ yield self if block_given?
179
+ end
180
+
181
+ # @api private
182
+ def to_backend
183
+ {
184
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
185
+ }
186
+ end
187
+ end
188
+
189
+ # Options for {Collection#get_and_touch}
190
+ class GetAndTouch < Base
191
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String, Integer)]
192
+
193
+ # Creates an instance of options for {Collection#get_and_touch}
194
+ #
195
+ # @param [JsonTranscoder, #decode(String, Integer)] transcoder used for decoding
196
+ #
197
+ # @param [Integer, #in_milliseconds, nil] timeout
198
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
199
+ # @param [Hash, nil] client_context the client context data, if set
200
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
201
+ #
202
+ # @yieldparam [GetAndTouch] self
203
+ def initialize(transcoder: JsonTranscoder.new,
204
+ timeout: nil,
205
+ retry_strategy: nil,
206
+ client_context: nil,
207
+ parent_span: nil)
208
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
209
+ @transcoder = transcoder
210
+ yield self if block_given?
211
+ end
212
+
213
+ # @api private
214
+ def to_backend
215
+ {
216
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
217
+ }
218
+ end
219
+ end
220
+
221
+ # Options for {Collection#get_all_replicas}
222
+ class GetAllReplicas < Base
223
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String, Integer)]
224
+
225
+ # Creates an instance of options for {Collection#get_all_replicas}
226
+ #
227
+ # @param [JsonTranscoder, #decode(String, Integer)] transcoder used for decoding
228
+ #
229
+ # @param [Integer, #in_milliseconds, nil] timeout
230
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
231
+ # @param [Hash, nil] client_context the client context data, if set
232
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
233
+ #
234
+ # @yieldparam [GetAllReplicas] self
235
+ def initialize(transcoder: JsonTranscoder.new,
236
+ timeout: nil,
237
+ retry_strategy: nil,
238
+ client_context: nil,
239
+ parent_span: nil)
240
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
241
+ @transcoder = transcoder
242
+ yield self if block_given?
243
+ end
244
+
245
+ # @api private
246
+ def to_backend
247
+ {
248
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
249
+ }
250
+ end
251
+ end
252
+
253
+ # Options for {Collection#get_any_replica}
254
+ class GetAnyReplica < Base
255
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String, Integer)]
256
+
257
+ # Creates an instance of options for {Collection#get_any_replica}
258
+ #
259
+ # @param [JsonTranscoder, #decode(String, Integer)] transcoder used for decoding
260
+ #
261
+ # @param [Integer, #in_milliseconds, nil] timeout
262
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
263
+ # @param [Hash, nil] client_context the client context data, if set
264
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
265
+ #
266
+ # @yieldparam [GetAnyReplica] self
267
+ def initialize(transcoder: JsonTranscoder.new,
268
+ timeout: nil,
269
+ retry_strategy: nil,
270
+ client_context: nil,
271
+ parent_span: nil)
272
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
273
+ @transcoder = transcoder
274
+ yield self if block_given?
275
+ end
276
+
277
+ # @api private
278
+ def to_backend
279
+ {
280
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
281
+ }
282
+ end
283
+ end
284
+
285
+ # Options for {Collection#exists}
286
+ class Exists < Base
287
+ # Creates an instance of options for {Collection#exists}
288
+ #
289
+ # @param [Integer, #in_milliseconds, nil] timeout
290
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
291
+ # @param [Hash, nil] client_context the client context data, if set
292
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
293
+ #
294
+ # @yieldparam [Exists self
295
+ def initialize(timeout: nil,
296
+ retry_strategy: nil,
297
+ client_context: nil,
298
+ parent_span: nil)
299
+ super
300
+ yield self if block_given?
301
+ end
302
+
303
+ # @api private
304
+ def to_backend
305
+ {
306
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
307
+ }
308
+ end
309
+ end
310
+
311
+ # Options for {Collection#touch}
312
+ class Touch < Base
313
+ # Creates an instance of options for {Collection#touch}
314
+ #
315
+ # @param [Integer, #in_milliseconds, nil] timeout
316
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
317
+ # @param [Hash, nil] client_context the client context data, if set
318
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
319
+ #
320
+ # @yieldparam [TouchOptions] self
321
+ def initialize(timeout: nil,
322
+ retry_strategy: nil,
323
+ client_context: nil,
324
+ parent_span: nil)
325
+ super
326
+ yield self if block_given?
327
+ end
328
+
329
+ # @api private
330
+ def to_backend
331
+ {
332
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
333
+ }
334
+ end
335
+ end
336
+
337
+ # Options for {Collection#unlock}
338
+ class Unlock < Base
339
+ # Creates an instance of options for {Collection#unlock}
340
+ #
341
+ # @param [Integer, #in_milliseconds, nil] timeout
342
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
343
+ # @param [Hash, nil] client_context the client context data, if set
344
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
345
+ #
346
+ # @yieldparam [Unlock] self
347
+ def initialize(timeout: nil,
348
+ retry_strategy: nil,
349
+ client_context: nil,
350
+ parent_span: nil)
351
+ super
352
+ yield self if block_given?
353
+ end
354
+
355
+ # @api private
356
+ def to_backend
357
+ {
358
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
359
+ }
360
+ end
361
+ end
362
+
363
+ # Options for {Collection#remove}
364
+ class Remove < Base
365
+ attr_accessor :cas # @return [Integer, nil]
366
+ attr_accessor :durability_level # @return [Symbol]
367
+
368
+ # Creates an instance of options for {Collection#remove}
369
+ #
370
+ # @param [Integer, nil] cas CAS value for optimistic locking
371
+ # @param [Symbol] durability_level level of durability
372
+ # +:none+::
373
+ # no enhanced durability required for the mutation
374
+ # +:majority+::
375
+ # the mutation must be replicated to a majority of the Data Service nodes
376
+ # (that is, held in the memory allocated to the bucket)
377
+ # +:majority_and_persist_to_active+::
378
+ # The mutation must be replicated to a majority of the Data Service nodes.
379
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
380
+ # node hosting the active partition (vBucket) for the data.
381
+ # +:persist_to_majority+::
382
+ # The mutation must be persisted to a majority of the Data Service nodes.
383
+ # Accordingly, it will be written to disk on those nodes.
384
+ #
385
+ # @param [Integer, #in_milliseconds, nil] timeout
386
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
387
+ # @param [Hash, nil] client_context the client context data, if set
388
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
389
+ #
390
+ # @yieldparam [Remove]
391
+ def initialize(cas: nil,
392
+ durability_level: :none,
393
+ timeout: nil,
394
+ retry_strategy: nil,
395
+ client_context: nil,
396
+ parent_span: nil)
397
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
398
+ @cas = cas
399
+ @durability_level = durability_level
400
+ yield self if block_given?
401
+ end
402
+
403
+ # @api private
404
+ def to_backend
405
+ {
406
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
407
+ durability_level: @durability_level,
408
+ cas: @cas,
409
+ }
410
+ end
411
+ end
412
+
413
+ # Options for {Collection#remove_multi}
414
+ class RemoveMulti < Base
415
+ attr_accessor :durability_level # @return [Symbol]
416
+
417
+ # Creates an instance of options for {Collection#remove}
418
+ #
419
+ # @param [Symbol] durability_level level of durability
420
+ # +:none+::
421
+ # no enhanced durability required for the mutation
422
+ # +:majority+::
423
+ # the mutation must be replicated to a majority of the Data Service nodes
424
+ # (that is, held in the memory allocated to the bucket)
425
+ # +:majority_and_persist_to_active+::
426
+ # The mutation must be replicated to a majority of the Data Service nodes.
427
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
428
+ # node hosting the active partition (vBucket) for the data.
429
+ # +:persist_to_majority+::
430
+ # The mutation must be persisted to a majority of the Data Service nodes.
431
+ # Accordingly, it will be written to disk on those nodes.
432
+ #
433
+ # @param [Integer, #in_milliseconds, nil] timeout
434
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
435
+ # @param [Hash, nil] client_context the client context data, if set
436
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
437
+ #
438
+ # @yieldparam [Remove]
439
+ def initialize(durability_level: :none,
440
+ timeout: nil,
441
+ retry_strategy: nil,
442
+ client_context: nil,
443
+ parent_span: nil)
444
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
445
+ @durability_level = durability_level
446
+ yield self if block_given?
447
+ end
448
+
449
+ # @api private
450
+ def to_backend
451
+ {
452
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
453
+ durability_level: @durability_level,
454
+ }
455
+ end
456
+ end
457
+
458
+ # Options for {Collection#insert}
459
+ class Insert < Base
460
+ attr_accessor :expiry # @return [Integer, #in_seconds, nil]
461
+ attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
462
+ attr_accessor :durability_level # @return [Symbol]
463
+
464
+ # Creates an instance of options for {Collection#insert}
465
+ #
466
+ # @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
467
+ # @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
468
+ # @param [Symbol] durability_level level of durability
469
+ # +:none+::
470
+ # no enhanced durability required for the mutation
471
+ # +:majority+::
472
+ # the mutation must be replicated to a majority of the Data Service nodes
473
+ # (that is, held in the memory allocated to the bucket)
474
+ # +:majority_and_persist_to_active+::
475
+ # The mutation must be replicated to a majority of the Data Service nodes.
476
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
477
+ # node hosting the active partition (vBucket) for the data.
478
+ # +:persist_to_majority+::
479
+ # The mutation must be persisted to a majority of the Data Service nodes.
480
+ # Accordingly, it will be written to disk on those nodes.
481
+ #
482
+ # @param [Integer, #in_milliseconds, nil] timeout
483
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
484
+ # @param [Hash, nil] client_context the client context data, if set
485
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
486
+ #
487
+ # @yieldparam [Insert]
488
+ def initialize(expiry: nil,
489
+ transcoder: JsonTranscoder.new,
490
+ durability_level: :none,
491
+ timeout: nil,
492
+ retry_strategy: nil,
493
+ client_context: nil,
494
+ parent_span: nil)
495
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
496
+ @expiry = Utils::Time.extract_expiry_time(expiry)
497
+ @transcoder = transcoder
498
+ @durability_level = durability_level
499
+ yield self if block_given?
500
+ end
501
+
502
+ # @api private
503
+ def to_backend
504
+ {
505
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
506
+ expiry: @expiry,
507
+ durability_level: @durability_level,
508
+ }
509
+ end
510
+ end
511
+
512
+ # Options for {Collection#upsert}
513
+ class Upsert < Base
514
+ attr_accessor :expiry # @return [Integer, #in_seconds, nil]
515
+ attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
516
+ attr_accessor :durability_level # @return [Symbol]
517
+ attr_accessor :preserve_expiry # @return [Boolean]
518
+
519
+ # Creates an instance of options for {Collection#upsert}
520
+ #
521
+ # @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
522
+ # @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
523
+ # for the document, otherwise will use {expiry} from the operation.
524
+ # @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
525
+ # @param [Symbol] durability_level level of durability
526
+ # +:none+::
527
+ # no enhanced durability required for the mutation
528
+ # +:majority+::
529
+ # the mutation must be replicated to a majority of the Data Service nodes
530
+ # (that is, held in the memory allocated to the bucket)
531
+ # +:majority_and_persist_to_active+::
532
+ # The mutation must be replicated to a majority of the Data Service nodes.
533
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
534
+ # node hosting the active partition (vBucket) for the data.
535
+ # +:persist_to_majority+::
536
+ # The mutation must be persisted to a majority of the Data Service nodes.
537
+ # Accordingly, it will be written to disk on those nodes.
538
+ #
539
+ # @param [Integer, #in_milliseconds, nil] timeout
540
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
541
+ # @param [Hash, nil] client_context the client context data, if set
542
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
543
+ #
544
+ # @yieldparam [Upsert]
545
+ def initialize(expiry: nil,
546
+ preserve_expiry: false,
547
+ transcoder: JsonTranscoder.new,
548
+ durability_level: :none,
549
+ timeout: nil,
550
+ retry_strategy: nil,
551
+ client_context: nil,
552
+ parent_span: nil)
553
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
554
+ @expiry = Utils::Time.extract_expiry_time(expiry)
555
+ @preserve_expiry = preserve_expiry
556
+ @transcoder = transcoder
557
+ @durability_level = durability_level
558
+ yield self if block_given?
559
+ end
560
+
561
+ def to_backend
562
+ {
563
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
564
+ expiry: @expiry,
565
+ preserve_expiry: @preserve_expiry,
566
+ durability_level: @durability_level,
567
+ }
568
+ end
569
+ end
570
+
571
+ # Options for {Collection#upsert_multi}
572
+ class UpsertMulti < Base
573
+ attr_accessor :expiry # @return [Integer, #in_seconds, nil]
574
+ attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
575
+ attr_accessor :durability_level # @return [Symbol]
576
+ attr_accessor :preserve_expiry # @return [Boolean]
577
+
578
+ # Creates an instance of options for {Collection#upsert}
579
+ #
580
+ # @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
581
+ # @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
582
+ # for the document, otherwise will use {expiry} from the operation.
583
+ # @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
584
+ # @param [Symbol] durability_level level of durability
585
+ # +:none+::
586
+ # no enhanced durability required for the mutation
587
+ # +:majority+::
588
+ # the mutation must be replicated to a majority of the Data Service nodes
589
+ # (that is, held in the memory allocated to the bucket)
590
+ # +:majority_and_persist_to_active+::
591
+ # The mutation must be replicated to a majority of the Data Service nodes.
592
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
593
+ # node hosting the active partition (vBucket) for the data.
594
+ # +:persist_to_majority+::
595
+ # The mutation must be persisted to a majority of the Data Service nodes.
596
+ # Accordingly, it will be written to disk on those nodes.
597
+ #
598
+ # @param [Integer, #in_milliseconds, nil] timeout
599
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
600
+ # @param [Hash, nil] client_context the client context data, if set
601
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
602
+ #
603
+ # @yieldparam [Upsert]
604
+ def initialize(expiry: nil,
605
+ preserve_expiry: false,
606
+ transcoder: JsonTranscoder.new,
607
+ durability_level: :none,
608
+ timeout: nil,
609
+ retry_strategy: nil,
610
+ client_context: nil,
611
+ parent_span: nil)
612
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
613
+ @expiry = Utils::Time.extract_expiry_time(expiry)
614
+ @preserve_expiry = preserve_expiry
615
+ @transcoder = transcoder
616
+ @durability_level = durability_level
617
+ yield self if block_given?
618
+ end
619
+
620
+ def to_backend
621
+ {
622
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
623
+ expiry: @expiry,
624
+ preserve_expiry: @preserve_expiry,
625
+ durability_level: @durability_level,
626
+ }
627
+ end
628
+ end
629
+
630
+ # Options for {Collection#replace}
631
+ class Replace < Base
632
+ attr_accessor :expiry # @return [Integer, #in_seconds, nil]
633
+ attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
634
+ attr_accessor :cas # @return [Integer, nil]
635
+ attr_accessor :durability_level # @return [Symbol]
636
+ attr_accessor :preserve_expiry # @return [Boolean]
637
+
638
+ # Creates an instance of options for {Collection#replace}
639
+ #
640
+ # @param [Integer, #in_seconds, nil] expiry expiration time to associate with the document
641
+ # @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
642
+ # for the document, otherwise will use {expiry} from the operation.
643
+ # @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
644
+ # @param [Integer, nil] cas a CAS value that will be taken into account on the server side for optimistic concurrency
645
+ # @param [Symbol] durability_level level of durability
646
+ # +:none+::
647
+ # no enhanced durability required for the mutation
648
+ # +:majority+::
649
+ # the mutation must be replicated to a majority of the Data Service nodes
650
+ # (that is, held in the memory allocated to the bucket)
651
+ # +:majority_and_persist_to_active+::
652
+ # The mutation must be replicated to a majority of the Data Service nodes.
653
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
654
+ # node hosting the active partition (vBucket) for the data.
655
+ # +:persist_to_majority+::
656
+ # The mutation must be persisted to a majority of the Data Service nodes.
657
+ # Accordingly, it will be written to disk on those nodes.
658
+ #
659
+ # @param [Integer, #in_milliseconds, nil] timeout
660
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
661
+ # @param [Hash, nil] client_context the client context data, if set
662
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
663
+ #
664
+ # @yieldparam [Replace]
665
+ def initialize(expiry: nil,
666
+ preserve_expiry: false,
667
+ transcoder: JsonTranscoder.new,
668
+ cas: nil,
669
+ durability_level: :none,
670
+ timeout: nil,
671
+ retry_strategy: nil,
672
+ client_context: nil,
673
+ parent_span: nil)
674
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
675
+ @expiry = Utils::Time.extract_expiry_time(expiry)
676
+ @preserve_expiry = preserve_expiry
677
+ @transcoder = transcoder
678
+ @cas = cas
679
+ @durability_level = durability_level
680
+ yield self if block_given?
681
+ end
682
+
683
+ def to_backend
684
+ {
685
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
686
+ expiry: @expiry,
687
+ preserve_expiry: @preserve_expiry,
688
+ durability_level: @durability_level,
689
+ cas: @cas,
690
+ }
691
+ end
692
+ end
693
+
694
+ # Options for {Collection#mutate_in}
695
+ class MutateIn < Base
696
+ attr_accessor :expiry # @return [Integer, #in_seconds, nil]
697
+ attr_accessor :store_semantics # @return [Symbol]
698
+ attr_accessor :cas # @return [Integer, nil]
699
+ attr_accessor :durability_level # @return [Symbol]
700
+ attr_accessor :transcoder # @return [JsonTranscoder, #encode(Object)]
701
+ attr_accessor :preserve_expiry # @return [Boolean]
702
+
703
+ # Creates an instance of options for {Collection#mutate_in}
704
+ #
705
+ # @param [Integer, #in_seconds, Time, nil] expiry expiration time to associate with the document
706
+ # @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
707
+ # for the document, otherwise will use {expiry} from the operation.
708
+ # @param [Symbol] store_semantics describes how the outer document store semantics on subdoc should act
709
+ # +:replace+:: replace the document, fail if it does not exist. This is the default
710
+ # +:upsert+:: replace the document or create if it does not exist
711
+ # +:insert+:: create the document, fail if it exists
712
+ # @param [Integer, nil] cas a CAS value that will be taken into account on the server side for optimistic concurrency
713
+ # @param [Boolean] access_deleted for internal use only: allows access to deleted documents that are in "tombstone" form
714
+ # @param [Boolean] create_as_deleted for internal use only: allows creating documents in "tombstone" form
715
+ # @param [Symbol] durability_level level of durability
716
+ # +:none+::
717
+ # no enhanced durability required for the mutation
718
+ # +:majority+::
719
+ # the mutation must be replicated to a majority of the Data Service nodes
720
+ # (that is, held in the memory allocated to the bucket)
721
+ # +:majority_and_persist_to_active+::
722
+ # The mutation must be replicated to a majority of the Data Service nodes.
723
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
724
+ # node hosting the active partition (vBucket) for the data.
725
+ # +:persist_to_majority+::
726
+ # The mutation must be persisted to a majority of the Data Service nodes.
727
+ # Accordingly, it will be written to disk on those nodes.
728
+ # @param [JsonTranscoder, #encode(Object)] transcoder used for encoding
729
+ #
730
+ # @param [Integer, #in_milliseconds, nil] timeout
731
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
732
+ # @param [Hash, nil] client_context the client context data, if set
733
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
734
+ #
735
+ # @yieldparam [MutateIn]
736
+ def initialize(expiry: nil,
737
+ preserve_expiry: false,
738
+ store_semantics: :replace,
739
+ cas: nil,
740
+ access_deleted: false,
741
+ create_as_deleted: false,
742
+ durability_level: :none,
743
+ transcoder: JsonTranscoder.new,
744
+ timeout: nil,
745
+ retry_strategy: nil,
746
+ client_context: nil,
747
+ parent_span: nil)
748
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
749
+ @expiry = Utils::Time.extract_expiry_time(expiry)
750
+ @preserve_expiry = preserve_expiry
751
+ @store_semantics = store_semantics
752
+ @cas = cas
753
+ @access_deleted = access_deleted
754
+ @create_as_deleted = create_as_deleted
755
+ @durability_level = durability_level
756
+ @transcoder = transcoder
757
+ yield self if block_given?
758
+ end
759
+
760
+ # @api private
761
+ def to_backend
762
+ {
763
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
764
+ expiry: @expiry,
765
+ preserve_expiry: @preserve_expiry,
766
+ durability_level: @durability_level,
767
+ cas: @cas,
768
+ store_semantics: @store_semantics,
769
+ access_deleted: @access_deleted,
770
+ create_as_deleted: @create_as_deleted,
771
+ }
772
+ end
773
+
774
+ # @api private
775
+ # @return [Boolean]
776
+ attr_accessor :access_deleted
777
+
778
+ # @api private
779
+ # @return [Boolean]
780
+ attr_accessor :create_as_deleted
781
+ end
782
+
783
+ # Options for {Collection#lookup_in}
784
+ class LookupIn < Base
785
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String)]
786
+
787
+ # Creates an instance of options for {Collection#lookup_in}
788
+ #
789
+ # @param [Boolean] access_deleted for internal use only: allows access to deleted documents that are in "tombstone" form
790
+ # @param [JsonTranscoder, #decode(String)] transcoder used for encoding
791
+ #
792
+ # @param [Integer, #in_milliseconds, nil] timeout
793
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
794
+ # @param [Hash, nil] client_context the client context data, if set
795
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
796
+ #
797
+ # @yieldparam [LookupIn] self
798
+ def initialize(access_deleted: false,
799
+ transcoder: JsonTranscoder.new,
800
+ timeout: nil,
801
+ retry_strategy: nil,
802
+ client_context: nil,
803
+ parent_span: nil)
804
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
805
+ @access_deleted = access_deleted
806
+ @transcoder = transcoder
807
+ yield self if block_given?
808
+ end
809
+
810
+ # @api private
811
+ def to_backend
812
+ {
813
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
814
+ access_deleted: @access_deleted,
815
+ }
816
+ end
817
+
818
+ # @api private
819
+ # @return [Boolean]
820
+ attr_accessor :access_deleted
821
+ end
822
+
823
+ # Options for {BinaryCollection#append}
824
+ class Append < Base
825
+ attr_accessor :cas # @return [Integer]
826
+
827
+ # Creates an instance of options for {BinaryCollection#append}
828
+ #
829
+ # @param [Integer] cas The default CAS used (0 means no CAS in this context)
830
+ #
831
+ # @param [Integer, #in_milliseconds, nil] timeout
832
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
833
+ # @param [Hash, nil] client_context the client context data, if set
834
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
835
+ #
836
+ # @yieldparam [Append] self
837
+ def initialize(cas: nil,
838
+ timeout: nil,
839
+ retry_strategy: nil,
840
+ client_context: nil,
841
+ parent_span: nil)
842
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
843
+ @cas = cas
844
+ yield self if block_given?
845
+ end
846
+
847
+ # @api private
848
+ def to_backend
849
+ {
850
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
851
+ cas: @cas,
852
+ }
853
+ end
854
+ end
855
+
856
+ # Options for {BinaryCollection#prepend}
857
+ class Prepend < Base
858
+ # @return [Integer] The default CAS used (0 means no CAS in this context)
859
+ attr_accessor :cas
860
+
861
+ # Creates an instance of options for {BinaryCollection#prepend}
862
+ #
863
+ # @param [Integer] cas The default CAS used (0 means no CAS in this context)
864
+ #
865
+ # @param [Integer, #in_milliseconds, nil] timeout
866
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
867
+ # @param [Hash, nil] client_context the client context data, if set
868
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
869
+ #
870
+ # @yieldparam [Prepend] self
871
+ def initialize(cas: nil,
872
+ timeout: nil,
873
+ retry_strategy: nil,
874
+ client_context: nil,
875
+ parent_span: nil)
876
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
877
+ @cas = cas
878
+ yield self if block_given?
879
+ end
880
+
881
+ # @api private
882
+ def to_backend
883
+ {
884
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
885
+ cas: @cas,
886
+ }
887
+ end
888
+ end
889
+
890
+ # Options for {BinaryCollection#increment}
891
+ class Increment < Base
892
+ attr_reader :delta # @return [Integer]
893
+ attr_accessor :initial # @return [Integer]
894
+ attr_accessor :expiry # @return [Integer, #in_seconds]
895
+ attr_accessor :durability_level # @return [Symbol]
896
+ attr_accessor :preserve_expiry # @return [Boolean]
897
+
898
+ # Creates an instance of options for {BinaryCollection#increment}
899
+ #
900
+ # @param [Integer] delta the delta for the operation
901
+ # @param [Integer] initial if present, holds the initial value
902
+ # @param [Integer, #in_seconds, Time, nil] expiry if set, holds the expiration for the operation
903
+ # @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
904
+ # for the document, otherwise will use {expiry} from the operation.
905
+ # @param [Symbol] durability_level level of durability
906
+ # +:none+::
907
+ # no enhanced durability required for the mutation
908
+ # +:majority+::
909
+ # the mutation must be replicated to a majority of the Data Service nodes
910
+ # (that is, held in the memory allocated to the bucket)
911
+ # +:majority_and_persist_to_active+::
912
+ # The mutation must be replicated to a majority of the Data Service nodes.
913
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
914
+ # node hosting the active partition (vBucket) for the data.
915
+ # +:persist_to_majority+::
916
+ # The mutation must be persisted to a majority of the Data Service nodes.
917
+ # Accordingly, it will be written to disk on those nodes.
918
+ #
919
+ # @param [Integer, #in_milliseconds, nil] timeout
920
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
921
+ # @param [Hash, nil] client_context the client context data, if set
922
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
923
+ #
924
+ # @yieldparam [Increment] self
925
+ def initialize(delta: 1,
926
+ initial: nil,
927
+ expiry: nil,
928
+ preserve_expiry: false,
929
+ durability_level: :none,
930
+ timeout: nil,
931
+ retry_strategy: nil,
932
+ client_context: nil,
933
+ parent_span: nil)
934
+ raise ArgumentError, "the delta cannot be less than 0" if delta.negative?
935
+
936
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
937
+ @delta = delta
938
+ @initial = initial
939
+ @expiry = Utils::Time.extract_expiry_time(expiry)
940
+ @preserve_expiry = preserve_expiry
941
+ @durability_level = durability_level
942
+ yield self if block_given?
943
+ end
944
+
945
+ # @param [Integer] value delta for the operation
946
+ def delta=(value)
947
+ raise ArgumentError, "the delta cannot be less than 0" if delta.negative?
948
+
949
+ @delta = value
950
+ end
951
+
952
+ # @api private
953
+ def to_backend
954
+ {
955
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
956
+ delta: @delta,
957
+ initial_value: @initial,
958
+ expiry: @expiry,
959
+ preserve_expiry: @preserve_expiry,
960
+ durability_level: @durability_level,
961
+ }
962
+ end
963
+ end
964
+
965
+ # Options for {BinaryCollection#decrement}
966
+ class Decrement < Base
967
+ attr_reader :delta # @return [Integer]
968
+ attr_accessor :initial # @return [Integer]
969
+ attr_accessor :expiry # @return [Integer, #in_seconds]
970
+ attr_accessor :durability_level # @return [Symbol]
971
+ attr_accessor :preserve_expiry # @return [Boolean]
972
+
973
+ # Creates an instance of options for {BinaryCollection#decrement}
974
+ #
975
+ # @param [Integer] delta the delta for the operation
976
+ # @param [Integer] initial if present, holds the initial value
977
+ # @param [Integer, #in_seconds, Time, nil] expiry if set, holds the expiration for the operation
978
+ # @param [Boolean] preserve_expiry if true and the document exists, the server will preserve current expiration
979
+ # for the document, otherwise will use {expiry} from the operation.
980
+ # @param [Symbol] durability_level level of durability
981
+ # +:none+::
982
+ # no enhanced durability required for the mutation
983
+ # +:majority+::
984
+ # the mutation must be replicated to a majority of the Data Service nodes
985
+ # (that is, held in the memory allocated to the bucket)
986
+ # +:majority_and_persist_to_active+::
987
+ # The mutation must be replicated to a majority of the Data Service nodes.
988
+ # Additionally, it must be persisted (that is, written and synchronised to disk) on the
989
+ # node hosting the active partition (vBucket) for the data.
990
+ # +:persist_to_majority+::
991
+ # The mutation must be persisted to a majority of the Data Service nodes.
992
+ # Accordingly, it will be written to disk on those nodes.
993
+ #
994
+ # @param [Integer, #in_milliseconds, nil] timeout
995
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
996
+ # @param [Hash, nil] client_context the client context data, if set
997
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
998
+ #
999
+ # @yieldparam [Decrement] self
1000
+ def initialize(delta: 1,
1001
+ initial: nil,
1002
+ expiry: nil,
1003
+ preserve_expiry: false,
1004
+ durability_level: :none,
1005
+ timeout: nil,
1006
+ retry_strategy: nil,
1007
+ client_context: nil,
1008
+ parent_span: nil)
1009
+ raise ArgumentError, "the delta cannot be less than 0" if delta.negative?
1010
+
1011
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
1012
+ @delta = delta
1013
+ @initial = initial
1014
+ @expiry = Utils::Time.extract_expiry_time(expiry)
1015
+ @preserve_expiry = preserve_expiry
1016
+ @durability_level = durability_level
1017
+ yield self if block_given?
1018
+ end
1019
+
1020
+ # @param [Integer] value delta for the operation
1021
+ def delta=(value)
1022
+ raise ArgumentError, "the delta cannot be less than 0" if delta.negative?
1023
+
1024
+ @delta = value
1025
+ end
1026
+
1027
+ # @api private
1028
+ def to_backend
1029
+ {
1030
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
1031
+ delta: @delta,
1032
+ initial_value: @initial,
1033
+ expiry: @expiry,
1034
+ preserve_expiry: @preserve_expiry,
1035
+ durability_level: @durability_level,
1036
+ }
1037
+ end
1038
+ end
1039
+
1040
+ # Options for {Datastructures::CouchbaseList#initialize}
1041
+ class CouchbaseList
1042
+ attr_accessor :get_options # @return [Get]
1043
+ attr_accessor :remove_options # @return [Remove]
1044
+ attr_accessor :lookup_in_options # @return [LookupIn]
1045
+ attr_accessor :mutate_in_options # @return [MutateIn]
1046
+
1047
+ # Creates an instance of options for {CouchbaseList#initialize}
1048
+ #
1049
+ # @param [Get] get_options
1050
+ # @param [Remove] remove_options
1051
+ # @param [LookupIn] lookup_in_options
1052
+ # @param [MutateIn] mutate_in_options
1053
+ #
1054
+ # @yieldparam [CouchbaseList]
1055
+ def initialize(get_options: Get.new,
1056
+ remove_options: Remove.new,
1057
+ lookup_in_options: LookupIn.new,
1058
+ mutate_in_options: MutateIn.new(store_semantics: :upsert))
1059
+ @get_options = get_options
1060
+ @remove_options = remove_options
1061
+ @lookup_in_options = lookup_in_options
1062
+ @mutate_in_options = mutate_in_options
1063
+ yield self if block_given?
1064
+ end
1065
+ end
1066
+
1067
+ # Options for {Datastructures::CouchbaseMap#initialize}
1068
+ class CouchbaseMap
1069
+ attr_accessor :get_options # @return [Get]
1070
+ attr_accessor :remove_options # @return [Remove]
1071
+ attr_accessor :lookup_in_options # @return [LookupIn]
1072
+ attr_accessor :mutate_in_options # @return [MutateIn]
1073
+
1074
+ # Creates an instance of options for {CouchbaseMap#initialize}
1075
+ #
1076
+ # @param [Get] get_options
1077
+ # @param [Remove] remove_options
1078
+ # @param [LookupIn] lookup_in_options
1079
+ # @param [MutateIn] mutate_in_options
1080
+ #
1081
+ # @yieldparam [CouchbaseMap]
1082
+ def initialize(get_options: Get.new,
1083
+ remove_options: Remove.new,
1084
+ lookup_in_options: LookupIn.new,
1085
+ mutate_in_options: MutateIn.new(store_semantics: :upsert))
1086
+ @get_options = get_options
1087
+ @remove_options = remove_options
1088
+ @lookup_in_options = lookup_in_options
1089
+ @mutate_in_options = mutate_in_options
1090
+ yield self if block_given?
1091
+ end
1092
+ end
1093
+
1094
+ # Options for {Datastructures::CouchbaseQueue#initialize}
1095
+ class CouchbaseQueue
1096
+ attr_accessor :get_options # @return [Get]
1097
+ attr_accessor :remove_options # @return [Remove]
1098
+ attr_accessor :lookup_in_options # @return [LookupIn]
1099
+ attr_accessor :mutate_in_options # @return [MutateIn]
1100
+
1101
+ # Creates an instance of options for {CouchbaseQueue#initialize}
1102
+ #
1103
+ # @param [Get] get_options
1104
+ # @param [Remove] remove_options
1105
+ # @param [LookupIn] lookup_in_options
1106
+ # @param [MutateIn] mutate_in_options
1107
+ #
1108
+ # @yieldparam [CouchbaseQueue]
1109
+ def initialize(get_options: Get.new,
1110
+ remove_options: Remove.new,
1111
+ lookup_in_options: LookupIn.new,
1112
+ mutate_in_options: MutateIn.new(store_semantics: :upsert))
1113
+ @get_options = get_options
1114
+ @remove_options = remove_options
1115
+ @lookup_in_options = lookup_in_options
1116
+ @mutate_in_options = mutate_in_options
1117
+ yield self if block_given?
1118
+ end
1119
+ end
1120
+
1121
+ # Options for {Datastructures::CouchbaseSet#initialize}
1122
+ class CouchbaseSet
1123
+ attr_accessor :get_options # @return [Get]
1124
+ attr_accessor :remove_options # @return [Remove]
1125
+ attr_accessor :lookup_in_options # @return [LookupIn]
1126
+ attr_accessor :mutate_in_options # @return [MutateIn]
1127
+
1128
+ # Creates an instance of options for {CouchbaseSet#initialize}
1129
+ #
1130
+ # @param [Get] get_options
1131
+ # @param [Remove] remove_options
1132
+ # @param [LookupIn] lookup_in_options
1133
+ # @param [MutateIn] mutate_in_options
1134
+ #
1135
+ # @yieldparam [CouchbaseSet]
1136
+ def initialize(get_options: Get.new,
1137
+ remove_options: Remove.new,
1138
+ lookup_in_options: LookupIn.new,
1139
+ mutate_in_options: MutateIn.new(store_semantics: :upsert))
1140
+ @get_options = get_options
1141
+ @remove_options = remove_options
1142
+ @lookup_in_options = lookup_in_options
1143
+ @mutate_in_options = mutate_in_options
1144
+ yield self if block_given?
1145
+ end
1146
+ end
1147
+
1148
+ # Options for {Couchbase::Cluster.connect}
1149
+ class Cluster
1150
+ attr_accessor :authenticator # @return [PasswordAuthenticator, CertificateAuthenticator]
1151
+
1152
+ attr_accessor :enable_metrics # @return [Boolean]
1153
+ attr_accessor :metrics_emit_interval # @return [nil, Integer, #in_milliseconds]
1154
+ attr_accessor :enable_tracing # @return [Boolean]
1155
+ attr_accessor :orphaned_emit_interval # @return [nil, Integer, #in_milliseconds]
1156
+ attr_accessor :orphaned_sample_size # @return [nil, Integer]
1157
+ attr_accessor :threshold_emit_interval # @return [nil, Integer, #in_milliseconds]
1158
+ attr_accessor :threshold_sample_size # @return [nil, Integer]
1159
+ attr_accessor :key_value_threshold # @return [nil, Integer, #in_milliseconds]
1160
+ attr_accessor :query_threshold # @return [nil, Integer, #in_milliseconds]
1161
+ attr_accessor :view_threshold # @return [nil, Integer, #in_milliseconds]
1162
+ attr_accessor :search_threshold # @return [nil, Integer, #in_milliseconds]
1163
+ attr_accessor :analytics_threshold # @return [nil, Integer, #in_milliseconds]
1164
+ attr_accessor :management_threshold # @return [nil, Integer, #in_milliseconds]
1165
+
1166
+ # Creates an instance of options for {Couchbase::Cluster.connect}
1167
+ #
1168
+ # @param [PasswordAuthenticator, CertificateAuthenticator] authenticator
1169
+ #
1170
+ # @yieldparam [Cluster] self
1171
+ def initialize(authenticator: nil,
1172
+ enable_metrics: nil,
1173
+ metrics_emit_interval: nil,
1174
+ enable_tracing: nil,
1175
+ orphaned_emit_interval: nil,
1176
+ orphaned_sample_size: nil,
1177
+ threshold_emit_interval: nil,
1178
+ threshold_sample_size: nil,
1179
+ key_value_threshold: nil,
1180
+ query_threshold: nil,
1181
+ view_threshold: nil,
1182
+ search_threshold: nil,
1183
+ analytics_threshold: nil,
1184
+ management_threshold: nil)
1185
+ @authenticator = authenticator
1186
+ @enable_metrics = enable_metrics
1187
+ @metrics_emit_interval = metrics_emit_interval
1188
+ @enable_tracing = enable_tracing
1189
+ @orphaned_emit_interval = orphaned_emit_interval
1190
+ @orphaned_sample_size = orphaned_sample_size
1191
+ @threshold_emit_interval = threshold_emit_interval
1192
+ @threshold_sample_size = threshold_sample_size
1193
+ @key_value_threshold = key_value_threshold
1194
+ @query_threshold = query_threshold
1195
+ @view_threshold = view_threshold
1196
+ @search_threshold = search_threshold
1197
+ @analytics_threshold = analytics_threshold
1198
+ @management_threshold = management_threshold
1199
+ yield self if block_given?
1200
+ end
1201
+
1202
+ # @param [String] username
1203
+ # @param [String] password
1204
+ def authenticate(username, password)
1205
+ @authenticator = PasswordAuthenticator.new(username, password)
1206
+ end
1207
+
1208
+ # @api private
1209
+ def to_backend
1210
+ {
1211
+ enable_metrics: @enable_metrics,
1212
+ metrics_emit_interval: Utils::Time.extract_duration(@metrics_emit_interval),
1213
+ enable_tracing: @enable_tracing,
1214
+ orphaned_emit_interval: Utils::Time.extract_duration(@orphaned_emit_interval),
1215
+ orphaned_sample_size: @orphaned_sample_size,
1216
+ threshold_emit_interval: Utils::Time.extract_duration(@threshold_emit_interval),
1217
+ threshold_sample_size: @threshold_sample_size,
1218
+ key_value_threshold: Utils::Time.extract_duration(@key_value_threshold),
1219
+ query_threshold: Utils::Time.extract_duration(@query_threshold),
1220
+ view_threshold: Utils::Time.extract_duration(@view_threshold),
1221
+ search_threshold: Utils::Time.extract_duration(@search_threshold),
1222
+ analytics_threshold: Utils::Time.extract_duration(@analytics_threshold),
1223
+ management_threshold: Utils::Time.extract_duration(@management_threshold),
1224
+ }
1225
+ end
1226
+ end
1227
+
1228
+ # Options for {Couchbase::Cluster#diagnostics}
1229
+ class Diagnostics
1230
+ attr_accessor :report_id # @return [String]
1231
+
1232
+ # Creates an instance of options for {Couchbase::Cluster#diagnostics}
1233
+ #
1234
+ # @param [String] report_id Holds custom report ID.
1235
+ #
1236
+ # @yieldparam [Diagnostics] self
1237
+ def initialize(report_id: nil)
1238
+ @report_id = report_id
1239
+ yield self if block_given?
1240
+ end
1241
+ end
1242
+
1243
+ # Options for {Couchbase::Bucket#ping}
1244
+ class Ping
1245
+ attr_accessor :report_id # @return [String]
1246
+ attr_accessor :service_types # @return [Array<Symbol>]
1247
+ attr_accessor :timeout # @return [Integer, #in_milliseconds]
1248
+
1249
+ # Creates an instance of options for {Couchbase::Bucket#ping}
1250
+ #
1251
+ # @param [String] report_id Holds custom report id.
1252
+ # @@param [Array<Symbol>] service_types The service types to limit this diagnostics request
1253
+ # @param [Integer, #in_milliseconds] timeout
1254
+ #
1255
+ # @yieldparam [Ping] self
1256
+ def initialize(report_id: nil,
1257
+ service_types: [:kv, :query, :analytics, :search, :views, :management],
1258
+ timeout: nil)
1259
+ @report_id = report_id
1260
+ @service_types = service_types
1261
+ @timeout = timeout
1262
+ yield self if block_given?
1263
+ end
1264
+
1265
+ # @api private
1266
+ def to_backend
1267
+ {
1268
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
1269
+ service_types: @service_types,
1270
+ report_id: @report_id,
1271
+ }
1272
+ end
1273
+ end
1274
+
1275
+ # Options for {Couchbase::Cluster#analytics_query}
1276
+ class Analytics < Base
1277
+ attr_accessor :client_context_id # @return [String]
1278
+ attr_accessor :scan_consistency # @return [Symbol]
1279
+ attr_accessor :readonly # @return [Boolean]
1280
+ attr_accessor :priority # @return [Boolean]
1281
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String)]
1282
+ attr_accessor :scope_qualifier # @return [String]
1283
+
1284
+ # Creates new instance of options for {Couchbase::Cluster#analytics_query}
1285
+ #
1286
+ # @param [String] client_context_id provides a custom client context ID for this query
1287
+ # @param [Symbol] scan_consistency specifies level of consistency for the query
1288
+ # +:not_bounded+::
1289
+ # The index will return whatever state it has to the analytics query engine at the time of query.
1290
+ #
1291
+ # This is the default (for single-statement requests). No timestamp vector is used in the index scan.
1292
+ # This is also the fastest mode, because we avoid the cost of obtaining the vector, and we also avoid
1293
+ # any wait for the index
1294
+ # +:request_plus+::
1295
+ # The index will wait until all mutations have been processed at the time of request before being processed
1296
+ # in the analytics query engine.
1297
+ #
1298
+ # This implements strong consistency per request. Before processing the request, a current vector is obtained.
1299
+ # The vector is used as a lower bound for the statements in the request.
1300
+ # @param [Boolean] readonly allows explicitly marking a query as being readonly and not mutating any documents on
1301
+ # the server side.
1302
+ # @param [Boolean] priority allows to give certain requests higher priority than others
1303
+ # @param [JsonTranscoder] transcoder to decode rows
1304
+ # @param [Array<#to_json>, nil] positional_parameters parameters to be used as substitution for numbered macros
1305
+ # like +$1+, +$2+ in query string
1306
+ # @param [Hash<String => #to_json>, nil] named_parameters parameters to be used as substitution for named macros
1307
+ # like +$name+ in query string
1308
+ # @param [String, nil] scope_qualifier Associate scope qualifier (also known as +query_context+) with the query.
1309
+ # The qualifier must be in form +{bucket_name}.{scope_name}+ or +default:{bucket_name}.{scope_name}+.
1310
+ #
1311
+ # @param [Integer, #in_milliseconds, nil] timeout
1312
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
1313
+ # @param [Hash, nil] client_context the client context data, if set
1314
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
1315
+ #
1316
+ # @note Either +positional_parameters+ or +named_parameters+ may be specified.
1317
+ #
1318
+ # @yieldparam [Analytics] self
1319
+ def initialize(client_context_id: nil,
1320
+ scan_consistency: nil,
1321
+ readonly: false,
1322
+ priority: nil,
1323
+ transcoder: JsonTranscoder.new,
1324
+ positional_parameters: nil,
1325
+ named_parameters: nil,
1326
+ scope_qualifier: nil,
1327
+ timeout: nil,
1328
+ retry_strategy: nil,
1329
+ client_context: nil,
1330
+ parent_span: nil)
1331
+ raise ArgumentError, "Cannot pass positional and named parameters at the same time" if positional_parameters && named_parameters
1332
+
1333
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
1334
+ @client_context_id = client_context_id
1335
+ @scan_consistency = scan_consistency
1336
+ @readonly = readonly
1337
+ @priority = priority
1338
+ @transcoder = transcoder
1339
+ @positional_parameters = positional_parameters
1340
+ @named_parameters = named_parameters
1341
+ @scope_qualifier = scope_qualifier
1342
+ @raw_parameters = {}
1343
+ yield self if block_given?
1344
+ end
1345
+
1346
+ # Sets positional parameters for the query
1347
+ #
1348
+ # @param [Array] positional the list of parameters that have to be substituted in the statement
1349
+ def positional_parameters(positional)
1350
+ @positional_parameters = positional
1351
+ @named_parameters = nil
1352
+ end
1353
+
1354
+ # Sets named parameters for the query
1355
+ #
1356
+ # @param [Hash] named the key/value map of the parameters to substitute in the statement
1357
+ def named_parameters(named)
1358
+ @named_parameters = named
1359
+ @positional_parameters = nil
1360
+ end
1361
+
1362
+ # Allows providing custom JSON key/value pairs for advanced usage
1363
+ #
1364
+ # @param [String] key the parameter name (key of the JSON property)
1365
+ # @param [Object] value the parameter value (value of the JSON property)
1366
+ def raw(key, value)
1367
+ @raw_parameters[key] = JSON.generate(value)
1368
+ end
1369
+
1370
+ # @api private
1371
+ def to_backend(scope_name: nil, bucket_name: nil)
1372
+ {
1373
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
1374
+ client_context_id: @client_context_id,
1375
+ scan_consistency: @scan_consistency,
1376
+ readonly: @readonly,
1377
+ priority: @priority,
1378
+ positional_parameters: export_positional_parameters,
1379
+ named_parameters: export_named_parameters,
1380
+ raw_parameters: @raw_parameters,
1381
+ scope_qualifier: @scope_qualifier,
1382
+ scope_name: scope_name,
1383
+ bucket_name: bucket_name,
1384
+ }
1385
+ end
1386
+
1387
+ private
1388
+
1389
+ # @api private
1390
+ # @return [Array<String>, nil]
1391
+ def export_positional_parameters
1392
+ @positional_parameters&.map { |p| JSON.dump(p) }
1393
+ end
1394
+
1395
+ # @api private
1396
+ # @return [Hash<String => String>, nil]
1397
+ def export_named_parameters
1398
+ @named_parameters&.each_with_object({}) { |(n, v), o| o[n.to_s] = JSON.dump(v) }
1399
+ end
1400
+
1401
+ # @api private
1402
+ # @return [Hash<String => #to_json>]
1403
+ attr_reader :raw_parameters
1404
+ end
1405
+
1406
+ # Options for {Couchbase::Cluster#query}
1407
+ class Query < Base
1408
+ attr_accessor :adhoc # @return [Boolean]
1409
+ attr_accessor :client_context_id # @return [String]
1410
+ attr_accessor :max_parallelism # @return [Integer]
1411
+ attr_accessor :readonly # @return [Boolean]
1412
+ attr_accessor :scan_wait # @return [Integer, #in_milliseconds]
1413
+ attr_accessor :scan_cap # @return [Integer]
1414
+ attr_accessor :pipeline_batch # @return [Integer]
1415
+ attr_accessor :pipeline_cap # @return [Integer]
1416
+ attr_accessor :metrics # @return [Boolean]
1417
+ attr_accessor :profile # @return [Symbol]
1418
+ attr_accessor :flex_index # @return [Boolean]
1419
+ attr_accessor :preserve_expiry # @return [Boolean]
1420
+ attr_accessor :scope_qualifier # @return [String]
1421
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String)]
1422
+
1423
+ # Creates new instance of options for {Couchbase::Cluster#query}
1424
+ #
1425
+ # @param [Boolean] adhoc allows turning this request into a prepared statement query
1426
+ # @param [String, nil] client_context_id provides a custom client context ID for this query
1427
+ # @param [Integer, nil] max_parallelism allows overriding the default maximum parallelism for the query execution
1428
+ # on the server side.
1429
+ # @param [Boolean, nil] readonly allows explicitly marking a query as being readonly and not mutating any
1430
+ # documents on the server side.
1431
+ # @param [Integer, #in_milliseconds, nil] scan_wait The maximum duration (in milliseconds) the query engine
1432
+ # is willing to wait before failing. Allows customizing how long (in milliseconds) the query engine is willing
1433
+ # to wait until the index catches up to whatever scan consistency is asked for in this query. Note that if
1434
+ # +:not_bounded+ consistency level is used, this method doesn't do anything at all. If no value is provided to
1435
+ # this method, the server default is used.
1436
+ # @param [Integer, nil] scan_cap customize the maximum buffered channel size between the indexer and the query
1437
+ # service
1438
+ # @param [Integer, nil] pipeline_cap customize the number of items execution operators can batch for fetch
1439
+ # from the Key Value layer on the server.
1440
+ # @param [Integer, nil] pipeline_batch customize the maximum number of items each execution operator can buffer
1441
+ # between various operators on the server.
1442
+ # @param [Boolean, nil] metrics enables per-request metrics in the trailing section of the query
1443
+ # @param [Symbol] profile customize server profile level for this query
1444
+ # +:off+::
1445
+ # No profiling information is added to the query response
1446
+ # +:phases+::
1447
+ # The query response includes a profile section with stats and details about various phases of the query plan
1448
+ # and execution. Three phase times will be included in the +system:active_requests+ and
1449
+ # +system:completed_requests+ monitoring keyspaces.
1450
+ # +:timings+::
1451
+ # Besides the phase times, the profile section of the query response document will include a full query plan
1452
+ # with timing and information about the number of processed documents at each phase. This information will be
1453
+ # included in the system:active_requests and system:completed_requests keyspaces.
1454
+ # @param [Symbol, nil] scan_consistency Sets the mutation tokens this query should be consistent with. Overrides
1455
+ # +mutation_state+.
1456
+ # +:not_bounded+::
1457
+ # The indexer will return whatever state it has to the query engine at the time of query. This is the default
1458
+ # (for single-statement requests).
1459
+ # +:request_plus+::
1460
+ # The indexer will wait until all mutations have been processed at the time of request before returning to
1461
+ # the query engine.
1462
+ # @param [Boolean, nil] flex_index Tells the query engine to use a flex index (utilizing the search service)
1463
+ # @param [Boolean, nil] preserve_expiry Tells the query engine to preserve expiration values set on any documents
1464
+ # modified by this query.
1465
+ # @param [String, nil] scope_qualifier Associate scope qualifier (also known as +query_context+) with the query.
1466
+ # The qualifier must be in form +{bucket_name}.{scope_name}+ or +default:{bucket_name}.{scope_name}+.
1467
+ # @param [JsonTranscoder] transcoder to decode rows
1468
+ # @param [Array<#to_json>, nil] positional_parameters parameters to be used as substitution for numbered macros
1469
+ # like +$1+, +$2+ in query string
1470
+ # @param [Hash<String => #to_json>, nil] named_parameters parameters to be used as substitution for named macros
1471
+ # like +$name+ in query string.
1472
+ #
1473
+ # @param [MutationState, nil] mutation_state Sets the mutation tokens this query should be consistent with.
1474
+ # Overrides +scan_consistency+.
1475
+ #
1476
+ # @param [Integer, #in_milliseconds, nil] timeout
1477
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
1478
+ # @param [Hash, nil] client_context the client context data, if set
1479
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
1480
+ #
1481
+ # @note Either +positional_parameters+ or +named_parameters+ may be specified.
1482
+ #
1483
+ # @yieldparam [Query] self
1484
+ def initialize(adhoc: true,
1485
+ client_context_id: nil,
1486
+ max_parallelism: nil,
1487
+ readonly: false,
1488
+ scan_wait: nil,
1489
+ scan_cap: nil,
1490
+ pipeline_cap: nil,
1491
+ pipeline_batch: nil,
1492
+ metrics: nil,
1493
+ profile: :off,
1494
+ flex_index: nil,
1495
+ preserve_expiry: nil,
1496
+ scope_qualifier: nil,
1497
+ scan_consistency: :not_bounded,
1498
+ mutation_state: nil,
1499
+ transcoder: JsonTranscoder.new,
1500
+ positional_parameters: nil,
1501
+ named_parameters: nil,
1502
+ timeout: nil,
1503
+ retry_strategy: nil,
1504
+ client_context: nil,
1505
+ parent_span: nil)
1506
+ raise ArgumentError, "Cannot pass positional and named parameters at the same time" if positional_parameters && named_parameters
1507
+
1508
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
1509
+ @adhoc = adhoc
1510
+ @client_context_id = client_context_id
1511
+ @max_parallelism = max_parallelism
1512
+ @readonly = readonly
1513
+ @scan_wait = scan_wait
1514
+ @scan_cap = scan_cap
1515
+ @pipeline_cap = pipeline_cap
1516
+ @pipeline_batch = pipeline_batch
1517
+ @metrics = metrics
1518
+ @profile = profile
1519
+ @flex_index = flex_index
1520
+ @preserve_expiry = preserve_expiry
1521
+ @scope_qualifier = scope_qualifier
1522
+ @scan_consistency = scan_consistency
1523
+ @mutation_state = mutation_state
1524
+ @transcoder = transcoder
1525
+ @positional_parameters = positional_parameters
1526
+ @named_parameters = named_parameters
1527
+ @raw_parameters = {}
1528
+ yield self if block_given?
1529
+ end
1530
+
1531
+ # Allows providing custom JSON key/value pairs for advanced usage
1532
+ #
1533
+ # @param [String] key the parameter name (key of the JSON property)
1534
+ # @param [Object] value the parameter value (value of the JSON property)
1535
+ def raw(key, value)
1536
+ @raw_parameters[key] = JSON.generate(value)
1537
+ end
1538
+
1539
+ # Customizes the consistency guarantees for this query
1540
+ #
1541
+ # @note overrides consistency level set by {#consistent_with}
1542
+ #
1543
+ # [+:not_bounded+] The indexer will return whatever state it has to the query engine at the time of query. This is the default (for
1544
+ # single-statement requests).
1545
+ #
1546
+ # [+:request_plus+] The indexer will wait until all mutations have been processed at the time of request before returning to the query
1547
+ # engine.
1548
+ #
1549
+ # @param [:not_bounded, :request_plus] level the index scan consistency to be used for this query
1550
+ def scan_consistency=(level)
1551
+ @mutation_state = nil if @mutation_state
1552
+ @scan_consistency = level
1553
+ end
1554
+
1555
+ # Sets the mutation tokens this query should be consistent with
1556
+ #
1557
+ # @note overrides consistency level set by {#scan_consistency=}
1558
+ #
1559
+ # @param [MutationState] mutation_state the mutation state containing the mutation tokens
1560
+ def consistent_with(mutation_state)
1561
+ @scan_consistency = nil if @scan_consistency
1562
+ @mutation_state = mutation_state
1563
+ end
1564
+
1565
+ # Sets positional parameters for the query
1566
+ #
1567
+ # @param [Array] positional the list of parameters that have to be substituted in the statement
1568
+ def positional_parameters(positional)
1569
+ @positional_parameters = positional
1570
+ @named_parameters = nil
1571
+ end
1572
+
1573
+ # @api private
1574
+ # @return [Array<String>, nil]
1575
+ def export_positional_parameters
1576
+ @positional_parameters&.map { |p| JSON.dump(p) }
1577
+ end
1578
+
1579
+ # Sets named parameters for the query
1580
+ #
1581
+ # @param [Hash] named the key/value map of the parameters to substitute in the statement
1582
+ def named_parameters(named)
1583
+ @named_parameters = named
1584
+ @positional_parameters = nil
1585
+ end
1586
+
1587
+ # @api private
1588
+ # @return [Hash<String => String>, nil]
1589
+ def export_named_parameters
1590
+ @named_parameters&.each_with_object({}) { |(n, v), o| o[n.to_s] = JSON.dump(v) }
1591
+ end
1592
+
1593
+ # @api private
1594
+ # @return [MutationState]
1595
+ attr_reader :mutation_state
1596
+
1597
+ # @api private
1598
+ # @return [Hash<String => #to_json>]
1599
+ attr_reader :raw_parameters
1600
+
1601
+ # @api private
1602
+ def to_backend(scope_name: nil, bucket_name: nil)
1603
+ {
1604
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
1605
+ adhoc: @adhoc,
1606
+ client_context_id: @client_context_id,
1607
+ max_parallelism: @max_parallelism,
1608
+ readonly: @readonly,
1609
+ flex_index: @flex_index,
1610
+ preserve_expiry: @preserve_expiry,
1611
+ scan_wait: @scan_wait.respond_to?(:in_milliseconds) ? @scan_wait.public_send(:in_milliseconds) : @scan_wait,
1612
+ scan_cap: @scan_cap,
1613
+ pipeline_batch: @pipeline_batch,
1614
+ pipeline_cap: @pipeline_cap,
1615
+ metrics: @metrics,
1616
+ profile: @profile,
1617
+ positional_parameters: export_positional_parameters,
1618
+ named_parameters: export_named_parameters,
1619
+ raw_parameters: @raw_parameters,
1620
+ scan_consistency: @scan_consistency,
1621
+ mutation_state: @mutation_state&.to_a,
1622
+ scope_qualifier: @scope_qualifier,
1623
+ scope_name: scope_name,
1624
+ bucket_name: bucket_name,
1625
+ }
1626
+ end
1627
+ end
1628
+
1629
+ # Options for {Couchbase::Cluster#search_query}
1630
+ class Search < Base
1631
+ attr_accessor :limit # @return [Integer]
1632
+ attr_accessor :skip # @return [Integer]
1633
+ attr_accessor :explain # @return [Boolean]
1634
+ attr_accessor :highlight_style # @return [Symbol]
1635
+ attr_accessor :highlight_fields # @return [Array<String>]
1636
+ attr_accessor :fields # @return [Array<String>]
1637
+ attr_accessor :disable_scoring # @return [Boolean]
1638
+ attr_accessor :include_locations # @return [Boolean]
1639
+ attr_accessor :collections # @return [Array<String>, nil]
1640
+ attr_accessor :sort # @return [Array<String, Cluster::SearchSort>]
1641
+ attr_accessor :facets # @return [Hash<String => Cluster::SearchFacet>]
1642
+ attr_accessor :transcoder # @return [JsonTranscoder, #decode(String)]
1643
+
1644
+ # @param [Integer] limit limits the number of matches returned from the complete result set.
1645
+ # @param [Integer] skip indicates how many matches are skipped on the result set before starting to return the
1646
+ # matches
1647
+ # @param [Boolean] explain triggers inclusion of additional search result score explanations.
1648
+ # @param [:html, :ansi, nil] highlight_style the style of highlighting in the result excerpts (if not specified,
1649
+ # the server default will be used)
1650
+ # @param [Array<String>] highlight_fields list of the fields to highlight
1651
+ # @param [Array<String>] fields list of field values which should be retrieved for result documents, provided they
1652
+ # were stored while indexing
1653
+ # @param [MutationState] mutation_state the mutation tokens this query should be consistent with
1654
+ # @param [Boolean] disable_scoring If set to true, the server will not perform any scoring on the hits
1655
+ # @param [Boolean] include_locations UNCOMMITTED: If set to true, will include the vector of search_location in rows
1656
+ # @param [Array<String>, nil] collections list of collections by which to filter the results
1657
+ # @param [Array<String, Cluster::SearchSort>] sort Ordering rules to apply to the results. The list might contain
1658
+ # either strings or special objects, that derive from {Cluster::SearchSort}. In case of String, the value
1659
+ # represents the name of the field with optional +-+ in front of the name, which will turn on descending mode
1660
+ # for this field. One field is special is +"_score"+ which will sort results by their score. When nothing
1661
+ # specified, the Server will order results by their score descending, which is equivalent of +"-_score"+.
1662
+ # @param [Hash<String => Cluster::SearchFacet>] facets facets allow to aggregate information collected on a
1663
+ # particular result set
1664
+ # @param [JsonTranscoder, #decode(String)] transcoder to use for the results
1665
+ #
1666
+ # @param [Integer, #in_milliseconds, nil] timeout
1667
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
1668
+ # @param [Hash, nil] client_context the client context data, if set
1669
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
1670
+ #
1671
+ # @yieldparam [Search] self
1672
+ def initialize(limit: nil,
1673
+ skip: nil,
1674
+ explain: false,
1675
+ highlight_style: nil,
1676
+ highlight_fields: nil,
1677
+ fields: nil,
1678
+ mutation_state: nil,
1679
+ disable_scoring: false,
1680
+ include_locations: false,
1681
+ collections: nil,
1682
+ sort: nil,
1683
+ facets: nil,
1684
+ transcoder: JsonTranscoder.new,
1685
+ timeout: nil,
1686
+ retry_strategy: nil,
1687
+ client_context: nil,
1688
+ parent_span: nil)
1689
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
1690
+ @limit = limit
1691
+ @skip = skip
1692
+ @explain = explain
1693
+ @highlight_style = highlight_style
1694
+ @highlight_fields = highlight_fields
1695
+ @fields = fields
1696
+ @disable_scoring = disable_scoring
1697
+ @include_locations = include_locations
1698
+ @collections = collections
1699
+ @sort = sort
1700
+ @facets = facets
1701
+ @transcoder = transcoder
1702
+ @scan_consistency = :not_bounded
1703
+ @mutation_state = mutation_state
1704
+ yield self if block_given?
1705
+ end
1706
+
1707
+ # Sets the mutation tokens this query should be consistent with
1708
+ #
1709
+ # @note overrides consistency level set by {#scan_consistency=}
1710
+ #
1711
+ # @param [MutationState] mutation_state the mutation state containing the mutation tokens
1712
+ #
1713
+ # @return [void]
1714
+ def consistent_with(mutation_state)
1715
+ @scan_consistency = nil if @scan_consistency
1716
+ @mutation_state = mutation_state
1717
+ end
1718
+
1719
+ # Customizes the consistency guarantees for this query
1720
+ #
1721
+ # @note overrides consistency level set by {#consistent_with}
1722
+ #
1723
+ # @param [:not_bounded] level the scan consistency to be used for this query
1724
+ # +:not_bounded+:: The engine will return whatever state it has at the time of query
1725
+ #
1726
+ # @return [void]
1727
+ def scan_consistency=(level)
1728
+ @mutation_state = nil if @mutation_state
1729
+ @scan_consistency = level
1730
+ end
1731
+
1732
+ # @api private
1733
+ # @return [MutationState]
1734
+ attr_reader :mutation_state
1735
+
1736
+ # @api private
1737
+ # @return [Symbol
1738
+ attr_reader :scan_consistency
1739
+
1740
+ # @api private
1741
+ def to_backend(scope_name: nil)
1742
+ {
1743
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
1744
+ limit: @limit,
1745
+ skip: @skip,
1746
+ explain: @explain,
1747
+ disable_scoring: @disable_scoring,
1748
+ include_locations: @include_locations,
1749
+ scope: scope_name,
1750
+ collections: scope_name ? @collections : nil,
1751
+ highlight_style: @highlight_style,
1752
+ highlight_fields: @highlight_fields,
1753
+ fields: @fields,
1754
+ sort: @sort&.map { |v| JSON.generate(v) },
1755
+ facets: @facets&.map { |(k, v)| [k, JSON.generate(v)] },
1756
+ scan_consistency: @scan_consistency,
1757
+ mutation_state: @mutation_state&.to_a,
1758
+ }
1759
+ end
1760
+ end
1761
+
1762
+ # Options for {Couchbase::Cluster#view_query}
1763
+ class View < Base
1764
+ attr_accessor :scan_consistency # @return [Symbol]
1765
+ attr_accessor :namespace # @return [Symbol]
1766
+ attr_accessor :skip # @return [Integer]
1767
+ attr_accessor :limit # @return [Integer]
1768
+ attr_accessor :start_key # @return [#to_json, nil]
1769
+ attr_accessor :end_key # @return [#to_json, nil]
1770
+ attr_accessor :start_key_doc_id # @return [String, nil]
1771
+ attr_accessor :end_key_doc_id # @return [String, nil]
1772
+ attr_accessor :inclusive_end # @return [Boolean, nil]
1773
+ attr_accessor :group # @return [Boolean, nil]
1774
+ attr_accessor :group_level # @return [Integer, nil]
1775
+ attr_accessor :key # @return [#to_json, nil]
1776
+ attr_accessor :keys # @return [Array<#to_json>, nil]
1777
+ attr_accessor :order # @return [Symbol, nil]
1778
+ attr_accessor :reduce # @return [Boolean, nil]
1779
+ attr_accessor :on_error # @return [Symbol, nil]
1780
+ attr_accessor :debug # @return [Boolean, nil]
1781
+
1782
+ # @param [:not_bounded, :request_plus, :update_after] scan_consistency Specifies the level of consistency for the query
1783
+ # @param [:production, :development] namespace
1784
+ # @param [Integer, nil] skip Specifies the number of results to skip from the start of the result set
1785
+ # @param [Integer, nil] limit Specifies the maximum number of results to return
1786
+ # @param [#to_json, nil] start_key Specifies the key, to which the engine has to skip before result generation
1787
+ # @param [#to_json, nil] end_key Specifies the key, at which the result generation has to be stopped
1788
+ # @param [String, nil] start_key_doc_id Specifies the document id in case {#start_key} gives multiple results within the index
1789
+ # @param [String, nil] end_key_doc_id Specifies the document id in case {#end_key} gives multiple results within the index
1790
+ # @param [Boolean, nil] inclusive_end Specifies whether the {#end_key}/#{#end_key_doc_id} values should be inclusive
1791
+ # @param [Boolean, nil] group Specifies whether to enable grouping of the results
1792
+ # @param [Integer, nil] group_level Specifies the depth within the key to group the results
1793
+ # @param [#to_json, nil] key Specifies the key to fetch from the index
1794
+ # @param [Array<#to_json>, nil] keys Specifies set of the keys to fetch from the index
1795
+ # @param [:ascending, :descending, nil] order Specifies the order of the results that should be returned
1796
+ # @param [Boolean, nil] reduce Specifies whether to enable the reduction function associated with this particular
1797
+ # view index
1798
+ # @param [:stop, :continue, nil] on_error Specifies the behaviour of the view engine should an error occur during
1799
+ # the gathering of view index results which would result in only partial results being available
1800
+ # @param [Boolean, nil] debug allows to return debug information as part of the view response
1801
+ #
1802
+ # @param [Integer, #in_milliseconds, nil] timeout
1803
+ # @param [Proc, nil] retry_strategy the custom retry strategy, if set
1804
+ # @param [Hash, nil] client_context the client context data, if set
1805
+ # @param [Span, nil] parent_span if set holds the parent span, that should be used for this request
1806
+ #
1807
+ # @yieldparam [View] self
1808
+ def initialize(scan_consistency: :not_bounded,
1809
+ namespace: :production,
1810
+ skip: nil,
1811
+ limit: nil,
1812
+ start_key: nil,
1813
+ end_key: nil,
1814
+ start_key_doc_id: nil,
1815
+ end_key_doc_id: nil,
1816
+ inclusive_end: nil,
1817
+ group: nil,
1818
+ group_level: nil,
1819
+ key: nil,
1820
+ keys: nil,
1821
+ order: nil,
1822
+ reduce: nil,
1823
+ on_error: nil,
1824
+ debug: false,
1825
+ timeout: nil,
1826
+ retry_strategy: nil,
1827
+ client_context: nil,
1828
+ parent_span: nil)
1829
+ super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span)
1830
+
1831
+ @scan_consistency = scan_consistency
1832
+ @namespace = namespace
1833
+ @skip = skip
1834
+ @limit = limit
1835
+ @start_key = start_key
1836
+ @end_key = end_key
1837
+ @start_key_doc_id = start_key_doc_id
1838
+ @end_key_doc_id = end_key_doc_id
1839
+ @inclusive_end = inclusive_end
1840
+ @group = group
1841
+ @group_level = group_level
1842
+ @key = key
1843
+ @keys = keys
1844
+ @order = order
1845
+ @reduce = reduce
1846
+ @on_error = on_error
1847
+ @debug = debug
1848
+ yield self if block_given?
1849
+ end
1850
+
1851
+ # Allows providing custom JSON key/value pairs for advanced usage
1852
+ #
1853
+ # @param [String] key the parameter name (key of the JSON property)
1854
+ # @param [Object] value the parameter value (value of the JSON property)
1855
+ def raw(key, value)
1856
+ @raw_parameters[key] = JSON.generate(value)
1857
+ end
1858
+
1859
+ # @api private
1860
+ def to_backend
1861
+ {
1862
+ timeout: @timeout.respond_to?(:in_milliseconds) ? @timeout.public_send(:in_milliseconds) : @timeout,
1863
+ scan_consistency: @scan_consistency,
1864
+ skip: @skip,
1865
+ limit: @limit,
1866
+ start_key: (JSON.generate(@start_key) unless @start_key.nil?),
1867
+ end_key: (JSON.generate(@end_key) unless @end_key.nil?),
1868
+ start_key_doc_id: @start_key_doc_id,
1869
+ end_key_doc_id: @end_key_doc_id,
1870
+ inclusive_end: @inclusive_end,
1871
+ group: @group,
1872
+ group_level: @group_level,
1873
+ key: (JSON.generate(@key) unless @key.nil?),
1874
+ keys: @keys&.map { |key| JSON.generate(key) },
1875
+ order: @order,
1876
+ reduce: @reduce,
1877
+ on_error: @on_error,
1878
+ debug: @debug,
1879
+ }
1880
+ end
1881
+ end
1882
+
1883
+ # @api private
1884
+ # TODO: deprecate in 3.1
1885
+ CommonOptions = ::Couchbase::Options::Base
1886
+
1887
+ # rubocop:disable Naming/MethodName constructor shortcuts
1888
+ module_function
1889
+
1890
+ # Construct {Get} options for {Collection#get}
1891
+ #
1892
+ # @example Get partial document using projections
1893
+ # res = collection.get("customer123", Options::Get(projections: ["name", "addresses.billing"]))
1894
+ # res.content
1895
+ #
1896
+ # # {"addresses"=>
1897
+ # # {"billing"=>
1898
+ # # {"country"=>"United Kingdom",
1899
+ # # "line1"=>"123 Any Street",
1900
+ # # "line2"=>"Anytown"}},
1901
+ # # "name"=>"Douglas Reynholm"}
1902
+ #
1903
+ # @return [Get]
1904
+ def Get(**args)
1905
+ Get.new(**args)
1906
+ end
1907
+
1908
+ # Construct {GetMulti} options for {Collection#get_multi}
1909
+ #
1910
+ # @example Fetch "foo" and "bar" in a batch
1911
+ # res = collection.get(["foo", "bar"], Options::GetMulti(timeout: 3_000))
1912
+ # res[0].content #=> content of "foo"
1913
+ # res[1].content #=> content of "bar"
1914
+ #
1915
+ # @return [GetMulti]
1916
+ def GetMulti(**args)
1917
+ GetMulti.new(**args)
1918
+ end
1919
+
1920
+ # Construct {GetAndLock} options for {Collection#get_and_lock}
1921
+ #
1922
+ # @example Retrieve document and lock for 10 seconds
1923
+ # collection.get_and_lock("customer123", 10, Options::GetAndLock(timeout: 3_000))
1924
+ #
1925
+ # @return [GetAndLock]
1926
+ def GetAndLock(**args)
1927
+ GetAndLock.new(**args)
1928
+ end
1929
+
1930
+ # Construct {GetAndTouch} options for {Collection#get_and_touch}
1931
+ #
1932
+ # @example Retrieve document and prolong its expiration for 10 seconds
1933
+ # collection.get_and_touch("customer123", 10, Options::GetAndTouch(timeout: 3_000))
1934
+ #
1935
+ # @return [GetAndTouch]
1936
+ def GetAndTouch(**args)
1937
+ GetAndTouch.new(**args)
1938
+ end
1939
+
1940
+ # Construct {GetAllReplicas} options for {Collection#get_any_replica}
1941
+ #
1942
+ # @return [GetAllReplicas]
1943
+ def GetAllReplicas(**args)
1944
+ GetAllReplicas.new(**args)
1945
+ end
1946
+
1947
+ # Construct {GetAnyReplica} options for {Collection#get_all_replicas}
1948
+ #
1949
+ # @return [GetAnyReplica]
1950
+ def GetAnyReplica(**args)
1951
+ GetAnyReplica.new(**args)
1952
+ end
1953
+
1954
+ # Construct {Exists} options for {Collection#exists}
1955
+ #
1956
+ # @example Check if the document exists without fetching its contents
1957
+ # res = collection.exists("customer123", Options::Exists(timeout: 3_000))
1958
+ # res.exists? #=> true
1959
+ #
1960
+ # @return [Exists]
1961
+ def Exists(**args)
1962
+ Exists.new(**args)
1963
+ end
1964
+
1965
+ # Construct {Touch} options for {Collection#touch}
1966
+ #
1967
+ # @example Reset expiration timer for document to 30 seconds (and use custom operation timeout)
1968
+ # res = collection.touch("customer123", 30, Options::Touch(timeout: 3_000))
1969
+ #
1970
+ # @return [Touch]
1971
+ def Touch(**args)
1972
+ Touch.new(**args)
1973
+ end
1974
+
1975
+ # Construct {Unlock} options for {Collection#touch}
1976
+ #
1977
+ # @example Lock (pessimistically) and unlock document
1978
+ # res = collection.get_and_lock("customer123", 10, Options::Unlock(timeout: 3_000))
1979
+ # collection.unlock("customer123", res.cas)
1980
+ #
1981
+ # @return [Unlock]
1982
+ def Unlock(**args)
1983
+ Unlock.new(**args)
1984
+ end
1985
+
1986
+ # Construct {Remove} options for {Collection#remove}
1987
+ #
1988
+ # @example Remove the document in collection, but apply optimistic lock
1989
+ # res = collection.upsert("mydoc", {"foo" => 42})
1990
+ # res.cas #=> 7751414725654
1991
+ #
1992
+ # begin
1993
+ # res = collection.remove("customer123", Options::Remove(cas: 3735928559))
1994
+ # rescue Error::CasMismatch
1995
+ # puts "Failed to remove the document, it might be changed by other application"
1996
+ # end
1997
+ #
1998
+ # @return [Remove]
1999
+ def Remove(**args)
2000
+ Remove.new(**args)
2001
+ end
2002
+
2003
+ # Construct {RemoveMulti} options for {Collection#remove_multi}
2004
+ #
2005
+ # @example Remove two documents in collection. For "mydoc" apply optimistic lock
2006
+ # res = collection.upsert("mydoc", {"foo" => 42})
2007
+ # res.cas #=> 7751414725654
2008
+ #
2009
+ # res = collection.remove_multi(["foo", ["mydoc", res.cas]], Options::RemoveMulti(timeout: 3_000))
2010
+ # if res[1].error.is_a?(Error::CasMismatch)
2011
+ # puts "Failed to remove the document, it might be changed by other application"
2012
+ # end
2013
+ #
2014
+ # @return [RemoveMulti]
2015
+ def RemoveMulti(**args)
2016
+ RemoveMulti.new(**args)
2017
+ end
2018
+
2019
+ # Construct {Insert} options for {Collection#insert}
2020
+ #
2021
+ # @example Insert new document in collection
2022
+ # res = collection.insert("mydoc", {"foo" => 42}, Options::Insert(expiry: 20))
2023
+ # res.cas #=> 242287264414742
2024
+ #
2025
+ # @return [Insert]
2026
+ def Insert(**args)
2027
+ Insert.new(**args)
2028
+ end
2029
+
2030
+ # Construct {Upsert} options for {Collection#upsert}
2031
+ #
2032
+ # @example Upsert new document in collection
2033
+ # res = collection.upsert("mydoc", {"foo" => 42}, Options::Upsert(expiry: 20))
2034
+ # res.cas #=> 242287264414742
2035
+ #
2036
+ # @return [Upsert]
2037
+ def Upsert(**args)
2038
+ Upsert.new(**args)
2039
+ end
2040
+
2041
+ # Construct {UpsertMulti} options for {Collection#upsert_multi}
2042
+ #
2043
+ # @example Upsert two documents with IDs "foo" and "bar" into a collection with expiration 20 seconds.
2044
+ # res = collection.upsert_multi([
2045
+ # "foo", {"foo" => 42},
2046
+ # "bar", {"bar" => "some value"}
2047
+ # ], Options::UpsertMulti(expiry: 20))
2048
+ # res[0].cas #=> 7751414725654
2049
+ # res[1].cas #=> 7751418925851
2050
+ #
2051
+ # @return [UpsertMulti]
2052
+ def UpsertMulti(**args)
2053
+ UpsertMulti.new(**args)
2054
+ end
2055
+
2056
+ # Construct {Replace} options for {Collection#replace}
2057
+ #
2058
+ # @example Replace new document in collection with optimistic locking
2059
+ # res = collection.get("mydoc")
2060
+ # res = collection.replace("mydoc", {"foo" => 42}, Options::Replace(cas: res.cas))
2061
+ # res.cas #=> 242287264414742
2062
+ #
2063
+ # @return [Replace]
2064
+ def Replace(**args)
2065
+ Replace.new(**args)
2066
+ end
2067
+
2068
+ # Construct {MutateIn} options for {Collection#mutate_in}
2069
+ #
2070
+ # @example Append number into subarray of the document
2071
+ # mutation_specs = [
2072
+ # MutateInSpec::array_append("purchases.complete", [42])
2073
+ # ]
2074
+ # collection.mutate_in("customer123", mutation_specs, Options::MutateIn(expiry: 10))
2075
+ #
2076
+ # @return [MutateIn]
2077
+ def MutateIn(**args)
2078
+ MutateIn.new(**args)
2079
+ end
2080
+
2081
+ # Construct {LookupIn} options for {Collection#lookup_in}
2082
+ #
2083
+ # @example Get list of IDs of completed purchases
2084
+ # lookup_specs = [
2085
+ # LookupInSpec::get("purchases.complete")
2086
+ # ]
2087
+ # collection.lookup_in("customer123", lookup_specs, Options::LookupIn(timeout: 3_000))
2088
+ #
2089
+ # @return [LookupIn]
2090
+ def LookupIn(**args)
2091
+ LookupIn.new(**args)
2092
+ end
2093
+
2094
+ # Construct {Append} options for {BinaryCollection#append}
2095
+ #
2096
+ # @example Append "bar" to the content of the existing document
2097
+ # collection.upsert("mydoc", "foo")
2098
+ # collection.binary.append("mydoc", "bar", Options::Append(timeout: 3_000))
2099
+ # collection.get("mydoc", Options::Get(transcoder: nil)).content #=> "foobar"
2100
+ #
2101
+ # @return [Append]
2102
+ def Append(**args)
2103
+ Append.new(**args)
2104
+ end
2105
+
2106
+ # Construct {Prepend} options for {BinaryCollection#prepend}
2107
+ #
2108
+ # @example Prepend "bar" to the content of the existing document
2109
+ # collection.upsert("mydoc", "foo")
2110
+ # collection.binary.prepend("mydoc", "bar", Options::Prepend(timeout: 3_000))
2111
+ # collection.get("mydoc", Options::Get(transcoder: nil)).content #=> "barfoo"
2112
+ #
2113
+ # @return [Prepend]
2114
+ def Prepend(**args)
2115
+ Prepend.new(**args)
2116
+ end
2117
+
2118
+ # Construct {Diagnostics} options for {Cluster#diagnostics}
2119
+ #
2120
+ # @return [Diagnostics]
2121
+ def Diagnostics(**args)
2122
+ Diagnostics.new(**args)
2123
+ end
2124
+
2125
+ # Construct {Ping} options for {Bucket#ping}
2126
+ #
2127
+ # @return [Ping]
2128
+ def Ping(**args)
2129
+ Ping.new(**args)
2130
+ end
2131
+
2132
+ # Construct {Cluster} options for {Cluster.connect}
2133
+ #
2134
+ # @example Pass authenticator object to Options
2135
+ # Cluster.connect("couchbase://localhost",
2136
+ # Options::Cluster(authenticator: PasswordAuthenticator.new("Administrator", "password")))
2137
+ #
2138
+ # @example Shorter version, more useful for interactive sessions
2139
+ # Cluster.connect("couchbase://localhost", "Administrator", "password")
2140
+ #
2141
+ # @example Authentication with TLS client certificate (note +couchbases://+ schema)
2142
+ # Cluster.connect("couchbases://localhost?trust_certificate=/tmp/ca.pem",
2143
+ # Options::Cluster(authenticator: CertificateAuthenticator.new("/tmp/certificate.pem", "/tmp/private.key")))
2144
+ #
2145
+ # @see https://docs.couchbase.com/server/current/manage/manage-security/configure-client-certificates.html
2146
+ #
2147
+ # @return [Cluster]
2148
+ def Cluster(**args)
2149
+ Cluster.new(**args)
2150
+ end
2151
+
2152
+ # Construct {Increment} options for {BinaryCollection#increment}
2153
+ #
2154
+ # @example Increment value by 10, and initialize to 0 if it does not exist
2155
+ # res = collection.binary.increment("raw_counter", Options::Increment(delta: 10, initial: 0))
2156
+ # res.content #=> 0
2157
+ # res = collection.binary.increment("raw_counter", Options::Increment(delta: 10, initial: 0))
2158
+ # res.content #=> 10
2159
+ #
2160
+ # @return [Increment]
2161
+ def Increment(**args)
2162
+ Increment.new(**args)
2163
+ end
2164
+
2165
+ # Construct {Decrement} options for {BinaryCollection#decrement}
2166
+ #
2167
+ # @example Decrement value by 2, and initialize to 100 if it does not exist
2168
+ # res = collection.binary.decrement("raw_counter", Options::Decrement(delta: 2, initial: 100))
2169
+ # res.value #=> 100
2170
+ # res = collection.binary.decrement("raw_counter", Options::Decrement(delta: 2, initial: 100))
2171
+ # res.value #=> 98
2172
+ #
2173
+ # @return [Decrement]
2174
+ def Decrement(**args)
2175
+ Decrement.new(**args)
2176
+ end
2177
+
2178
+ # Construct {Analytics} options for {Cluster#analytics_query}
2179
+ #
2180
+ # @example Select name of the given user
2181
+ # cluster.analytics_query("SELECT u.name AS uname FROM GleambookUsers u WHERE u.id = $user_id ",
2182
+ # Options::Analytics(named_parameters: {user_id: 2}))
2183
+ #
2184
+ # @return [Analytics]
2185
+ def Analytics(**args)
2186
+ Analytics.new(**args)
2187
+ end
2188
+
2189
+ # Construct {Query} options for {Cluster#query}
2190
+ #
2191
+ # @example Select first ten hotels from travel sample dataset
2192
+ # cluster.query("SELECT * FROM `travel-sample` WHERE type = $type LIMIT 10",
2193
+ # Options::Query(named_parameters: {type: "hotel"}, metrics: true))
2194
+ #
2195
+ # @return [Query]
2196
+ def Query(**args)
2197
+ Query.new(**args)
2198
+ end
2199
+
2200
+ # Construct {Search} options for {Cluster#search_query}
2201
+ #
2202
+ # @example Return first 10 results of "hop beer" query and request highlighting
2203
+ # cluster.search_query("beer_index", Cluster::SearchQuery.match_phrase("hop beer"),
2204
+ # Options::Search(
2205
+ # limit: 10,
2206
+ # fields: %w[name],
2207
+ # highlight_style: :html,
2208
+ # highlight_fields: %w[name description]
2209
+ # ))
2210
+ #
2211
+ # @return [Search]
2212
+ def Search(**args)
2213
+ Search.new(**args)
2214
+ end
2215
+
2216
+ # Construct {View} options for {Bucket#view_query}
2217
+ #
2218
+ # @example Make sure the view engine catch up with all mutations and return keys starting from +["random_brewery:"]+
2219
+ # bucket.view_query("beer", "brewery_beers",
2220
+ # Options::View(
2221
+ # start_key: ["random_brewery:"],
2222
+ # scan_consistency: :request_plus
2223
+ # ))
2224
+ #
2225
+ # @return [View]
2226
+ def View(**args)
2227
+ View.new(**args)
2228
+ end
2229
+
2230
+ # rubocop:enable Naming/MethodName
2231
+ end
2232
+ end