couchbase 3.0.1-universal-darwin-19 → 3.0.2-universal-darwin-19

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