couchbase 3.0.0.alpha.3 → 3.0.1

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 (1683) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -4
  3. data/ext/CMakeLists.txt +92 -128
  4. data/ext/build_config.hxx.in +20 -0
  5. data/ext/build_version.hxx.in +3 -2
  6. data/ext/cmake/Backtrace.cmake +35 -0
  7. data/ext/cmake/BuildTracing.cmake +6 -0
  8. data/ext/cmake/Cache.cmake +29 -0
  9. data/ext/cmake/CompilerWarnings.cmake +78 -0
  10. data/ext/cmake/PreventInSourceBuilds.cmake +18 -0
  11. data/ext/cmake/Sanitizers.cmake +66 -0
  12. data/ext/cmake/StandardProjectSettings.cmake +40 -0
  13. data/ext/cmake/StaticAnalyzers.cmake +37 -0
  14. data/ext/cmake/Testing.cmake +52 -0
  15. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  16. data/ext/cmake/VersionInfo.cmake +37 -0
  17. data/ext/couchbase/bucket.hxx +261 -19
  18. data/ext/couchbase/capabilities.hxx +117 -0
  19. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  20. data/ext/couchbase/cluster.hxx +179 -87
  21. data/ext/couchbase/cluster_options.hxx +54 -0
  22. data/ext/couchbase/configuration.hxx +438 -44
  23. data/ext/couchbase/couchbase.cxx +3523 -1062
  24. data/ext/couchbase/diagnostics.hxx +251 -0
  25. data/ext/couchbase/document_id.hxx +3 -1
  26. data/ext/couchbase/error_map.hxx +202 -2
  27. data/ext/couchbase/errors.hxx +18 -3
  28. data/ext/couchbase/io/dns_client.hxx +217 -0
  29. data/ext/couchbase/io/dns_codec.hxx +207 -0
  30. data/ext/couchbase/io/dns_config.hxx +116 -0
  31. data/ext/couchbase/io/dns_message.hxx +555 -0
  32. data/ext/couchbase/io/http_command.hxx +95 -0
  33. data/ext/couchbase/io/http_context.hxx +37 -0
  34. data/ext/couchbase/io/http_message.hxx +9 -0
  35. data/ext/couchbase/io/http_parser.hxx +2 -0
  36. data/ext/couchbase/io/http_session.hxx +187 -49
  37. data/ext/couchbase/io/http_session_manager.hxx +182 -0
  38. data/ext/couchbase/io/mcbp_command.hxx +246 -0
  39. data/ext/couchbase/io/mcbp_message.hxx +24 -2
  40. data/ext/couchbase/io/mcbp_session.hxx +558 -163
  41. data/ext/couchbase/io/query_cache.hxx +61 -0
  42. data/ext/couchbase/io/retry_action.hxx +30 -0
  43. data/ext/couchbase/io/retry_context.hxx +38 -0
  44. data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
  45. data/ext/couchbase/io/retry_reason.hxx +235 -0
  46. data/ext/couchbase/io/retry_strategy.hxx +156 -0
  47. data/ext/couchbase/io/streams.hxx +216 -0
  48. data/ext/couchbase/mutation_token.hxx +1 -1
  49. data/ext/couchbase/operations.hxx +33 -1
  50. data/ext/couchbase/operations/analytics_dataset_create.hxx +117 -0
  51. data/ext/couchbase/operations/analytics_dataset_drop.hxx +103 -0
  52. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +107 -0
  53. data/ext/couchbase/operations/analytics_dataverse_create.hxx +104 -0
  54. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +104 -0
  55. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +91 -0
  56. data/ext/couchbase/operations/analytics_index_create.hxx +128 -0
  57. data/ext/couchbase/operations/analytics_index_drop.hxx +110 -0
  58. data/ext/couchbase/operations/analytics_index_get_all.hxx +106 -0
  59. data/ext/couchbase/operations/analytics_link_connect.hxx +102 -0
  60. data/ext/couchbase/operations/analytics_link_disconnect.hxx +101 -0
  61. data/ext/couchbase/operations/bucket_create.hxx +15 -7
  62. data/ext/couchbase/operations/bucket_drop.hxx +5 -3
  63. data/ext/couchbase/operations/bucket_flush.hxx +5 -3
  64. data/ext/couchbase/operations/bucket_get.hxx +5 -3
  65. data/ext/couchbase/operations/bucket_get_all.hxx +5 -3
  66. data/ext/couchbase/operations/bucket_settings.hxx +43 -4
  67. data/ext/couchbase/operations/bucket_update.hxx +15 -7
  68. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +5 -3
  69. data/ext/couchbase/operations/collection_create.hxx +7 -3
  70. data/ext/couchbase/operations/collection_drop.hxx +5 -3
  71. data/ext/couchbase/operations/collections_manifest_get.hxx +70 -0
  72. data/ext/couchbase/operations/design_document.hxx +59 -0
  73. data/ext/couchbase/operations/document_analytics.hxx +293 -0
  74. data/ext/couchbase/operations/document_decrement.hxx +10 -4
  75. data/ext/couchbase/operations/document_exists.hxx +4 -1
  76. data/ext/couchbase/operations/document_get.hxx +7 -1
  77. data/ext/couchbase/operations/document_get_and_lock.hxx +7 -1
  78. data/ext/couchbase/operations/document_get_and_touch.hxx +9 -3
  79. data/ext/couchbase/operations/document_get_projected.hxx +16 -10
  80. data/ext/couchbase/operations/document_increment.hxx +10 -4
  81. data/ext/couchbase/operations/document_insert.hxx +9 -3
  82. data/ext/couchbase/operations/document_lookup_in.hxx +26 -1
  83. data/ext/couchbase/operations/document_mutate_in.hxx +50 -2
  84. data/ext/couchbase/operations/document_query.hxx +103 -17
  85. data/ext/couchbase/operations/document_remove.hxx +7 -1
  86. data/ext/couchbase/operations/document_replace.hxx +9 -3
  87. data/ext/couchbase/operations/document_search.hxx +46 -13
  88. data/ext/couchbase/operations/document_touch.hxx +9 -3
  89. data/ext/couchbase/operations/document_unlock.hxx +7 -1
  90. data/ext/couchbase/operations/document_upsert.hxx +9 -3
  91. data/ext/couchbase/operations/document_view.hxx +228 -0
  92. data/ext/couchbase/operations/group_drop.hxx +71 -0
  93. data/ext/couchbase/operations/group_get.hxx +75 -0
  94. data/ext/couchbase/operations/group_get_all.hxx +70 -0
  95. data/ext/couchbase/operations/group_upsert.hxx +118 -0
  96. data/ext/couchbase/operations/query_index_build_deferred.hxx +4 -4
  97. data/ext/couchbase/operations/query_index_create.hxx +18 -8
  98. data/ext/couchbase/operations/query_index_drop.hxx +16 -6
  99. data/ext/couchbase/operations/query_index_get_all.hxx +15 -5
  100. data/ext/couchbase/operations/rbac.hxx +276 -0
  101. data/ext/couchbase/operations/role_get_all.hxx +70 -0
  102. data/ext/couchbase/operations/scope_create.hxx +10 -4
  103. data/ext/couchbase/operations/scope_drop.hxx +5 -3
  104. data/ext/couchbase/operations/scope_get_all.hxx +5 -3
  105. data/ext/couchbase/operations/search_get_stats.hxx +59 -0
  106. data/ext/couchbase/operations/search_index.hxx +17 -0
  107. data/ext/couchbase/operations/search_index_analyze_document.hxx +3 -3
  108. data/ext/couchbase/operations/search_index_control_ingest.hxx +6 -4
  109. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +3 -3
  110. data/ext/couchbase/operations/search_index_control_query.hxx +3 -3
  111. data/ext/couchbase/operations/search_index_drop.hxx +3 -3
  112. data/ext/couchbase/operations/search_index_get.hxx +3 -3
  113. data/ext/couchbase/operations/search_index_get_all.hxx +3 -3
  114. data/ext/couchbase/operations/search_index_get_documents_count.hxx +26 -18
  115. data/ext/couchbase/operations/search_index_get_stats.hxx +81 -0
  116. data/ext/couchbase/operations/search_index_upsert.hxx +3 -3
  117. data/ext/couchbase/operations/user_drop.hxx +72 -0
  118. data/ext/couchbase/operations/user_get.hxx +76 -0
  119. data/ext/couchbase/operations/user_get_all.hxx +71 -0
  120. data/ext/couchbase/operations/user_upsert.hxx +125 -0
  121. data/ext/couchbase/operations/view_index_drop.hxx +67 -0
  122. data/ext/couchbase/operations/view_index_get.hxx +90 -0
  123. data/ext/couchbase/operations/view_index_get_all.hxx +125 -0
  124. data/ext/couchbase/operations/view_index_upsert.hxx +87 -0
  125. data/ext/couchbase/origin.hxx +178 -0
  126. data/ext/couchbase/platform/backtrace.c +189 -0
  127. data/ext/couchbase/platform/backtrace.h +54 -0
  128. data/ext/couchbase/platform/terminate_handler.cc +123 -0
  129. data/ext/couchbase/platform/terminate_handler.h +36 -0
  130. data/ext/couchbase/protocol/client_opcode.hxx +44 -40
  131. data/ext/couchbase/protocol/client_response.hxx +3 -3
  132. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -8
  133. data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
  134. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
  135. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +9 -7
  136. data/ext/couchbase/protocol/cmd_hello.hxx +10 -0
  137. data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
  138. data/ext/couchbase/protocol/cmd_info.hxx +0 -11
  139. data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
  140. data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -0
  141. data/ext/couchbase/protocol/cmd_mutate_in.hxx +53 -5
  142. data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
  143. data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
  144. data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
  145. data/ext/couchbase/protocol/magic.hxx +6 -6
  146. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  147. data/ext/couchbase/protocol/status.hxx +70 -60
  148. data/ext/couchbase/service_type.hxx +38 -1
  149. data/ext/couchbase/timeout_defaults.hxx +10 -1
  150. data/ext/couchbase/utils/connection_string.hxx +379 -0
  151. data/ext/couchbase/version.hxx +2 -2
  152. data/ext/extconf.rb +72 -24
  153. data/ext/test/test_helper.hxx +141 -0
  154. data/ext/test/test_helper_native.hxx +59 -0
  155. data/ext/test/test_helper_ruby.hxx +72 -0
  156. data/ext/test/test_native_diagnostics.cxx +385 -0
  157. data/ext/test/test_native_trivial_crud.cxx +83 -0
  158. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  159. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  160. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  161. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  162. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  163. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  164. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  165. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  166. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  167. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  168. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  169. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  170. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  171. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  172. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  173. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  174. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  175. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  176. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  177. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  178. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  179. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  180. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  181. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  182. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  183. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  184. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  185. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  186. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  187. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  188. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  189. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  190. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  191. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  192. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  193. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  194. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  195. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  196. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  198. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  199. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  200. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  201. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  202. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  203. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  204. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  205. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  206. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  207. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  208. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  209. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  210. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  211. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  212. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  213. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  214. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  215. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  216. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  217. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  218. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  219. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  220. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  221. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  222. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  223. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  224. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  225. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  226. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  227. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  228. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  229. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  230. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  231. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  232. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  233. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  234. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  235. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  236. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  237. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  238. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  239. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  240. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  241. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  242. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  243. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  244. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  245. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  246. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  247. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  248. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  249. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  250. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  251. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  252. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  253. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  254. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  255. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  256. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  257. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  258. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  259. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  260. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  261. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  262. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  263. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  264. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  265. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  266. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  267. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  268. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  269. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  270. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  271. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  272. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  273. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  274. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  275. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  276. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  277. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  278. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  279. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  280. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  281. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  282. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  283. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  284. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  285. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  286. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  287. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  288. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  289. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  290. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  291. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  292. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  293. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  294. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  295. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  296. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  297. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  298. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  299. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  300. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  301. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  302. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  303. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  304. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  305. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  306. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  307. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  308. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  309. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  310. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  311. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  312. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  313. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  314. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  315. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  316. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  317. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  318. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  319. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  320. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  321. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  322. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  323. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  324. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  325. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  326. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  327. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  328. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  329. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  330. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  331. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  332. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  333. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  334. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  335. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  336. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  337. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  338. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  339. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  340. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  341. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  342. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  343. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  344. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  345. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  346. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  347. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  348. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  349. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  350. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  351. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  352. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  353. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  354. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  355. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  356. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  357. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  358. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  359. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  360. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  361. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  362. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  363. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  364. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  365. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  366. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  367. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  368. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  369. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  370. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  371. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  372. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  373. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  374. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  375. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  376. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  377. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  378. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  379. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  380. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  381. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  382. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  383. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  384. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  385. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  386. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  387. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  388. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  389. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  390. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  391. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  392. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  393. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  394. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  395. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  396. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  397. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  398. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  399. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  400. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  401. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  402. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  403. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  404. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  405. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  406. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  407. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  408. data/ext/third_party/gsl/include/gsl/span +98 -46
  409. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  410. data/ext/third_party/http_parser/http_parser.c +17 -10
  411. data/ext/third_party/http_parser/http_parser.h +4 -2
  412. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  413. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  414. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  415. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  416. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  417. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  418. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  419. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  420. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  421. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  422. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  423. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  424. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  425. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  426. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  427. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  428. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  429. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  430. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  431. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  432. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  433. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  434. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  435. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  436. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  437. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  438. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  439. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  440. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  441. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  442. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  443. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  444. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  445. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  446. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  447. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  448. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  449. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  450. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  451. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  452. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  453. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  454. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  455. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  456. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  457. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  458. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  459. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  460. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  461. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  462. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  463. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  464. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  465. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  466. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  467. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  468. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  469. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  470. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  471. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  472. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +62 -0
  473. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +206 -0
  474. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +106 -0
  475. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
  476. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
  477. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +45 -0
  478. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +32 -0
  479. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +54 -0
  480. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +43 -0
  481. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +77 -0
  482. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  483. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  484. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  485. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  486. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  487. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  488. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  489. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  490. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  491. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  492. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  493. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  494. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  495. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +62 -0
  496. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +62 -0
  497. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +63 -0
  498. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +36 -0
  499. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  500. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  501. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +49 -0
  502. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +49 -0
  503. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  504. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +138 -0
  505. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  506. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  507. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  508. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  509. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  510. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  521. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  522. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  523. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  524. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  525. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  526. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  527. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  528. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +16 -0
  529. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +25 -0
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +29 -26
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  543. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  544. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  545. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  546. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  547. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  548. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  549. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  550. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  551. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  584. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  585. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  586. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  587. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  588. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  589. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  590. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  591. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  592. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  593. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  594. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  595. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  596. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  597. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  598. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  599. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  600. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  601. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  602. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  603. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  604. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  605. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  606. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  607. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  608. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  609. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  610. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  611. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  612. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  613. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  614. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  615. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  616. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  617. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  618. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  619. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  620. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  621. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  622. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  623. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  624. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  625. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  626. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  627. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  628. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  629. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  630. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  631. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  632. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  633. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  634. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  635. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  636. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  637. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  638. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  639. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  640. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  641. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  642. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  643. data/ext/third_party/snappy/snappy.cc +6 -2
  644. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  645. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  646. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  647. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  648. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  649. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  650. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  651. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  652. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  653. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  654. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  655. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  656. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  657. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  658. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  659. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  660. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  661. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  662. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  663. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  664. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  665. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  666. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  667. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  668. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  669. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  670. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  671. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  672. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  673. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  674. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  675. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  676. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  677. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  678. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  679. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  680. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  681. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  682. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  683. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  684. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  685. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  686. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  687. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  688. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  689. data/lib/couchbase.rb +0 -1
  690. data/lib/couchbase/analytics_options.rb +177 -0
  691. data/lib/couchbase/authenticator.rb +14 -0
  692. data/lib/couchbase/binary_collection.rb +9 -9
  693. data/lib/couchbase/binary_collection_options.rb +10 -8
  694. data/lib/couchbase/bucket.rb +55 -3
  695. data/lib/couchbase/cluster.rb +286 -287
  696. data/lib/couchbase/collection.rb +50 -40
  697. data/lib/couchbase/collection_options.rb +97 -17
  698. data/lib/couchbase/common_options.rb +1 -1
  699. data/lib/couchbase/datastructures.rb +18 -0
  700. data/lib/couchbase/datastructures/couchbase_list.rb +171 -0
  701. data/lib/couchbase/datastructures/couchbase_map.rb +205 -0
  702. data/lib/couchbase/datastructures/couchbase_queue.rb +145 -0
  703. data/lib/couchbase/datastructures/couchbase_set.rb +139 -0
  704. data/lib/couchbase/errors.rb +79 -66
  705. data/lib/couchbase/json_transcoder.rb +2 -2
  706. data/lib/couchbase/management/analytics_index_manager.rb +139 -25
  707. data/lib/couchbase/management/bucket_manager.rb +61 -28
  708. data/lib/couchbase/management/collection_manager.rb +3 -3
  709. data/lib/couchbase/management/query_index_manager.rb +59 -14
  710. data/lib/couchbase/management/search_index_manager.rb +57 -13
  711. data/lib/couchbase/management/user_manager.rb +157 -50
  712. data/lib/couchbase/management/view_index_manager.rb +70 -11
  713. data/lib/couchbase/mutation_state.rb +13 -0
  714. data/lib/couchbase/query_options.rb +263 -0
  715. data/lib/couchbase/scope.rb +62 -8
  716. data/lib/couchbase/search_options.rb +121 -33
  717. data/lib/couchbase/subdoc.rb +87 -23
  718. data/lib/couchbase/version.rb +2 -2
  719. data/lib/couchbase/view_options.rb +155 -0
  720. metadata +226 -1037
  721. data/.github/workflows/tests-6.0.3.yml +0 -49
  722. data/.github/workflows/tests-dev-preview.yml +0 -52
  723. data/.github/workflows/tests.yml +0 -47
  724. data/.gitignore +0 -20
  725. data/.gitmodules +0 -21
  726. data/.idea/.gitignore +0 -5
  727. data/.idea/dictionaries/gem_terms.xml +0 -18
  728. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  729. data/.idea/vcs.xml +0 -13
  730. data/.yardopts +0 -1
  731. data/Gemfile +0 -24
  732. data/Rakefile +0 -51
  733. data/bin/console +0 -21
  734. data/bin/init-cluster +0 -70
  735. data/bin/setup +0 -24
  736. data/couchbase.gemspec +0 -47
  737. data/examples/crud.rb +0 -20
  738. data/examples/managing_buckets.rb +0 -47
  739. data/examples/managing_collections.rb +0 -58
  740. data/examples/managing_query_indexes.rb +0 -63
  741. data/examples/managing_search_indexes.rb +0 -62
  742. data/examples/query.rb +0 -18
  743. data/examples/query_with_consistency.rb +0 -76
  744. data/examples/search.rb +0 -187
  745. data/examples/subdocument.rb +0 -51
  746. data/ext/.clang-format +0 -15
  747. data/ext/.clang-tidy +0 -21
  748. data/ext/.cmake-format.yaml +0 -8
  749. data/ext/.gitignore +0 -2
  750. data/ext/.idea/.name +0 -1
  751. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  752. data/ext/.idea/ext.iml +0 -2
  753. data/ext/.idea/misc.xml +0 -4
  754. data/ext/.idea/modules.xml +0 -8
  755. data/ext/.idea/vcs.xml +0 -12
  756. data/ext/couchbase/configuration_monitor.hxx +0 -93
  757. data/ext/couchbase/io/session_manager.hxx +0 -127
  758. data/ext/couchbase/operations/command.hxx +0 -152
  759. data/ext/test/main.cxx +0 -67
  760. data/ext/third_party/asio/.appveyor.yml +0 -107
  761. data/ext/third_party/asio/.cirrus.yml +0 -16
  762. data/ext/third_party/asio/.gitignore +0 -3
  763. data/ext/third_party/asio/.travis.yml +0 -323
  764. data/ext/third_party/asio/asio/.gitignore +0 -23
  765. data/ext/third_party/asio/asio/COPYING +0 -4
  766. data/ext/third_party/asio/asio/INSTALL +0 -5
  767. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  768. data/ext/third_party/asio/asio/Makefile.am +0 -19
  769. data/ext/third_party/asio/asio/README +0 -4
  770. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  771. data/ext/third_party/asio/asio/autogen.sh +0 -55
  772. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  773. data/ext/third_party/asio/asio/boostify.pl +0 -603
  774. data/ext/third_party/asio/asio/configure.ac +0 -182
  775. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  776. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  777. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  778. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  779. data/ext/third_party/asio/asio/release.pl +0 -440
  780. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  781. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  782. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  783. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  784. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  785. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  786. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  787. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  788. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  789. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  790. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  791. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  792. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  793. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  794. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  795. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  796. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  797. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  798. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  799. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  800. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  801. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  802. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  803. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  804. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  805. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  806. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  807. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  808. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  809. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  810. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  811. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  812. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  813. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  814. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  815. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  816. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  817. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  818. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  819. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  820. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  821. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  822. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  823. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  824. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  825. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  826. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  827. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  828. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  829. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  830. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  831. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  832. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  833. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  834. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  835. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  836. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  837. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  838. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  839. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  840. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  841. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  842. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  843. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  844. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  845. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  846. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  847. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  848. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  849. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  850. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  851. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  852. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  853. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  854. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  855. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  856. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  857. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  858. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  859. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  860. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  861. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  862. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  863. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  864. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  865. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  866. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  867. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  868. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  869. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  870. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  871. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  872. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  873. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  874. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  875. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  876. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  877. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  878. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  879. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  880. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  881. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  882. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  883. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  884. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  885. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  886. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  887. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  888. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  889. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  890. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  891. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  892. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  893. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  894. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  895. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  896. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  897. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  898. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  899. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  900. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  901. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  902. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  903. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  904. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  905. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  906. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  907. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  908. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  909. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  910. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  911. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  912. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  913. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  914. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  915. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  916. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  917. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  918. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  919. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  944. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  945. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  946. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  947. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  948. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  949. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  950. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  951. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  952. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  953. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  954. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  955. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  956. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  957. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  958. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  959. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  960. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  961. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  962. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  963. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  964. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  965. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  966. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  967. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  968. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  969. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  970. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  971. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  972. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  973. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  974. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  975. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  976. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  977. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  978. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  979. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  980. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  981. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  982. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  983. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  984. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  985. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  986. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  987. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  988. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  989. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  990. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  991. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  992. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  993. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  994. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  995. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  996. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  997. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  998. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  999. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  1029. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  1030. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  1031. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  1032. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  1033. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  1034. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  1035. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  1036. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  1037. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  1038. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  1039. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  1040. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  1041. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  1042. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  1043. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  1044. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  1045. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  1046. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  1047. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1048. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1049. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1050. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1051. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1052. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1053. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1054. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1055. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1056. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1057. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1058. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1059. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1060. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1061. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1062. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1063. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1064. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1065. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1066. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1067. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1068. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1069. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1070. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1071. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1072. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1073. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1074. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1075. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1076. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1077. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1120. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1121. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1122. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1123. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1124. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1125. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1126. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1127. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1128. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1129. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1130. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1131. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1132. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1133. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1134. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1135. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1136. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1137. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1138. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1139. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1140. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1141. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1142. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1143. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1144. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1145. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1146. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1147. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1148. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1149. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1150. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1151. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1152. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1153. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1154. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1155. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1156. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1157. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1158. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1159. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1160. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1161. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1162. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1163. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1164. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1165. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1166. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1167. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1168. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1169. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1170. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1171. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1172. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1173. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1174. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1175. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1176. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1177. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1178. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1179. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1180. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1181. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1182. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1183. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1184. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1185. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1186. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1187. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1188. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1189. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1190. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1191. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1192. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1193. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1194. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1195. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1196. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1197. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1198. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1199. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1200. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1201. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1202. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1203. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1204. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1205. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1206. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1207. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1208. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1209. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1210. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1211. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1212. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1213. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1214. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1215. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1216. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1217. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1218. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1219. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1220. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1221. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1222. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1224. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1225. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1226. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1227. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1228. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1230. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1231. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1232. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1233. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1234. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1235. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1236. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1238. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1239. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1240. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1241. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1242. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1243. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1245. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1246. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1247. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1248. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1249. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1250. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1251. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1252. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1253. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1254. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1255. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1256. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1257. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1258. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1259. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1260. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1261. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1262. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1263. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1264. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1265. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1266. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1267. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1268. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1269. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1270. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1271. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1272. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1273. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1274. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1275. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1276. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1277. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1278. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1279. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1280. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1281. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1282. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1283. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1284. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1285. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1286. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1287. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1288. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1289. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1291. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1292. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1294. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1295. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1296. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1297. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1298. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1299. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1300. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1301. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1302. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1303. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1304. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1305. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1306. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1307. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1308. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1309. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1310. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1311. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1312. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1313. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1314. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1315. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1316. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1317. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1318. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1319. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1320. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1321. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1322. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1323. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1324. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1325. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1326. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1327. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1328. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1329. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1330. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1331. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1332. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1333. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1334. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1335. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1336. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1337. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1338. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1339. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1340. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1341. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1342. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1343. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1344. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1345. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1346. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1347. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1348. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1349. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1350. data/ext/third_party/gsl/.clang-format +0 -34
  1351. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1352. data/ext/third_party/gsl/.gitignore +0 -16
  1353. data/ext/third_party/gsl/.travis.yml +0 -551
  1354. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1355. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1356. data/ext/third_party/gsl/GSL.natvis +0 -98
  1357. data/ext/third_party/gsl/README.md +0 -124
  1358. data/ext/third_party/gsl/appveyor.yml +0 -128
  1359. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1360. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1361. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1362. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1363. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1364. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1365. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1366. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1367. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1368. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1369. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1370. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1371. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1372. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1373. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1374. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1375. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1376. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1377. data/ext/third_party/http_parser/.gitignore +0 -30
  1378. data/ext/third_party/http_parser/.mailmap +0 -8
  1379. data/ext/third_party/http_parser/.travis.yml +0 -13
  1380. data/ext/third_party/http_parser/AUTHORS +0 -68
  1381. data/ext/third_party/http_parser/README.md +0 -246
  1382. data/ext/third_party/http_parser/bench.c +0 -128
  1383. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1384. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1385. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1386. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1387. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1388. data/ext/third_party/http_parser/test.c +0 -4600
  1389. data/ext/third_party/json/.appveyor.yml +0 -44
  1390. data/ext/third_party/json/.clang-format +0 -84
  1391. data/ext/third_party/json/.conan/build.py +0 -80
  1392. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1393. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1394. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1395. data/ext/third_party/json/.gitignore +0 -3
  1396. data/ext/third_party/json/.travis.yml +0 -173
  1397. data/ext/third_party/json/README.md +0 -149
  1398. data/ext/third_party/json/conanfile.py +0 -28
  1399. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1400. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1401. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1402. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1403. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1404. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1405. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1406. data/ext/third_party/json/doc/Changelog.md +0 -31
  1407. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1408. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1409. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1410. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1411. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1412. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1413. data/ext/third_party/json/doc/Overview.md +0 -24
  1414. data/ext/third_party/json/doc/Overview.png +0 -0
  1415. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1416. data/ext/third_party/json/doc/README.md +0 -78
  1417. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1418. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1419. data/ext/third_party/json/doc/Types.png +0 -0
  1420. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1421. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1422. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1423. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1424. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1425. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1426. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1427. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1428. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1429. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1430. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1431. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1432. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1433. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1434. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1435. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1436. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1437. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1438. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1439. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1440. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1441. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1442. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1443. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1444. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1445. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1446. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1447. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1448. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1449. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1450. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1451. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1452. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1453. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1454. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1455. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1456. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1457. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1458. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1459. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1460. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1461. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1462. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1463. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1464. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1465. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1466. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1467. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1468. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1469. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1470. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1471. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1472. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1473. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1474. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1475. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1476. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1477. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1478. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1479. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1480. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1481. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1482. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1483. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1484. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1485. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1486. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1487. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1488. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1489. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1490. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1491. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1492. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1493. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1494. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1495. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1496. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1497. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1498. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1499. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1500. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1501. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1502. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1503. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1504. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1505. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1506. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1507. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1508. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1509. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1510. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1511. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1512. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1513. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1514. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1515. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1516. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1517. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1518. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1519. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1520. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1521. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1522. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1523. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1524. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1525. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1526. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1527. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1528. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1529. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1530. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1531. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1532. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1533. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1534. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1535. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1536. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1537. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1538. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1539. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1540. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1541. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1542. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1543. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1544. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1545. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1546. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1547. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1548. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1549. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1550. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1551. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1552. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1553. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1554. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1555. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1556. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1557. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1558. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1559. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1560. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1561. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1562. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1563. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1564. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1565. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1566. data/ext/third_party/json/tests/blns.json +0 -496
  1567. data/ext/third_party/json/tests/canada.json +0 -9
  1568. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1569. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1570. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1571. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1572. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1573. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1574. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1575. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1576. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1577. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1578. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1579. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1580. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1581. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1582. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1583. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1584. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1585. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1586. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1587. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1588. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1589. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1590. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1591. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1592. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1593. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1594. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1595. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1596. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1597. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1598. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1599. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1600. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1601. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1602. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1603. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1604. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1605. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1606. data/ext/third_party/json/tests/twitter.json +0 -15482
  1607. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1608. data/ext/third_party/snappy/.gitignore +0 -8
  1609. data/ext/third_party/snappy/.travis.yml +0 -98
  1610. data/ext/third_party/snappy/AUTHORS +0 -1
  1611. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1612. data/ext/third_party/snappy/NEWS +0 -188
  1613. data/ext/third_party/snappy/README.md +0 -148
  1614. data/ext/third_party/snappy/docs/README.md +0 -72
  1615. data/ext/third_party/snappy/format_description.txt +0 -110
  1616. data/ext/third_party/snappy/framing_format.txt +0 -135
  1617. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1618. data/ext/third_party/snappy/snappy-test.h +0 -526
  1619. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1620. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1621. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1622. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1623. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1624. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1625. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1626. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1627. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1628. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1629. data/ext/third_party/snappy/testdata/html +0 -1
  1630. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1631. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1632. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1633. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1634. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1635. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1636. data/ext/third_party/spdlog/.clang-format +0 -108
  1637. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1638. data/ext/third_party/spdlog/.gitattributes +0 -1
  1639. data/ext/third_party/spdlog/.gitignore +0 -83
  1640. data/ext/third_party/spdlog/.travis.yml +0 -112
  1641. data/ext/third_party/spdlog/INSTALL +0 -24
  1642. data/ext/third_party/spdlog/README.md +0 -423
  1643. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1644. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1645. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1646. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1647. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1648. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1649. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1650. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1651. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1652. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1653. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  1654. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  1655. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  1656. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  1657. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  1658. data/ext/third_party/spdlog/tests/catch.license +0 -23
  1659. data/ext/third_party/spdlog/tests/includes.h +0 -26
  1660. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  1661. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  1662. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  1663. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  1664. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  1665. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  1666. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  1667. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  1668. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  1669. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  1670. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  1671. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  1672. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  1673. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  1674. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  1675. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  1676. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  1677. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  1678. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  1679. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  1680. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  1681. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  1682. data/ext/third_party/spdlog/tests/utils.h +0 -18
  1683. data/rbi/couchbase.rbi +0 -79
