couchbase 3.0.0 → 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 (901) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/CMakeLists.txt +86 -169
  4. data/ext/build_version.hxx.in +3 -2
  5. data/ext/cmake/Backtrace.cmake +35 -0
  6. data/ext/cmake/BuildTracing.cmake +6 -0
  7. data/ext/cmake/Cache.cmake +29 -0
  8. data/ext/cmake/CompilerWarnings.cmake +78 -0
  9. data/ext/cmake/PreventInSourceBuilds.cmake +18 -0
  10. data/ext/cmake/Sanitizers.cmake +66 -0
  11. data/ext/cmake/StandardProjectSettings.cmake +40 -0
  12. data/ext/cmake/StaticAnalyzers.cmake +37 -0
  13. data/ext/cmake/Testing.cmake +52 -0
  14. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  15. data/ext/cmake/VersionInfo.cmake +37 -0
  16. data/ext/couchbase/bucket.hxx +37 -12
  17. data/ext/couchbase/capabilities.hxx +117 -0
  18. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  19. data/ext/couchbase/cluster.hxx +34 -2
  20. data/ext/couchbase/cluster_options.hxx +1 -0
  21. data/ext/couchbase/configuration.hxx +228 -52
  22. data/ext/couchbase/couchbase.cxx +914 -35
  23. data/ext/couchbase/diagnostics.hxx +251 -0
  24. data/ext/couchbase/document_id.hxx +3 -1
  25. data/ext/couchbase/errors.hxx +10 -1
  26. data/ext/couchbase/io/http_command.hxx +11 -7
  27. data/ext/couchbase/io/http_context.hxx +37 -0
  28. data/ext/couchbase/io/http_message.hxx +9 -0
  29. data/ext/couchbase/io/http_parser.hxx +2 -0
  30. data/ext/couchbase/io/http_session.hxx +100 -14
  31. data/ext/couchbase/io/http_session_manager.hxx +65 -5
  32. data/ext/couchbase/io/mcbp_command.hxx +16 -7
  33. data/ext/couchbase/io/mcbp_session.hxx +193 -51
  34. data/ext/couchbase/io/query_cache.hxx +61 -0
  35. data/ext/couchbase/io/retry_context.hxx +1 -2
  36. data/ext/couchbase/io/retry_orchestrator.hxx +16 -0
  37. data/ext/couchbase/io/retry_strategy.hxx +1 -1
  38. data/ext/couchbase/io/streams.hxx +61 -10
  39. data/ext/couchbase/operations.hxx +13 -0
  40. data/ext/couchbase/operations/analytics_dataset_create.hxx +1 -1
  41. data/ext/couchbase/operations/analytics_dataset_drop.hxx +1 -1
  42. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +1 -1
  43. data/ext/couchbase/operations/analytics_dataverse_create.hxx +1 -1
  44. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +1 -1
  45. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +1 -1
  46. data/ext/couchbase/operations/analytics_index_create.hxx +1 -1
  47. data/ext/couchbase/operations/analytics_index_drop.hxx +1 -1
  48. data/ext/couchbase/operations/analytics_index_get_all.hxx +1 -1
  49. data/ext/couchbase/operations/analytics_link_connect.hxx +1 -1
  50. data/ext/couchbase/operations/analytics_link_disconnect.hxx +1 -1
  51. data/ext/couchbase/operations/bucket_create.hxx +11 -5
  52. data/ext/couchbase/operations/bucket_drop.hxx +1 -1
  53. data/ext/couchbase/operations/bucket_flush.hxx +1 -1
  54. data/ext/couchbase/operations/bucket_get.hxx +1 -1
  55. data/ext/couchbase/operations/bucket_get_all.hxx +1 -1
  56. data/ext/couchbase/operations/bucket_settings.hxx +43 -4
  57. data/ext/couchbase/operations/bucket_update.hxx +11 -5
  58. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +1 -1
  59. data/ext/couchbase/operations/collection_create.hxx +3 -1
  60. data/ext/couchbase/operations/collection_drop.hxx +1 -1
  61. data/ext/couchbase/operations/collections_manifest_get.hxx +70 -0
  62. data/ext/couchbase/operations/document_analytics.hxx +6 -1
  63. data/ext/couchbase/operations/document_get_projected.hxx +1 -1
  64. data/ext/couchbase/operations/document_query.hxx +85 -8
  65. data/ext/couchbase/operations/document_search.hxx +14 -4
  66. data/ext/couchbase/operations/document_view.hxx +1 -1
  67. data/ext/couchbase/operations/group_drop.hxx +71 -0
  68. data/ext/couchbase/operations/group_get.hxx +75 -0
  69. data/ext/couchbase/operations/group_get_all.hxx +70 -0
  70. data/ext/couchbase/operations/group_upsert.hxx +118 -0
  71. data/ext/couchbase/operations/query_index_build_deferred.hxx +1 -1
  72. data/ext/couchbase/operations/query_index_create.hxx +1 -1
  73. data/ext/couchbase/operations/query_index_drop.hxx +1 -1
  74. data/ext/couchbase/operations/query_index_get_all.hxx +3 -2
  75. data/ext/couchbase/operations/rbac.hxx +276 -0
  76. data/ext/couchbase/operations/role_get_all.hxx +70 -0
  77. data/ext/couchbase/operations/scope_create.hxx +6 -2
  78. data/ext/couchbase/operations/scope_drop.hxx +1 -1
  79. data/ext/couchbase/operations/scope_get_all.hxx +1 -1
  80. data/ext/couchbase/operations/search_get_stats.hxx +59 -0
  81. data/ext/couchbase/operations/search_index_analyze_document.hxx +1 -1
  82. data/ext/couchbase/operations/search_index_control_ingest.hxx +1 -1
  83. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +1 -1
  84. data/ext/couchbase/operations/search_index_control_query.hxx +1 -1
  85. data/ext/couchbase/operations/search_index_drop.hxx +1 -1
  86. data/ext/couchbase/operations/search_index_get.hxx +1 -1
  87. data/ext/couchbase/operations/search_index_get_all.hxx +1 -1
  88. data/ext/couchbase/operations/search_index_get_documents_count.hxx +24 -16
  89. data/ext/couchbase/operations/search_index_get_stats.hxx +81 -0
  90. data/ext/couchbase/operations/search_index_upsert.hxx +1 -1
  91. data/ext/couchbase/operations/user_drop.hxx +72 -0
  92. data/ext/couchbase/operations/user_get.hxx +76 -0
  93. data/ext/couchbase/operations/user_get_all.hxx +71 -0
  94. data/ext/couchbase/operations/user_upsert.hxx +125 -0
  95. data/ext/couchbase/operations/view_index_drop.hxx +1 -1
  96. data/ext/couchbase/operations/view_index_get.hxx +1 -1
  97. data/ext/couchbase/operations/view_index_get_all.hxx +1 -1
  98. data/ext/couchbase/operations/view_index_upsert.hxx +1 -1
  99. data/ext/couchbase/origin.hxx +4 -4
  100. data/ext/couchbase/platform/terminate_handler.cc +5 -4
  101. data/ext/couchbase/protocol/client_opcode.hxx +38 -38
  102. data/ext/couchbase/protocol/client_response.hxx +2 -2
  103. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -3
  104. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +3 -1
  105. data/ext/couchbase/protocol/magic.hxx +6 -6
  106. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  107. data/ext/couchbase/protocol/status.hxx +57 -57
  108. data/ext/couchbase/service_type.hxx +1 -1
  109. data/ext/couchbase/utils/connection_string.hxx +12 -3
  110. data/ext/couchbase/version.hxx +1 -1
  111. data/ext/extconf.rb +21 -9
  112. data/ext/test/test_helper.hxx +141 -0
  113. data/ext/test/test_helper_native.hxx +59 -0
  114. data/ext/test/test_helper_ruby.hxx +72 -0
  115. data/ext/test/test_native_diagnostics.cxx +385 -0
  116. data/ext/test/test_native_trivial_crud.cxx +83 -0
  117. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  118. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  119. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  120. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  121. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  122. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  123. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  124. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  125. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  126. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  127. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  128. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  129. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  130. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  131. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  132. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  133. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  134. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  135. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  136. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  137. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  138. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  139. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  140. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  141. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  142. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  143. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  144. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  145. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  146. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  147. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  148. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  149. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  150. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  151. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  152. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  153. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  154. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  155. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  156. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  157. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  158. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  159. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  160. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  161. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  162. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  163. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  164. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  165. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  166. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  167. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  168. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  169. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  170. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  171. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  172. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  173. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  174. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  175. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  176. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  177. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  178. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  179. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  180. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  181. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  182. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  183. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  184. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  185. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  186. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  187. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  188. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  189. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  190. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  191. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  192. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  193. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  194. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  195. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  196. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  198. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  199. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  200. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  201. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  202. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  203. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  204. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  205. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  206. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  207. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  208. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  209. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  210. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  211. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  212. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  213. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  214. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  215. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  216. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  217. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  218. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  219. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  220. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  221. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  222. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  223. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  224. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  225. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  226. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  227. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  228. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  229. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  230. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  231. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  232. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  233. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  234. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  235. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  236. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  237. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  238. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  239. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  240. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  241. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  242. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  243. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  244. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  245. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  246. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  247. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  248. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  249. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  250. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  251. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  252. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  253. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  254. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  255. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  256. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  257. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  258. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  259. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  260. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  261. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  262. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  263. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  264. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  265. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  266. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  267. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  268. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  269. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  270. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  271. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  272. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  273. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  274. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  275. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  276. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  277. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  278. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  279. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  280. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  281. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  282. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  283. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  284. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  285. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  286. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  287. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  288. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  289. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  290. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  291. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  292. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  293. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  294. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  295. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  296. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  297. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  298. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  299. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  300. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  301. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  302. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  303. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  304. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  305. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  306. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  307. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  308. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  309. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  310. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  311. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  312. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  313. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  314. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  315. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  316. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  317. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  318. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  319. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  320. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  321. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  322. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  323. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  324. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  325. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  326. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  327. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  328. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  329. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  330. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  331. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  332. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  333. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  334. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  335. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  336. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  337. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  338. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  339. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  340. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  341. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  342. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  343. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  344. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  345. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  346. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  347. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  348. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  349. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  350. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  351. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  352. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  353. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  354. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  355. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  356. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  357. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  358. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  359. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  360. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  361. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  362. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  363. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  364. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  365. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  366. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  367. data/ext/third_party/gsl/include/gsl/span +98 -46
  368. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  369. data/ext/third_party/http_parser/http_parser.c +17 -10
  370. data/ext/third_party/http_parser/http_parser.h +4 -2
  371. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  372. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  373. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  374. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  375. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  376. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  377. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  378. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  379. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  380. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  381. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  382. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  383. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  384. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  385. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  386. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  387. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  388. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  389. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  390. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  391. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  392. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  393. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  394. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  395. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  396. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  397. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  398. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  399. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  400. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  401. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  402. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  403. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  404. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  405. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  406. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  407. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  408. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  409. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  410. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  411. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  412. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  413. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  414. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  415. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  416. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  417. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  418. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  419. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  420. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  421. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  422. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  423. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  424. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  425. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  426. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  427. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  428. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  429. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  430. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  431. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian.hpp +4 -4
  432. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_gcc.hpp +2 -2
  433. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/endian_win.hpp +2 -2
  434. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint.hpp +9 -9
  435. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_mask_uint8.hpp +9 -10
  436. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint.hpp +9 -9
  437. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_uint8.hpp +9 -10
  438. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf16.hpp +10 -10
  439. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/peek_utf32.hpp +9 -9
  440. data/ext/third_party/json/include/tao/json/external/pegtl/{internal → contrib/internal}/read_uint.hpp +3 -3
  441. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  442. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  443. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  444. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  445. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  446. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  447. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  448. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  449. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  450. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  451. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  452. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  453. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  454. data/ext/third_party/json/include/tao/json/external/pegtl/{uint16.hpp → contrib/uint16.hpp} +5 -5
  455. data/ext/third_party/json/include/tao/json/external/pegtl/{uint32.hpp → contrib/uint32.hpp} +5 -5
  456. data/ext/third_party/json/include/tao/json/external/pegtl/{uint64.hpp → contrib/uint64.hpp} +5 -5
  457. data/ext/third_party/json/include/tao/json/external/pegtl/{uint8.hpp → contrib/uint8.hpp} +5 -5
  458. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  459. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  460. data/ext/third_party/json/include/tao/json/external/pegtl/{utf16.hpp → contrib/utf16.hpp} +5 -5
  461. data/ext/third_party/json/include/tao/json/external/pegtl/{utf32.hpp → contrib/utf32.hpp} +5 -5
  462. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  463. data/ext/third_party/json/include/tao/json/external/pegtl/{internal/demangle.hpp → demangle.hpp} +12 -14
  464. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  465. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  466. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  467. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  468. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  469. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  470. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  471. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  472. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  473. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  474. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  475. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  476. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  477. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  478. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  479. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  480. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  481. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  482. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  483. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  484. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  485. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  486. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  487. data/ext/third_party/json/include/tao/json/external/pegtl/internal/{always_false.hpp → dependent_false.hpp} +3 -8
  488. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  489. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  490. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  491. data/ext/third_party/json/include/tao/json/external/pegtl/internal/{skip_control.hpp → enable_control.hpp} +5 -5
  492. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  493. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  494. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  495. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  496. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  497. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  498. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +29 -26
  499. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  500. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  501. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  502. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  503. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  504. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  505. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  506. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  507. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  508. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  509. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  510. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  521. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  522. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  523. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  524. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  525. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  526. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  527. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  528. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  529. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  543. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  544. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  545. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  546. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  547. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  548. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  549. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  550. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  551. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  552. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  553. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  554. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  555. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  556. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  557. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  558. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  559. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  560. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  561. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  562. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  563. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  564. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  565. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  566. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  567. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  568. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  569. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  570. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  571. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  572. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  573. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  574. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  575. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  576. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  577. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  578. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  579. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  580. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  581. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  582. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  583. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  584. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  585. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  586. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  587. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  588. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  589. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  590. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  591. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  592. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  593. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  594. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  595. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  596. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  597. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  598. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  599. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  600. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  601. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  602. data/ext/third_party/snappy/snappy.cc +6 -2
  603. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  604. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  605. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  606. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  607. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  608. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  609. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  610. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  611. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  612. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  613. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  614. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  615. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  616. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  617. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  618. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  619. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  620. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  621. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  622. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  623. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  624. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  625. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  626. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  627. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  628. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  629. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  630. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  631. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  632. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  633. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  634. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  635. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  636. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  637. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  638. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  639. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  640. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  641. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  642. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  643. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  644. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  645. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  646. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  647. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  648. data/lib/couchbase/cluster.rb +111 -1
  649. data/lib/couchbase/collection_options.rb +18 -1
  650. data/lib/couchbase/errors.rb +3 -0
  651. data/lib/couchbase/management/bucket_manager.rb +36 -3
  652. data/lib/couchbase/management/search_index_manager.rb +42 -1
  653. data/lib/couchbase/management/user_manager.rb +155 -48
  654. data/lib/couchbase/query_options.rb +7 -0
  655. data/lib/couchbase/scope.rb +1 -0
  656. data/lib/couchbase/search_options.rb +69 -1
  657. data/lib/couchbase/version.rb +1 -1
  658. metadata +172 -268
  659. data/.rubocop.yml +0 -227
  660. data/.rubocop_todo.yml +0 -47
  661. data/.yardopts +0 -1
  662. data/CONTRIBUTING.md +0 -110
  663. data/Gemfile +0 -37
  664. data/Rakefile +0 -51
  665. data/couchbase.gemspec +0 -79
  666. data/examples/analytics.rb +0 -236
  667. data/examples/auth.rb +0 -33
  668. data/examples/crud.rb +0 -34
  669. data/examples/managing_analytics_indexes.rb +0 -86
  670. data/examples/managing_buckets.rb +0 -61
  671. data/examples/managing_collections.rb +0 -71
  672. data/examples/managing_query_indexes.rb +0 -83
  673. data/examples/managing_search_indexes.rb +0 -77
  674. data/examples/managing_view_indexes.rb +0 -68
  675. data/examples/query.rb +0 -32
  676. data/examples/query_with_consistency.rb +0 -86
  677. data/examples/search.rb +0 -202
  678. data/examples/search_with_consistency.rb +0 -97
  679. data/examples/subdocument.rb +0 -63
  680. data/examples/view.rb +0 -59
  681. data/ext/.clang-format +0 -15
  682. data/ext/.clang-tidy +0 -22
  683. data/ext/.cmake-format.yaml +0 -8
  684. data/ext/.gitignore +0 -2
  685. data/ext/.idea/.name +0 -1
  686. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  687. data/ext/.idea/ext.iml +0 -2
  688. data/ext/.idea/misc.xml +0 -16
  689. data/ext/.idea/modules.xml +0 -8
  690. data/ext/.idea/vcs.xml +0 -12
  691. data/ext/test/main.cxx +0 -184
  692. data/ext/third_party/asio/.appveyor.yml +0 -107
  693. data/ext/third_party/asio/.cirrus.yml +0 -16
  694. data/ext/third_party/asio/.gitignore +0 -3
  695. data/ext/third_party/asio/.travis.yml +0 -323
  696. data/ext/third_party/asio/asio/.gitignore +0 -23
  697. data/ext/third_party/asio/asio/COPYING +0 -4
  698. data/ext/third_party/asio/asio/INSTALL +0 -5
  699. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  700. data/ext/third_party/asio/asio/Makefile.am +0 -19
  701. data/ext/third_party/asio/asio/README +0 -4
  702. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  703. data/ext/third_party/asio/asio/autogen.sh +0 -55
  704. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  705. data/ext/third_party/asio/asio/boostify.pl +0 -603
  706. data/ext/third_party/asio/asio/configure.ac +0 -182
  707. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  708. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  709. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  710. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  711. data/ext/third_party/asio/asio/release.pl +0 -440
  712. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  713. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  714. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  715. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  716. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  717. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  718. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  719. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  720. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  721. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  722. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  723. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  724. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  725. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  726. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  727. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  728. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  729. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  730. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  731. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  732. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  733. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  734. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  735. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  736. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  737. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  738. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  739. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  740. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  741. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  742. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  743. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  744. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  745. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  746. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  747. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  748. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  749. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  750. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  751. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  752. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  753. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  754. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  755. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  756. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  757. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  758. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  759. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  760. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  761. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  762. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  763. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  764. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  765. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  766. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  767. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  768. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  769. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  770. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  771. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  772. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  773. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  774. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  775. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  776. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  777. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  778. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  779. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  780. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  781. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  782. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  783. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  784. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  785. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  786. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  787. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  788. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  789. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  790. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  791. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  792. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  793. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  794. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  795. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  796. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  797. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  798. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  799. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  800. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  801. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  802. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  803. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  804. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  805. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  806. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  807. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  808. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  809. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  810. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  811. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  812. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  813. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  814. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  815. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  816. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  817. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  818. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  819. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  820. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  821. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  822. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  823. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  824. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  825. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  826. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  827. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  828. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  829. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  830. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  831. data/ext/third_party/asio/asio/tsify.pl +0 -574
  832. data/ext/third_party/gsl/.clang-format +0 -34
  833. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  834. data/ext/third_party/gsl/.gitignore +0 -16
  835. data/ext/third_party/gsl/.travis.yml +0 -551
  836. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  837. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  838. data/ext/third_party/gsl/GSL.natvis +0 -98
  839. data/ext/third_party/gsl/README.md +0 -124
  840. data/ext/third_party/gsl/appveyor.yml +0 -128
  841. data/ext/third_party/http_parser/.gitignore +0 -30
  842. data/ext/third_party/http_parser/.mailmap +0 -8
  843. data/ext/third_party/http_parser/.travis.yml +0 -13
  844. data/ext/third_party/http_parser/AUTHORS +0 -68
  845. data/ext/third_party/http_parser/Makefile +0 -160
  846. data/ext/third_party/http_parser/README.md +0 -246
  847. data/ext/third_party/http_parser/bench.c +0 -128
  848. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  849. data/ext/third_party/http_parser/test.c +0 -4600
  850. data/ext/third_party/json/.appveyor.yml +0 -44
  851. data/ext/third_party/json/.clang-format +0 -84
  852. data/ext/third_party/json/.conan/build.py +0 -80
  853. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  854. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  855. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  856. data/ext/third_party/json/.gitignore +0 -3
  857. data/ext/third_party/json/.travis.yml +0 -173
  858. data/ext/third_party/json/Makefile +0 -77
  859. data/ext/third_party/json/README.md +0 -149
  860. data/ext/third_party/json/conanfile.py +0 -28
  861. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  862. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  863. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  864. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  865. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  866. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  867. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  868. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  869. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  870. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  871. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  872. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  873. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  874. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  875. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  876. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  877. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  878. data/ext/third_party/snappy/.appveyor.yml +0 -36
  879. data/ext/third_party/snappy/.gitignore +0 -8
  880. data/ext/third_party/snappy/.travis.yml +0 -98
  881. data/ext/third_party/snappy/AUTHORS +0 -1
  882. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  883. data/ext/third_party/snappy/NEWS +0 -188
  884. data/ext/third_party/snappy/README.md +0 -148
  885. data/ext/third_party/snappy/docs/README.md +0 -72
  886. data/ext/third_party/snappy/format_description.txt +0 -110
  887. data/ext/third_party/snappy/framing_format.txt +0 -135
  888. data/ext/third_party/snappy/snappy-test.cc +0 -613
  889. data/ext/third_party/snappy/snappy-test.h +0 -526
  890. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  891. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  892. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  893. data/ext/third_party/spdlog/.clang-format +0 -108
  894. data/ext/third_party/spdlog/.clang-tidy +0 -54
  895. data/ext/third_party/spdlog/.gitattributes +0 -1
  896. data/ext/third_party/spdlog/.gitignore +0 -83
  897. data/ext/third_party/spdlog/.travis.yml +0 -112
  898. data/ext/third_party/spdlog/INSTALL +0 -24
  899. data/ext/third_party/spdlog/README.md +0 -423
  900. data/ext/third_party/spdlog/appveyor.yml +0 -51
  901. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