@@ -15,4 +15,3 @@
15
15
  require "couchbase/version"
16
16
  require "couchbase/libcouchbase"
17
17
  require "couchbase/cluster"
18
-
@@ -0,0 +1,177 @@
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
+ require 'couchbase/json_transcoder'
16
+
17
+ module Couchbase
18
+ class Cluster
19
+ class AnalyticsOptions
20
+ # @return [Integer] Timeout in milliseconds
21
+ attr_accessor :timeout
22
+
23
+ # @return [String] Provides a custom client context ID for this query
24
+ attr_accessor :client_context_id
25
+
26
+ # @return [:not_bounded, :request_plus] specifies level of consistency for the query
27
+ attr_accessor :scan_consistency
28
+
29
+ # @return [Boolean] Allows explicitly marking a query as being readonly and not mutating any documents on the server side.
30
+ attr_accessor :readonly
31
+
32
+ # @return [Boolean] Allows to give certain requests higher priority than others
33
+ attr_accessor :priority
34
+
35
+ # @return [JsonTranscoder] transcoder to use on rows
36
+ attr_accessor :transcoder
37
+
38
+ # @api private
39
+ # @return [Hash<String => #to_json>]
40
+ attr_reader :raw_parameters
41
+
42
+ # @yieldparam [AnalyticsOptions] self
43
+ def initialize
44
+ @transcoder = JsonTranscoder.new
45
+ @raw_parameters = {}
46
+ @positional_parameters = nil
47
+ @named_parameters = nil
48
+ @scan_consistency = nil
49
+ yield self if block_given?
50
+ end
51
+
52
+ # Sets positional parameters for the query
53
+ #
54
+ # @param [Array] positional the list of parameters that have to be substituted in the statement
55
+ def positional_parameters(positional)
56
+ @positional_parameters = positional
57
+ @named_parameters = nil
58
+ end
59
+
60
+ # @api private
61
+ # @return [Array<String>, nil]
62
+ def export_positional_parameters
63
+ @positional_parameters&.map { |p| JSON.dump(p) }
64
+ end
65
+
66
+ # Sets named parameters for the query
67
+ #
68
+ # @param [Hash] named the key/value map of the parameters to substitute in the statement
69
+ def named_parameters(named)
70
+ @named_parameters = named
71
+ @positional_parameters = nil
72
+ end
73
+
74
+ # Allows providing custom JSON key/value pairs for advanced usage
75
+ #
76
+ # @param [String] key the parameter name (key of the JSON property)
77
+ # @param [Object] value the parameter value (value of the JSON property)
78
+ def raw(key, value)
79
+ @raw_parameters[key] = JSON.generate(value)
80
+ end
81
+
82
+ # @api private
83
+ # @return [Hash<String => String>, nil]
84
+ def export_named_parameters
85
+ @named_parameters&.each_with_object({}) { |(n, v), o| o[n.to_s] = JSON.dump(v) }
86
+ end
87
+ end
88
+
89
+ class AnalyticsWarning
90
+ # @return [Integer]
91
+ attr_accessor :code
92
+
93
+ # @return [String]
94
+ attr_accessor :message
95
+
96
+ # @param [Integer] code
97
+ # @param [String] message
98
+ def initialize(code, message)
99
+ @code = code
100
+ @message = message
101
+ end
102
+ end
103
+
104
+ class AnalyticsMetrics
105
+ # @return [Integer] duration in milliseconds
106
+ attr_accessor :elapsed_time
107
+
108
+ # @return [Integer] duration in milliseconds
109
+ attr_accessor :execution_time
110
+
111
+ # @return [Integer]
112
+ attr_accessor :result_count
113
+
114
+ # @return [Integer]
115
+ attr_accessor :result_size
116
+
117
+ # @return [Integer]
118
+ attr_accessor :error_count
119
+
120
+ # @return [Integer]
121
+ attr_accessor :processed_objects
122
+
123
+ # @return [Integer]
124
+ attr_accessor :warning_count
125
+
126
+ # @yieldparam [AnalyticsMetrics] self
127
+ def initialize
128
+ yield self if block_given?
129
+ end
130
+ end
131
+
132
+ class AnalyticsMetaData
133
+ # @return [String]
134
+ attr_accessor :request_id
135
+
136
+ # @return [String]
137
+ attr_accessor :client_context_id
138
+
139
+ # @return [:running, :success, :errors, :completed, :stopped, :timeout, :closed, :fatal, :aborted, :unknown]
140
+ attr_accessor :status
141
+
142
+ # @return [Hash] returns the signature as returned by the query engine which is then decoded as JSON object
143
+ attr_accessor :signature
144
+
145
+ # @return [Array<AnalyticsWarning>]
146
+ attr_accessor :warnings
147
+
148
+ # @return [AnalyticsMetrics]
149
+ attr_accessor :metrics
150
+
151
+ # @yieldparam [AnalyticsMetaData] self
152
+ def initialize
153
+ yield self if block_given?
154
+ end
155
+ end
156
+
157
+ class AnalyticsResult
158
+ # @return [AnalyticsMetaData]
159
+ attr_accessor :meta_data
160
+
161
+ attr_accessor :transcoder
162
+
163
+ # Returns all rows converted using a transcoder
164
+ #
165
+ # @return [Array]
166
+ def rows(transcoder = self.transcoder)
167
+ @rows.lazy.map { |row| transcoder.decode(row, 0) }
168
+ end
169
+
170
+ # @yieldparam [AnalyticsResult] self
171
+ def initialize
172
+ @transcoder = JsonTranscoder.new
173
+ yield self if block_given?
174
+ end
175
+ end
176
+ end
177
+ end
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module Couchbase
16
+ # Authenticator for username/password credentials
16
17
  class PasswordAuthenticator
17
18
  attr_accessor :username
18
19
  attr_accessor :password
@@ -22,4 +23,17 @@ module Couchbase
22
23
  @password = password
23
24
  end
24
25
  end
26
+
27
+ # Authenticator for TLS client certificate
28
+ #
29
+ # @see https://docs.couchbase.com/server/current/manage/manage-security/configure-client-certificates.html
30
+ class CertificateAuthenticator
31
+ attr_accessor :certificate_path
32
+ attr_accessor :key_path
33
+
34
+ def initialize(certificate_path, key_path)
35
+ @certificate_path = certificate_path
36
+ @key_path = key_path
37
+ end
38
+ end
25
39
  end
@@ -16,7 +16,7 @@ require "couchbase/binary_collection_options"
16
16
 
17
17
  module Couchbase
18
18
  class BinaryCollection
19
- alias_method :inspect, :to_s
19
+ alias inspect to_s
20
20
 
21
21
  # @param [Couchbase::Collection] collection parent collection
22
22
  def initialize(collection)
@@ -52,10 +52,10 @@ module Couchbase
52
52
  resp = @backend.document_increment(@collection.bucket_name, "#{@collection.scope_name}.#{@collection.name}", id,
53
53
  options.timeout,
54
54
  {
55
- delta: options.delta,
56
- initial_value: options.initial,
57
- expiration: options.expiration,
58
- durability_level: options.durability_level,
55
+ delta: options.delta,
56
+ initial_value: options.initial,
57
+ expiry: options.expiry,
58
+ durability_level: options.durability_level,
59
59
  })