@@ -1,30 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:EndpointSequence Endpoint sequence requirements]
9
-
10
- A type `X` meets the `EndpointSequence` requirements if it satisfies the
11
- requirements of `Destructible` (C++Std [destructible]) and `CopyConstructible`
12
- (C++Std [copyconstructible]), as well as the additional requirements listed
13
- below.
14
-
15
- In the table below, `x` denotes a (possibly const) value of type `X`.
16
-
17
- [table EndpointSequence requirements
18
- [[expression] [return type] [assertion/note[br]pre/post-condition]]
19
- [
20
- [`x.begin()`[br]
21
- `x.end()`]
22
- [A type meeting the requirements for forward iterators
23
- (C++Std \[forward.iterators\]) whose value type is convertible to
24
- a type satisfying the [link asio.reference.Endpoint `Endpoint`]
25
- requirements.]
26
- [[half_open_range `x.begin()`,`x.end()`] is a valid range.]
27
- ]
28
- ]
29
-
30
- [endsect]
@@ -1,36 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:ExecutionContext Execution context requirements]
9
-
10
- A type `X` meets the `ExecutionContext` requirements if it is publicly and
11
- unambiguously derived from `execution_context`, and satisfies the additional
12
- requirements listed below.
13
-
14
- In the table below, `x` denotes a value of type `X`.
15
-
16
- [table ExecutionContext requirements
17
- [[expression] [return type] [assertion/note[br]pre/post-condition]]
18
- [
19
- [`X::executor_type`]
20
- [type meeting [link asio.reference.Executor1 `Executor`] requirements]
21
- []
22
- ]
23
- [
24
- [`x.~X()`]
25
- []
26
- [Destroys all unexecuted function objects that were submitted via an
27
- executor object that is associated with the execution context.]
28
- ]
29
- [
30
- [`x.get_executor()`]
31
- [`X::executor_type`]
32
- [Returns an executor object that is associated with the execution context.]
33
- ]
34
- ]
35
-
36
- [endsect]
@@ -1,141 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:Executor1 Executor requirements]
9
-
10
- The library describes a standard set of requirements for ['executors]. A type
11
- meeting the `Executor` requirements embodies a set of rules for determining how
12
- submitted function objects are to be executed.
13
-
14
- A type `X` meets the `Executor` requirements if it satisfies the requirements of
15
- `CopyConstructible` (C++Std [copyconstructible]) and `Destructible` (C++Std
16
- [destructible]), as well as the additional requirements listed below.
17
-
18
- No constructor, comparison operator, copy operation, move operation, swap
19
- operation, or member functions `context`, `on_work_started`, and
20
- `on_work_finished` on these types shall exit via an exception.
21
-
22
- The executor copy constructor, comparison operators, and other member functions
23
- defined in these requirements shall not introduce data races as a result of
24
- concurrent calls to those functions from different threads.
25
-
26
- Let `ctx` be the execution context returned by the executor's `context()`
27
- member function. An executor becomes ['invalid] when the first call to
28
- `ctx.shutdown()` returns. The effect of calling `on_work_started`,
29
- `on_work_finished`, `dispatch`, `post`, or `defer` on an invalid executor is
30
- undefined. [inline_note The copy constructor, comparison operators, and
31
- `context()` member function continue to remain valid until `ctx` is destroyed.]
32
-
33
- In the table below, `x1` and `x2` denote (possibly const) values of type `X`,
34
- `mx1` denotes an xvalue of type `X`, `f` denotes a `MoveConstructible` (C++Std
35
- [moveconstructible]) function object callable with zero arguments, `a` denotes
36
- a (possibly const) value of type `A` meeting the `Allocator` requirements
37
- (C++Std [allocator.requirements]), and `u` denotes an identifier.
38
-
39
- [table Executor requirements
40
- [[expression] [type] [assertion/note[br]pre/post-conditions]]
41
- [
42
- [`X u(x1);`]
43
- []
44
- [Shall not exit via an exception.[br]
45
- [br]
46
- post: `u == x1` and
47
- `std::addressof(u.context()) == std::addressof(x1.context()).`]
48
- ]
49
- [
50
- [`X u(mx1);`]
51
- []
52
- [Shall not exit via an exception.[br]
53
- [br]
54
- post: `u` equals the prior value of `mx1` and
55
- `std::addressof(u.context())` equals the prior value of
56
- `std::addressof(mx1.context())`.]
57
- ]
58
- [
59
- [`x1 == x2`]
60
- [`bool`]
61
- [ Returns `true` only if `x1` and `x2` can be interchanged with identical
62
- effects in any of the expressions defined in these type requirements.
63
- [inline_note Returning `false` does not necessarily imply that the effects
64
- are not identical.][br]
65
- [br]
66
- `operator==` shall be reflexive, symmetric, and transitive, and shall not
67
- exit via an exception.]
68
- ]
69
- [
70
- [`x1 != x2`]
71
- [`bool`]
72
- [Same as `!(x1 == x2)`.]
73
- ]
74
- [
75
- [`x1.context()`]
76
- [`execution_context&`, or `E&` where `E` is a type that satifisfies the
77
- [link asio.reference.ExecutionContext `ExecutionContext`] requirements.]
78
- [Shall not exit via an exception.[br]
79
- [br]
80
- The comparison operators and member functions defined in these
81
- requirements shall not alter the reference returned by this function.]
82
- ]
83
- [
84
- [`x1.on_work_started()`]
85
- []
86
- [Shall not exit via an exception.]
87
- ]
88
- [
89
- [`x1.on_work_finished()`]
90
- []
91
- [Shall not exit via an exception.[br]
92
- [br]
93
- Precondition: A preceding call `x2.on_work_started()` where `x1 == x2`.]
94
- ]
95
- [
96
- [`x1.dispatch(std::move(f),a)`]
97
- []
98
- [Effects: Creates an object `f1` initialized with
99
- [^['DECAY_COPY]]`(forward<Func>(f))` (C++Std \[thread.decaycopy\]) in the
100
- current thread of execution . Calls `f1()` at most once. The executor may
101
- block forward progress of the caller until `f1()` finishes execution.[br]
102
- [br]
103
- Executor implementations should use the supplied allocator to allocate any
104
- memory required to store the function object. Prior to invoking the
105
- function object, the executor shall deallocate any memory allocated.
106
- [inline_note Executors defined in this Technical Specification always use
107
- the supplied allocator unless otherwise specified.][br]
108
- [br]
109
- Synchronization: The invocation of `dispatch` synchronizes with (C++Std
110
- \[intro.multithread\]) the invocation of `f1`.]
111
- ]
112
- [
113
- [`x1.post(std::move(f),a)`[br]
114
- `x1.defer(std::move(f),a)`]
115
- []
116
- [Effects: Creates an object `f1` initialized with
117
- [^['DECAY_COPY]]`(forward<Func>(f))` in the current thread of execution.
118
- Calls `f1()` at most once. The executor shall not block forward progress
119
- of the caller pending completion of `f1()`.[br]
120
- [br]
121
- Executor implementations should use the supplied allocator to allocate any
122
- memory required to store the function object. Prior to invoking the
123
- function object, the executor shall deallocate any memory allocated.
124
- [inline_note Executors defined in this Technical Specification always use
125
- the supplied allocator unless otherwise specified.][br]
126
- [br]
127
- Synchronization: The invocation of `post` or `defer` synchronizes with
128
- (C++Std \[intro.multithread\]) the invocation of `f1`.[br]
129
- [br]
130
- [inline_note Although the requirements placed on `defer` are identical to
131
- `post`, the use of `post` conveys a preference that the caller ['does not]
132
- block the first step of [^f1]'s progress, whereas `defer` conveys a
133
- preference that the caller ['does] block the first step of [^f1]. One use
134
- of `defer` is to convey the intention of the caller that [^f1] is a
135
- continuation of the current call context. The executor may use this
136
- information to optimize or otherwise adjust the way in which `f1` is
137
- invoked.]]
138
- ]
139
- ]
140
-
141
- [endsect]
@@ -1,33 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:GettableSerialPortOption Gettable serial port option requirements]
9
-
10
- In the table below, `X` denotes a serial port option class, `a` denotes a value
11
- of `X`, `ec` denotes a value of type `error_code`, and `s` denotes a value of
12
- implementation-defined type ['[^storage]] (where ['[^storage]] is the type
13
- `DCB` on Windows and `termios` on __POSIX__ platforms), and `u` denotes an
14
- identifier.
15
-
16
- [table GettableSerialPortOption requirements
17
- [[expression] [type] [assertion/note[br]pre/post-conditions]]
18
- [
19
- [
20
- `const `['[^storage]]`& u = s;`[br]
21
- `a.load(u, ec);`
22
- ]
23
- [`error_code`]
24
- [
25
- Retrieves the value of the serial port option from the storage.[br]
26
- [br]
27
- If successful, sets `ec` such that `!ec` is true. If an error occurred,
28
- sets `ec` such that `!!ec` is true. Returns `ec`.
29
- ]
30
- ]
31
- ]
32
-
33
- [endsect]
@@ -1,67 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:GettableSocketOption Gettable socket option requirements]
9
-
10
- A type `X` meets the `GettableSocketOption` requirements if it satisfies the
11
- requirements listed below.
12
-
13
- In the table below, `a` denotes a (possibly const) value of type `X`, `b`
14
- denotes a value of type `X`, `p` denotes a (possibly const) value that meets
15
- the [link asio.reference.Protocol `Protocol`] requirements, and `s` denotes a
16
- (possibly const) value of a type that is convertible to `size_t` and denotes a
17
- size in bytes.
18
-
19
- [table GettableSocketOption requirements for extensible implementations
20
- [[expression] [type] [assertion/note[br]pre/post-conditions]]
21
- [
22
- [`a.level(p)`]
23
- [`int`]
24
- [
25
- Returns a value suitable for passing as the /level/ argument to __POSIX__
26
- __getsockopt__ (or equivalent).
27
- ]
28
- ]
29
- [
30
- [`a.name(p)`]
31
- [`int`]
32
- [
33
- Returns a value suitable for passing as the /option_name/ argument to
34
- __POSIX__ __getsockopt__ (or equivalent).
35
- ]
36
- ]
37
- [
38
- [`b.data(p)`]
39
- [`void*`]
40
- [
41
- Returns a pointer suitable for passing as the /option_value/ argument to
42
- __POSIX__ __getsockopt__ (or equivalent).
43
- ]
44
- ]
45
- [
46
- [`a.size(p)`]
47
- [`size_t`]
48
- [
49
- Returns a value suitable for passing as the /option_len/ argument to
50
- __POSIX__ __getsockopt__ (or equivalent), after appropriate
51
- integer conversion has been performed.
52
- ]
53
- ]
54
- [
55
- [`b.resize(p,s)`]
56
- []
57
- [
58
- post: `b.size(p) == s`.[br]
59
- Passed the value contained in the /option_len/ argument to __POSIX__
60
- __getsockopt__ (or equivalent) after successful completion of the
61
- function. Permitted to throw an exception if the socket option object `b`
62
- does not support the specified size.
63
- ]
64
- ]
65
- ]
66
-
67
- [endsect]
@@ -1,64 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:Handler Handlers]
9
-
10
- A handler must meet the requirements of `MoveConstructible` types (C++Std
11
- [moveconstructible]).
12
-
13
- In the table below, `X` denotes a handler class, `h` denotes a value of `X`,
14
- `p` denotes a pointer to a block of allocated memory of type `void*`, `s`
15
- denotes the size for a block of allocated memory, and `f` denotes a function
16
- object taking no arguments.
17
-
18
- [table Handler requirements
19
- [[expression] [return type] [assertion/note[br]pre/post-conditions]]
20
- [
21
- [``
22
- using asio::asio_handler_allocate;
23
- asio_handler_allocate(s, &h);
24
- ``]
25
- [`void*`]
26
- [
27
- Returns a pointer to a block of memory of size `s`. The pointer must
28
- satisfy the same alignment requirements as a pointer returned by
29
- `::operator new()`. Throws `bad_alloc` on failure.[br][br] The
30
- `asio_handler_allocate()` function is located using argument-dependent
31
- lookup. The function `asio::asio_handler_allocate()` serves as a
32
- default if no user-supplied function is available.
33
- ]
34
- ]
35
- [
36
- [``
37
- using asio::asio_handler_deallocate;
38
- asio_handler_deallocate(p, s, &h);
39
- ``]
40
- []
41
- [
42
- Frees a block of memory associated with a pointer `p`, of at least size
43
- `s`, that was previously allocated using `asio_handler_allocate()`.[br][br] The
44
- `asio_handler_deallocate()` function is located using argument-dependent
45
- lookup. The function `asio::asio_handler_deallocate()` serves as a
46
- default if no user-supplied function is available.
47
- ]
48
- ]
49
- [
50
- [``
51
- using asio::asio_handler_invoke;
52
- asio_handler_invoke(f, &h);
53
- ``]
54
- []
55
- [
56
- Causes the function object `f` to be executed as if by calling `f()`.[br][br]
57
- The `asio_handler_invoke()` function is located using argument-dependent
58
- lookup. The function `asio::asio_handler_invoke()` serves as a
59
- default if no user-supplied function is available.
60
- ]
61
- ]
62
- ]
63
-
64
- [endsect]
@@ -1,72 +0,0 @@
1
- [/
2
- / Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3
- /
4
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
5
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
- /]
7
-
8
- [section:HandshakeHandler SSL handshake handler requirements]
9
-
10
- A handshake handler must meet the requirements for a [link
11
- asio.reference.Handler handler]. A value `h` of a handshake handler
12
- class should work correctly in the expression `h(ec)`, where `ec` is an lvalue
13
- of type `const error_code`.
14
-
15
- [heading Examples]
16
-
17
- A free function as a handshake handler:
18
-
19
- void handshake_handler(
20
- const asio::error_code& ec)
21
- {
22
- ...
23
- }
24
-
25
- A handshake handler function object:
26
-
27
- struct handshake_handler
28
- {
29
- ...
30
- void operator()(
31
- const asio::error_code& ec)
32
- {
33
- ...
34
- }
35
- ...
36
- };
37
-
38
- A lambda as a handshake handler:
39
-
40
- ssl_stream.async_handshake(...,
41
- [](const asio::error_code& ec)
42
- {
43
- ...
44
- });
45
-
46
- A non-static class member function adapted to a handshake handler using
47
- `std::bind()`:
48
-
49
- void my_class::handshake_handler(
50
- const asio::error_code& ec)
51
- {
52
- ...
53
- }
54
- ...
55
- ssl_stream.async_handshake(...,
56
- std::bind(&my_class::handshake_handler,
57
- this, std::placeholders::_1));
58
-
59
- A non-static class member function adapted to a handshake handler using
60
- `boost::bind()`:
61
-
62
- void my_class::handshake_handler(
63
- const asio::error_code& ec)
64
- {
65
- ...
66
- }
67
- ...
68
- ssl_stream.async_handshake(...,
69
- boost::bind(&my_class::handshake_handler,
70
- this, asio::placeholders::error));
71
-
72
- [endsect]