60
60
  CounterResult.new do |res|
61
61
  res.cas = resp[:cas]
@@ -74,10 +74,10 @@ module Couchbase
74
74
  resp = @backend.document_decrement(@collection.bucket_name, "#{@collection.scope_name}.#{@collection.name}", id,
75
75
  options.timeout,
76
76
  {
77
- delta: options.delta,
78
- initial_value: options.initial,
79
- expiration: options.expiration,
80
- durability_level: options.durability_level,
77
+ delta: options.delta,
78
+ initial_value: options.initial,
79
+ expiry: options.expiry,
80
+ durability_level: options.durability_level,
81
81
  })
82
82
  CounterResult.new do |res|
83
83
  res.cas = resp[:cas]
@@ -22,6 +22,7 @@ module Couchbase
22
22
 
23
23
  # @yieldparam [AppendOptions] self
24
24
  def initialize
25
+ super
25
26
  yield self if block_given?
26
27
  end
27
28
  end
@@ -32,6 +33,7 @@ module Couchbase
32
33
 
33
34
  # @yieldparam [PrependOptions] self
34
35
  def initialize
36
+ super
35
37
  yield self if block_given?
36
38
  end
37
39
  end
@@ -44,21 +46,21 @@ module Couchbase
44
46
  attr_accessor :initial
45
47
 
46
48
  # @return [Integer] if set, holds the expiration for the operation
47
- attr_accessor :expiration
49
+ attr_accessor :expiry
48
50
 
49
51
  # @return [:none, :majority, :majority_and_persist_to_active, :persist_to_majority] level of durability
50
52
  attr_accessor :durability_level
51
53
 
52
54
  # @yieldparam [IncrementOptions] self
53
55
  def initialize
56
+ super
54
57
  @delta = 1
55
58
  yield self if block_given?
56
59
  end
57
60
 
58
61
  def delta=(value)
59
- if delta < 0
60
- raise ArgumentError, "the delta cannot be less than 0"
61
- end
62
+ raise ArgumentError, "the delta cannot be less than 0" if delta.negative?
63
+
62
64
  @delta = value
63
65
  end
64
66
  end
@@ -71,21 +73,21 @@ module Couchbase
71
73
  attr_accessor :initial
72
74
 
73
75
  # @return [Integer] if set, holds the expiration for the operation
74
- attr_accessor :expiration
76
+ attr_accessor :expiry
75
77
 
76
78
  # @return [:none, :majority, :majority_and_persist_to_active, :persist_to_majority] level of durability
77
79
  attr_accessor :durability_level
78
80
 
79
81
  # @yieldparam [DecrementOptions] self
80
82
  def initialize
83
+ super
81
84
  @delta = 1
82
85
  yield self if block_given?
83
86
  end
84
87
 
85
88
  def delta=(value)
86
- if delta < 0
87
- raise ArgumentError, "the delta cannot be less than 0"
88
- end
89
+ raise ArgumentError, "the delta cannot be less than 0" if delta.negative?
90
+
89
91
  @delta = value
90
92
  end
91
93
  end
@@ -14,14 +14,19 @@
14
14
 
15
15
  require "couchbase/scope"
16
16
  require "couchbase/management/collection_manager"
17
+ require "couchbase/management/view_index_manager"
18
+ require "couchbase/view_options"
17
19
 
18
20
  module Couchbase
19
21
  class Bucket
20
- alias_method :inspect, :to_s
22
+ # @return [String] name of the bucket
23
+ attr_reader :name
24
+
25
+ alias inspect to_s
21
26
 
22
27
  # @param [Couchbase::Backend] backend
23
28
  def initialize(backend, name)
24
- backend.open_bucket(name)
29
+ backend.open_bucket(name, true)
25
30
  @backend = backend
26
31
  @name = name
27
32
  end
@@ -55,7 +60,49 @@ module Couchbase
55
60
  #
56
61
  # @return [Collection]
57
62
  def default_collection
58
- default_scope.default_collection
63
+ Collection.new(@backend, @name, :_default, :_default)
64
+ end
65
+
66
+ # Performs query to view index.
67
+ #
68
+ # @param [String] design_document_name name of the design document
69
+ # @param [String] view_name name of the view to query
70
+ # @param [ViewOptions] options
71
+ #
72
+ # @return [ViewResult]
73
+ def view_query(design_document_name, view_name, options = ViewOptions.new)
74
+ resp = @backend.document_view(@name, design_document_name, view_name, options.namespace, {
75
+ timeout: options.timeout,
76
+ scan_consistency: options.scan_consistency,
77
+ skip: options.skip,
78
+ limit: options.limit,
79
+ start_key: (JSON.generate(options.start_key) unless options.start_key.nil?),
80
+ end_key: (JSON.generate(options.end_key) unless options.end_key.nil?),
81
+ start_key_doc_id: options.start_key_doc_id,
82
+ end_key_doc_id: options.end_key_doc_id,
83
+ inclusive_end: options.inclusive_end,
84
+ group: options.group,
85
+ group_level: options.group_level,
86
+ key: (JSON.generate(options.key) unless options.key.nil?),
87
+ keys: options.keys&.map { |key| JSON.generate(key) },
88
+ order: options.order,
89
+ reduce: options.reduce,
90
+ on_error: options.on_error,
91
+ debug: options.debug,
92
+ })
93
+ ViewResult.new do |res|
94
+ res.meta_data = ViewMetaData.new do |meta|
95
+ meta.total_rows = resp[:meta][:total_rows]
96
+ meta.debug_info = resp[:meta][:debug_info]
97
+ end
98
+ res.rows = resp[:rows].map do |entry|
99
+ ViewRow.new do |row|
100
+ row.id = entry[:id] if entry.key?(:id)
101
+ row.key = JSON.parse(entry[:key])
102
+ row.value = JSON.parse(entry[:value])
103
+ end
104
+ end
105
+ end
59
106
  end
60
107
 
61
108
  # @return [Management::CollectionManager]
@@ -63,6 +110,11 @@ module Couchbase
63
110
  Management::CollectionManager.new(@backend, @name)
64
111
  end
65
112
 
113
+ # @return [Management::ViewIndexManager]
114
+ def view_indexes
115
+ Management::ViewIndexManager.new(@backend, @name)
116
+ end
117
+
66
118
  # Performs application-level ping requests against services in the couchbase cluster
67
119
  #
68
120
  # @return [PingResult]
@@ -22,21 +22,36 @@ require "couchbase/management/analytics_index_manager"
22
22
  require "couchbase/management/search_index_manager"
23
23
 
24
24
  require "couchbase/search_options"
25
+ require "couchbase/query_options"
26
+ require "couchbase/analytics_options"
25
27
 
26
28
  module Couchbase
27
29
  class Cluster
28
- alias_method :inspect, :to_s
30
+ alias inspect to_s
29
31
 
30
32
  # Connect to the Couchbase cluster
31
33
  #
32
- # @param [String] connection_string connection string used to locate the Couchbase Cluster
33
- # @param [ClusterOptions] options custom options when creating the cluster connection
34
+ # @overload connect(connection_string, options)
35
+ # @param [String] connection_string connection string used to locate the Couchbase Cluster
36
+ # @param [ClusterOptions] options custom options when creating the cluster connection
37
+ #
38
+ # @overload connect(connection_string, username, password, options)
39
+ # Shortcut for {PasswordAuthenticator}
40
+ # @param [String] connection_string connection string used to locate the Couchbase Cluster
41
+ # @param [String] username name of the user
42
+ # @param [String] password password of the user
43
+ # @param [ClusterOptions, nil] options custom options when creating the cluster connection
34
44
  #
35
45
  # @return [Cluster]
36
- def self.connect(connection_string, options)
37
- Cluster.new(connection_string, options)
46
+ def self.connect(connection_string, *options)
47
+ Cluster.new(connection_string, *options)
38
48
  end
39
49
 
50
+ # Returns an instance of the {Bucket}
51
+ #
52
+ # @param [String] name name of the bucket
53
+ #
54
+ # @return [Bucket]
40
55
  def bucket(name)
41
56
  Bucket.new(@backend, name)
42
57
  end
@@ -49,29 +64,24 @@ module Couchbase
49
64
  # @return [QueryResult]
50
65
  def query(statement, options = QueryOptions.new)
51
66
  resp = @backend.document_query(statement, {
52
- timeout: options.timeout,
53
- adhoc: options.adhoc,
54
- client_context_id: options.client_context_id,
55
- max_parallelism: options.max_parallelism,
56
- readonly: options.readonly,
57
- scan_wait: options.scan_wait,
58
- scan_cap: options.scan_cap,
59
- pipeline_batch: options.pipeline_batch,
60
- pipeline_cap: options.pipeline_cap,
61
- metrics: options.metrics,
62
- profile: options.profile,
63
- positional_parameters: options.instance_variable_get("@positional_parameters")&.map { |p| JSON.dump(p) },
64
- named_parameters: options.instance_variable_get("@named_parameters")&.each_with_object({}) { |(n, v), o| o[n.to_s] = JSON.dump(v) },
65
- raw_parameters: options.instance_variable_get("@raw_parameters"),
66
- scan_consistency: options.instance_variable_get("@scan_consistency"),
67
- mutation_state: options.instance_variable_get("@mutation_state")&.tokens&.map { |t|
68
- {
69
- bucket_name: t.bucket_name,
70
- partition_id: t.partition_id,
71
- partition_uuid: t.partition_uuid,
72
- sequence_number: t.sequence_number,
73
- }
74
- },
67
+ timeout: options.timeout,
68
+ adhoc: options.adhoc,
69
+ client_context_id: options.client_context_id,
70
+ max_parallelism: options.max_parallelism,
71
+ readonly: options.readonly,
72
+ flex_index: options.flex_index,
73
+ scan_wait: options.scan_wait,
74
+ scan_cap: options.scan_cap,
75
+ pipeline_batch: options.pipeline_batch,
76
+ pipeline_cap: options.pipeline_cap,
77
+ metrics: options.metrics,
78
+ profile: options.profile,
79
+ positional_parameters: options.export_positional_parameters,
80
+ named_parameters: options.export_named_parameters,
81
+ scope_qualifier: options.scope_qualifier,
82
+ raw_parameters: options.raw_parameters,
83
+ scan_consistency: options.scan_consistency,
84
+ mutation_state: options.mutation_state&.to_a,
75
85
  })
76
86
 
77
87
  QueryResult.new do |res|
@@ -87,6 +97,7 @@ module Couchbase
87
97
  metrics.execution_time = resp[:meta][:metrics][:execution_time]
88
98
  metrics.sort_count = resp[:meta][:metrics][:sort_count]
89
99
  metrics.result_count = resp[:meta][:metrics][:result_count]
100
+ metrics.result_size = resp[:meta][:metrics][:result_size]
90
101
  metrics.mutation_count = resp[:meta][:metrics][:mutation_count]
91
102
  metrics.error_count = resp[:meta][:metrics][:error_count]
92
103
  metrics.warning_count = resp[:meta][:metrics][:warning_count]
@@ -104,7 +115,42 @@ module Couchbase
104
115
  # @param [AnalyticsOptions] options the custom options for this query
105
116
  #
106
117
  # @return [AnalyticsResult]
107
- def analytics_query(statement, options = AnalyticsOptions.new) end
118
+ def analytics_query(statement, options = AnalyticsOptions.new)
119
+ resp = @backend.document_analytics(statement, {
120
+ timeout: options.timeout,
121
+ client_context_id: options.client_context_id,
122
+ scan_consistency: options.scan_consistency,
123
+ readonly: options.readonly,
124
+ priority: options.priority,
125
+ positional_parameters: options.export_positional_parameters,
126
+ named_parameters: options.export_named_parameters,
127
+ raw_parameters: options.raw_parameters,
128
+ })
129
+
130
+ AnalyticsResult.new do |res|
131
+ res.transcoder = options.transcoder
132
+ res.meta_data = AnalyticsMetaData.new do |meta|
133
+ meta.status = resp[:meta][:status]
134
+ meta.request_id = resp[:meta][:request_id]
135
+ meta.client_context_id = resp[:meta][:client_context_id]
136
+ meta.signature = JSON.parse(resp[:meta][:signature]) if resp[:meta][:signature]
137
+ meta.profile = JSON.parse(resp[:meta][:profile]) if resp[:meta][:profile]
138
+ meta.metrics = AnalyticsMetrics.new do |metrics|
139
+ if resp[:meta][:metrics]
140
+ metrics.elapsed_time = resp[:meta][:metrics][:elapsed_time]
141
+ metrics.execution_time = resp[:meta][:metrics][:execution_time]
142
+ metrics.result_count = resp[:meta][:metrics][:result_count]
143
+ metrics.result_size = resp[:meta][:metrics][:result_size]
144
+ metrics.error_count = resp[:meta][:metrics][:error_count]
145
+ metrics.warning_count = resp[:meta][:metrics][:warning_count]
146
+ metrics.processed_objects = resp[:meta][:metrics][:processed_objects]
147
+ end
148
+ end
149
+ res[:warnings] = resp[:warnings].map { |warn| QueryWarning.new(warn[:code], warn[:message]) } if resp[:warnings]
150
+ end
151
+ res.instance_variable_set("@rows", resp[:rows])
152
+ end
153
+ end
108
154
 
109
155
  # Performs a Full Text Search (FTS) query
110
156
  #
@@ -115,24 +161,18 @@ module Couchbase
115
161
  # @return [SearchResult]
116
162
  def search_query(index_name, query, options = SearchOptions.new)
117
163
  resp = @backend.document_search(index_name, JSON.generate(query), {
118
- timeout: options.timeout,
119
- limit: options.limit,
120
- skip: options.skip,
121
- explain: options.explain,
122
- highlight_style: options.highlight_style,
123
- highlight_fields: options.highlight_fields,
124
- fields: options.fields,
125
- sort: options.sort&.map { |v| JSON.generate(v) },
126
- facets: options.facets&.map { |(k, v)| [k, JSON.generate(v)] },
127
- scan_consistency: options.instance_variable_get("@scan_consistency"),
128
- mutation_state: options.instance_variable_get("@mutation_state")&.tokens&.map { |t|
129
- {
130
- bucket_name: t.bucket_name,
131
- partition_id: t.partition_id,
132
- partition_uuid: t.partition_uuid,
133
- sequence_number: t.sequence_number,
134
- }
135
- },
164
+ timeout: options.timeout,
165
+ limit: options.limit,
166
+ skip: options.skip,
167
+ explain: options.explain,
168
+ disable_scoring: options.disable_scoring,
169
+ highlight_style: options.highlight_style,
170
+ highlight_fields: options.highlight_fields,
171
+ fields: options.fields,
172
+ sort: options.sort&.map { |v| JSON.generate(v) },
173
+ facets: options.facets&.map { |(k, v)| [k, JSON.generate(v)] },
174
+ scan_consistency: options.scan_consistency,
175
+ mutation_state: options.mutation_state&.to_a,
136
176
  })
137
177
 
138
178
  SearchResult.new do |res|
@@ -142,6 +182,7 @@ module Couchbase
142
182
  meta.metrics.success_partition_count = resp[:meta_data][:metrics][:success_partition_count]
143
183
  meta.metrics.took = resp[:meta_data][:metrics][:took]
144
184
  meta.metrics.total_rows = resp[:meta_data][:metrics][:total_rows]
185
+ meta.errors = resp[:meta_data][:errors]
145
186
  end
146
187
  res.rows = resp[:rows].map do |r|
147
188
  SearchRow.new do |row|
@@ -151,50 +192,67 @@ module Couchbase
151
192
  row.score = r[:score]
152
193
  row.fragments = r[:fragments]
153
194
  row.locations = SearchRowLocations.new(
154
- r[:locations].map do |loc|
155
- SearchRowLocation.new do |location|
156
- location.field = loc[:field]
157
- location.term = loc[:term]
158
- location.position = loc[:position]
159
- location.start_offset = loc[:start_offset]
160
- location.end_offset = loc[:end_offset]
161
- location.array_positions = loc[:array_positions]
162
- end
195
+ r[:locations].map do |loc|
196
+ SearchRowLocation.new do |location|
197
+ location.field = loc[:field]
198
+ location.term = loc[:term]
199
+ location.position = loc[:position]
200
+ location.start_offset = loc[:start_offset]
201
+ location.end_offset = loc[:end_offset]
202
+ location.array_positions = loc[:array_positions]
163
203
  end
204
+ end
164
205
  )
165
206
  row.instance_variable_set("@fields", r[:fields])
166
207
  row.explanation = JSON.parse(r[:explanation]) if r[:explanation]
167
208
  end
168
209
  end
169
- res.facets = resp[:facets]&.each_with_object({}) do |(k, v), o|
170
- facet = case options.facets[k]
171
- when SearchFacet::SearchFacetTerm
172
- SearchFacetResult::TermFacetResult.new do |f|
173
- f.terms = v[:terms]&.map do |t|
174
- SearchFacetResult::TermFacetResult::TermFacet.new(t[:term], t[:count])
175
- end || []
210
+ if resp[:facets]
211
+ res.facets = resp[:facets].each_with_object({}) do |(k, v), o|
212
+ facet = case options.facets[k]
213
+ when SearchFacet::SearchFacetTerm
214
+ SearchFacetResult::TermFacetResult.new do |f|
215
+ f.terms =
216
+ if v[:terms]
217
+ v[:terms].map do |t|
218
+ SearchFacetResult::TermFacetResult::TermFacet.new(t[:term], t[:count])
219
+ end
220
+ else
221
+ []
222
+ end
223
+ end
224
+ when SearchFacet::SearchFacetDateRange
225
+ SearchFacetResult::DateRangeFacetResult.new do |f|
226
+ f.date_ranges =
227
+ if v[:date_ranges]
228
+ v[:date_ranges].map do |r|
229
+ SearchFacetResult::DateRangeFacetResult::DateRangeFacet.new(r[:name], r[:count], r[:start_time], r[:end_time])
230
+ end
231
+ else
232
+ []
233
+ end
234
+ end
235
+ when SearchFacet::SearchFacetNumericRange
236
+ SearchFacetResult::NumericRangeFacetResult.new do |f|
237
+ f.numeric_ranges =
238
+ if v[:numeric_ranges]
239
+ v[:numeric_ranges].map do |r|
240
+ SearchFacetResult::NumericRangeFacetResult::NumericRangeFacet.new(r[:name], r[:count], r[:min], r[:max])
241
+ end
242
+ else
243
+ []
244
+ end
245
+ end
246
+ else
247
+ next # ignore unknown facet result
176
248
  end
177
- when SearchFacet::SearchFacetDateRange
178
- SearchFacetResult::DateRangeFacetResult.new do |f|
179
- f.date_ranges = v[:date_ranges]&.map do |r|
180
- SearchFacetResult::DateRangeFacetResult::DateRangeFacet.new(r[:name], r[:count], r[:start_time], r[:end_time])
181
- end || []
182
- end
183
- when SearchFacet::SearchFacetNumericRange
184
- SearchFacetResult::NumericRangeFacetResult.new do |f|
185
- f.numeric_ranges = v[:numeric_ranges]&.map do |r|
186
- SearchFacetResult::NumericRangeFacetResult::NumericRangeFacet.new(r[:name], r[:count], r[:min], r[:max])
187
- end || []
188
- end
189
- else
190
- next # ignore unknown facet result
191
- end
192
- facet.name = v[:name]
193
- facet.field = v[:field]
194
- facet.total = v[:total]
195
- facet.missing = v[:missing]
196
- facet.other = v[:other]
197
- o[k] = facet
249
+ facet.name = v[:name]
250
+ facet.field = v[:field]
251
+ facet.total = v[:total]
252
+ facet.missing = v[:missing]
253
+ facet.other = v[:other]
254
+ o[k] = facet
255
+ end
198
256
  end
199
257
  end
200
258
  end
@@ -224,15 +282,43 @@ module Couchbase
224
282
  Management::SearchIndexManager.new(@backend)
225
283
  end
226
284
 
285
+ # Closes all connections to services and free allocated resources
286
+ #
287
+ # @return [void]
227
288
  def disconnect
228
289
  @backend.close
229
290
  end
230
291
 
231
- def diagnostics(options = DiagnosticsOptions.new) end
292
+ # Creates diagnostic report that can be used to determine the health of the network connections.
293
+ #
294
+ # It does not proactively perform any I/O against the network
295
+ #
296
+ # @return [DiagnosticsResult]
297
+ def diagnostics(options = DiagnosticsOptions.new)
298
+ resp = @backend.diagnostics(options.report_id)
299
+ pp resp
300
+ DiagnosticsResult.new do |res|
301
+ res.version = resp[:version]
302
+ res.id = resp[:id]
303
+ res.sdk = resp[:sdk]
304
+ resp[:services].each do |type, svcs|
305
+ res.services[type] = svcs.map do |svc|
306
+ DiagnosticsResult::ServiceInfo.new do |info|
307
+ info.id = svc[:id]
308
+ info.state = svc[:state]
309
+ info.last_activity_us = svc[:last_activity_us]
310
+ info.remote = svc[:remote]
311
+ info.local = svc[:local]
312
+ end
313
+ end
314
+ end
315
+ end
316
+ end
232
317
 
233
318
  class ClusterOptions
234
319
  attr_accessor :authenticator
235
320
 
321
+ # @yieldparam [ClusterOptions] self
236
322
  def initialize
237
323
  yield self if block_given?
238
324
  end
@@ -243,232 +329,145 @@ module Couchbase
243
329
  end
244
330
  end
245
331
 
246
- class QueryOptions
247
- # @return [Integer] Timeout in milliseconds
248
- attr_accessor :timeout
249
-
250
- # @return [Boolean] Allows turning this request into a prepared statement query
251
- attr_accessor :adhoc
252
-
253
- # @return [String] Provides a custom client context ID for this query
254
- attr_accessor :client_context_id
255
-
256
- # @return [Integer] Allows overriding the default maximum parallelism for the query execution on the server side.
257
- attr_accessor :max_parallelism
258
-
259
- # @return [Boolean] Allows explicitly marking a query as being readonly and not mutating and documents on the server side.
260
- attr_accessor :readonly
261
-
262
- # Allows customizing how long (in milliseconds) the query engine is willing to wait until the index catches up to whatever scan consistency is asked for in this query.
263
- #
264
- # @note that if +:not_bounded+ consistency level is used, this method doesn't do anything
265
- # at all. If no value is provided to this method, the server default is used.
266
- #
267
- # @return [Integer] The maximum duration (in milliseconds) the query engine is willing to wait before failing.
268
- attr_accessor :scan_wait
269
-
270
- # @return [Integer] Supports customizing the maximum buffered channel size between the indexer and the query service
271
- attr_accessor :scan_cap
272
-
273
- # @return [Integer] Supports customizing the number of items execution operators can batch for fetch from the KV layer on the server.
274
- attr_accessor :pipeline_batch
275
-
276
- # @return [Integer] Allows customizing the maximum number of items each execution operator can buffer between various operators on the server.
277
- attr_accessor :pipeline_cap
278
-
279
- # @return [Boolean] Enables per-request metrics in the trailing section of the query
280
- attr_accessor :metrics
281
-
282
- # @return [:off, :phases, :timings] Customize server profile level for this query
283
- attr_accessor :profile
332
+ class DiagnosticsOptions
333
+ # @return [String] Holds custom report id.
334
+ attr_accessor :report_id
284
335
 
336
+ # @yieldparam [DiagnosticsOptions] self
285
337
  def initialize
286
- @timeout = 75_000 # ms
287
- @adhoc = true
288
- @raw_parameters = {}
289
- @positional_parameters = nil
290
- @named_parameters = nil
291
- @scan_consistency = nil
292
- @mutation_state = nil
293
338
  yield self if block_given?
294
339
  end
295
-
296
- # Allows providing custom JSON key/value pairs for advanced usage
297
- #
298
- # @param [String] key the parameter name (key of the JSON property)
299
- # @param [Object] value the parameter value (value of the JSON property)
300
- def raw(key, value)
301
- @raw_parameters[key] = JSON.generate(value)
302
- end
303
-
304
- # Customizes the consistency guarantees for this query
305
- #
306
- # @note overrides consistency level set by {#consistent_with}
307
- #
308
- # [+:not_bounded+] The indexer will return whatever state it has to the query engine at the time of query. This is the default (for single-statement requests).
309
- #
310
- # [+:request_plus+] The indexer will wait until all mutations have been processed at the time of request before returning to the query engine.
311
- #
312
- # @param [:not_bounded, :request_plus] level the index scan consistency to be used for this query
313
- def scan_consistency=(level)
314
- @mutation_state = nil if @mutation_state
315
- @scan_consistency = level
316
- end
317
-
318
- # Sets the mutation tokens this query should be consistent with
319
- #
320
- # @note overrides consistency level set by {#scan_consistency=}
321
- #
322
- # @param [MutationState] mutation_state the mutation state containing the mutation tokens
323
- def consistent_with(mutation_state)
324
- @scan_consistency = nil if @scan_consistency
325
- @mutation_state = mutation_state
326
- end
327
-
328
- # Sets positional parameters for the query
329
- #
330
- # @param [Array] positional the list of parameters that have to be substituted in the statement
331
- def positional_parameters(positional)
332
- @positional_parameters = positional
333
- @named_parameters = nil
334
- end
335
-
336
- # Sets named parameters for the query
337
- #
338
- # @param [Hash] named the key/value map of the parameters to substitute in the statement
339
- def named_parameters(named)
340
- @named_parameters = named
341
- @positional_parameters = nil
342
- end
343
340
  end
344
341
 
345
- class QueryResult
346
- # @return [QueryMetaData] returns object representing additional metadata associated with this query
347
- attr_accessor :meta_data
348
-
349
- attr_accessor :transcoder
350
-
351
- # Returns all rows converted using a transcoder
352
- #
353
- # @return [Array]
354
- def rows(transcoder = self.transcoder)
355
- @rows.lazy.map do |row|
356
- if transcoder == :json
357
- JSON.parse(row)
358
- else
359
- transcoder.call(row)
360
- end
342
+ class DiagnosticsResult
343
+ class ServiceInfo
344
+ # @return [String] endpoint unique identifier
345
+ attr_accessor :id
346
+
347
+ # Possible states are:
348
+ #
349
+ # :disconnected:: the endpoint is not reachable
350
+ # :connecting:: currently connecting (includes auth, handshake, etc.)
351
+ # :connected:: connected and ready
352
+ # :disconnecting:: disconnecting (after being connected)
353
+ #
354
+ # @return [Symbol] state of the endpoint
355
+ attr_accessor :state
356
+
357
+ # @return [Integer] how long ago the endpoint was active (in microseconds)
358
+ attr_accessor :last_activity_us
359
+
360
+ # @return [String] remote address of the connection
361
+ attr_accessor :remote
362
+
363
+ # @return [String] local address of the connection
364
+ attr_accessor :local
365
+
366
+ # @yieldparam [ServiceInfo] self
367
+ def initialize
368
+ yield self if block_given?
361
369
  end
362
- end
363
-
364
- # @yieldparam [QueryResult] self
365
- def initialize
366
- yield self if block_given?
367
- @transcoder = :json
368
- end
369
- end
370
-
371
- class QueryMetaData
372
- # @return [String] returns the request identifier string of the query request
373
- attr_accessor :request_id
374
-
375
- # @return [String] returns the client context identifier string set of the query request
376
- attr_accessor :client_context_id
377
-
378
- # @return [Symbol] returns raw query execution status as returned by the query engine
379
- attr_accessor :status
380
-
381
- # @return [Hash] returns the signature as returned by the query engine which is then decoded as JSON object
382
- attr_accessor :signature
383
-
384
- # @return [Hash] returns the profiling information returned by the query engine which is then decoded as JSON object
385
- attr_accessor :profile
386
-
387
- # @return [QueryMetrics] metrics as returned by the query engine, if enabled
388
- attr_accessor :metrics
389
-
390
- # @return [List<QueryWarning>] list of warnings returned by the query engine
391
- attr_accessor :warnings
392
-
393
- # @yieldparam [QueryMetaData] self
394
- def initialize
395
- yield self if block_given?
396
- end
397
- end
398
-
399
- class QueryMetrics
400
- # @return [Integer] The total time taken for the request, that is the time from when the request was received until the results were returned
401
- attr_accessor :elapsed_time
402
-
403
- # @return [Integer] The time taken for the execution of the request, that is the time from when query execution started until the results were returned
404
- attr_accessor :execution_time
405
-
406
- # @return [Integer] the total number of results selected by the engine before restriction through LIMIT clause.
407
- attr_accessor :sort_count
408
-
409
- # @return [Integer] The total number of objects in the results.
410
- attr_accessor :result_count
411
-
412
- # @return [Integer] The total number of bytes in the results.
413
- attr_accessor :result_size
414
-
415
- # @return [Integer] The number of mutations that were made during the request.
416
- attr_accessor :mutation_count
417
370
 
418
- # @return [Integer] The number of errors that occurred during the request.
419
- attr_accessor :error_count
420
-
421
- # @return [Integer] The number of warnings that occurred during the request.
422
- attr_accessor :warning_count
423
-
424
- # @yieldparam [QueryMetrics] self
425
- def initialize
426
- yield self if block_given?
371
+ def to_json(*args)
372
+ data = {
373
+ id: @id,
374
+ state: @state,
375
+ remote: @remote,
376
+ local: @local,
377
+ }
378
+ data[:last_activity_us] = @last_activity_us if defined? @last_activity_us
379
+ data.to_json(*args)
380
+ end
427
381
  end
428
- end
429
382
 
430
- # Represents a single warning returned from the query engine.
431
- class QueryWarning
432
- # @return [Integer]
433
- attr_accessor :code
383
+ # @return [String] report id
384
+ attr_accessor :id
434
385
 
435
- # @return [String]
436
- attr_accessor :message
386
+ # @return [String] SDK identifier
387
+ attr_accessor :sdk
437
388
 
438
- def initialize(code, message)
439
- @code = code
440
- @message = message
441
- end
442
- end
389
+ # Returns information about currently service endpoints, that known to the library at the moment.
390
+ #
391
+ # :kv:: Key/Value data service
392
+ # :query:: N1QL query service
393
+ # :analytics:: Analtyics service
394
+ # :search:: Full text search service
395
+ # :views:: Views service
396
+ # :mgmt:: Management service
397
+ #
398
+ # @return [Hash<Symbol, ServiceInfo>] map service types to info
399
+ attr_accessor :services
443
400
 
444
- class AnalyticsOptions
401
+ # @yieldparam [DiagnosticsResult] self
445
402
  def initialize
403
+ @services = Hash.new
446
404
  yield self if block_given?
447
405
  end
448
- end
449
-
450
- class DiagnosticsOptions
451
- # @return [String] Holds custom report id.
452
- attr_accessor :report_id
453
406
 
454
- def initialize
455
- yield self if block_given?
407
+ # @api private
408
+ # @return [Integer] version
409
+ attr_accessor :version
410
+
411
+ def to_json(*args)
412
+ {
413
+ version: @version,
414
+ id: @id,
415
+ sdk: @sdk,
416
+ services: @services,
417
+ }.to_json(*args)
456
418
  end
457
419
  end
458
420
 
459
421
  private
460
422
 
461
- def initialize(connection_string, options)
462
- hostname = connection_string[%r{^couchbase://(.*)}, 1]
463
- raise ArgumentError, "missing hostname" unless hostname
464
- raise ArgumentError, "options must have authenticator configured" unless options.authenticator
465
- username = options.authenticator.username
466
- raise ArgumentError, "missing username" unless username
467
- password = options.authenticator.password
468
- raise ArgumentError, "missing password" unless password
423
+ # Initialize {Cluster} object
424
+ #
425
+ # @overload new(connection_string, options)
426
+ # @param [String] connection_string connection string used to locate the Couchbase Cluster
427
+ # @param [ClusterOptions] options custom options when creating the cluster connection
428
+ #
429
+ # @overload new(connection_string, username, password, options)
430
+ # Shortcut for {PasswordAuthenticator}
431
+ # @param [String] connection_string connection string used to locate the Couchbase Cluster
432
+ # @param [String] username name of the user
433
+ # @param [String] password password of the user
434
+ # @param [ClusterOptions, nil] options custom options when creating the cluster connection
435
+ def initialize(connection_string, *args)
436
+ credentials = {}
437
+
438
+ options = args.shift
439
+ case options
440
+ when String
441
+ credentials[:username] = options
442
+ credentials[:password] = args.shift
443
+ raise ArgumentError, "missing username" unless credentials[:username]
444
+ raise ArgumentError, "missing password" unless credentials[:password]
445
+ when ClusterOptions
446
+ authenticator = options&.authenticator
447
+ case authenticator
448
+ when PasswordAuthenticator
449
+ credentials[:username] = authenticator&.username
450
+ raise ArgumentError, "missing username" unless credentials[:username]
451
+
452
+ credentials[:password] = authenticator&.password
453
+ raise ArgumentError, "missing password" unless credentials[:password]
454
+
455
+ when CertificateAuthenticator
456
+ credentials[:certificate_path] = authenticator&.certificate_path
457
+ raise ArgumentError, "missing certificate path" unless credentials[:certificate_path]
458
+
459
+ credentials[:key_path] = authenticator&.key_path
460
+ raise ArgumentError, "missing key path" unless credentials[:key_path]
461
+
462
+ else
463
+ raise ArgumentError, "options must have authenticator configured"
464
+ end
465
+ else
466
+ raise ArgumentError, "unexpected second argument, have to be String or ClusterOptions"
467
+ end
469
468
 
470
469
  @backend = Backend.new
471
- @backend.open(hostname, username, password)
470
+ @backend.open(connection_string, credentials, {})
472
471
  end
473
472
  end
474
473
  end