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
@@ -1,75 +0,0 @@
1
- # Interoperability
2
-
3
- * [General Notes](#general-notes)
4
- * [Specific Notes](#specific-notes)
5
- * [JSON](#json)
6
- * [JAXN](#jaxn)
7
- * [CBOR](#cbor)
8
- * [MsgPack](#msgpack)
9
- * [UBJSON](#ubjson)
10
- * [Unsupported Formats](#unsupported-formats)
11
-
12
- ## General Notes
13
-
14
- The following properties and limitations are a consequence of the internal data model and apply to the internal representation as well as all data formats.
15
-
16
- Numbers are stored and handled as `std::int64_t`, `std::uint64_t` or `double`, and most (all?) parsers will throw an exception when encountering a number that exceeds the combined range of these types.
17
-
18
- For binary formats, floating-point values are always written as 64-bit `double`.
19
- Decoding 16- and 32bit floating-point values, where defined, is of course supported.
20
-
21
- All string values, and, for text-based formats, the entire Value representation, have to be valid UTF-8.
22
- The binary format parsers can optionally trust the input which disables UTF-8 validation of strings.
23
-
24
- The Value Class uses a `std::map` for Objects and does not support multiple occurrences of the same key.
25
- The Events Interface processes keys individually and does not have this limitation.
26
-
27
- ## Specific Notes
28
-
29
- The following properties and limitations are specific to the interaction with particular file formats.
30
-
31
- ### JSON
32
-
33
- When serialising to JSON, Values that go beyond the JSON data model, i.e. binary data and non-finite floating point values, must be [transformed](Events-Interface.md#included-transformers) to something compatible with JSON.
34
-
35
- ### JAXN
36
-
37
- * Work-in-progress...
38
-
39
- ### CBOR
40
-
41
- CBOR allows arbitrary Values as keys in Objects, the data model of this library only supports strings.
42
- The CBOR parsers throw an exception whey they encounter an Object key that is not a string.
43
-
44
- Semantic tags are currently not supported, the CBOR parsers ignore and skip them.
45
-
46
- The CBOR Parts Parser returns strings as `std::string`, rather than `tao::string_view`, in order to support multi-part indefinite length strings.
47
- An alternative parser function `string_view()` only works for strings with a single top-level part and returns a `tao::string_view`.
48
-
49
- ### MsgPack
50
-
51
- MsgPack only has Arrays and Objects that contain a count of the number of sub-values at the beginning.
52
- The Events Consumers that encode MsgPack will throw an exception when either of the `begin_array()` or `begin_object()` functions is called without a size.
53
-
54
- Extension types are currently not supported, the MsgPack parsers throw an exception when they encounter an extension type.
55
-
56
- ### UBJSON
57
-
58
- * The No-Op value `N` is only supported as top-level padding.
59
- * Does not currently encode strongly typed Arrays or Objects, except:
60
- * Supports encoding and decoding of strongly typed Arrays of type `U` for binary data, and:
61
- * Supports decoding of all Arrays and Objects, including with size and strongly typed.
62
-
63
- ## Unsupported Formats
64
-
65
- The following JSON-esque formats are currently unsupported.
66
-
67
- * BSON
68
- * BJSON
69
- * jsonb
70
- * JSONx
71
- * TOML
72
- * YAML
73
- * VelocyPack
74
-
75
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,24 +0,0 @@
1
- # Overview
2
-
3
- The main parts of the JSON library are
4
-
5
- * the [Value Class](Value-Class.md) to handle (extended) JSON data ([JAXN](https://github.com/stand-art/jaxn) data) in memory,
6
- * the [Events Interface](Events-Interface.md) as universal adapter between different parts of the library (and other libraries), and
7
- * the [Type Traits](Type-Traits.md) to control the interaction between C++ data types and the Value Class and Events Interface.
8
-
9
- ![Overview](Overview.png)
10
-
11
- * The [Value Class](Value-Class.md) can be customised with [Type Traits](Type-Traits.md) and a [custom Base class](Advanced-Use-Cases.md#custom-base-class-for-values).
12
- * The [Events Interface](Events-Interface.md) is used to convert the [Value Class](Value-Class.md) from and to external representations.
13
- * One or more [Events Transformers](Events-Interface.md#included-transformers) can be used to modify, filter, ... Events and to send them to multiple Consumers.
14
- * The [Type Traits](Type-Traits.md) are used to convert the [Value Class](Value-Class.md) from and to arbitrary C++ data types.
15
- * The [Type Traits](Type-Traits.md) also generate Events, and thus external representations, directly from C++ data types, and
16
- * are used to directly and efficiently parse external representations into arbitrary C++ data types.
17
-
18
- ![Types](Types.png)
19
-
20
- * The [Value Class](Value-Class.md) can use views to strings and binary data to prevent memory allocations and copying.
21
- * The [Value Class](Value-Class.md) can use pointers to other Value Class instances to re-use (parts of) other Values.
22
- * The [Value Class](Value-Class.md) can use pointers to arbitrary objects (restricts the set of functions on the Value).
23
-
24
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,84 +0,0 @@
1
- # Parser Interface
2
-
3
- *Work in progress*
4
-
5
- This interface is used when parsing directly into a C++ data type (without using an intermediate Value) *and not* using the [Binding Traits Facilities](Type-Traits.md#binding-traits-facilities) to auto-generate the [Traits](Type-Traits.md).
6
-
7
- The public interface of a parts parser, an object that unconditionally attempts to read parts of an encoded Value from the input that it was supplied in the constructor.
8
-
9
- ```c++
10
- struct parts_parser
11
- {
12
- bool empty();
13
-
14
- bool null(); // Returns 'false' when next value is not a JSON Null.
15
- bool boolean();
16
-
17
- string_t string(); // Returns std::string or tao::string_view.
18
- binary_t binary(); // Returns std::vector< tao::byte > or tao::binary_view.
19
- string_t key(); // Returns std::string or tao::string_view.
20
-
21
- std::int64_t number_signed();
22
- std::uint64_t number_unsigned();
23
- double number_double();
24
-
25
- unknown_1 begin_array();
26
- void end_array( unknown_1& );
27
- void element( unknown_1& );
28
- bool element_or_end_array( unknown_1& ); // Returns 'false' at end of array.
29
-
30
- unknown_2 begin_object();
31
- void end_object( unknown_2& );
32
- void member( unknown_2& );
33
- bool member_or_end_object( unknown_2& ); // Returns 'false' at end of object.
34
-
35
- void skip_value(); // Skips one complete value in the input, whatever it is.
36
-
37
- unknown_3 mark(); // TODO: Explain, with reference to PEGTL markers and when/how to use them.
38
-
39
- void throw_parse_error( TBD ) const; // TODO: Decide whether this is part of the public interface.
40
- };
41
- ```
42
-
43
- There are two patterns for how to use the Array and Object functions depending on whether the size is implicitly known by the code using the parser, or whether the code adapts to the size found in the parsed data.
44
-
45
- In the following example we show the implicit form for Arrays, and the adaptive form for Objects, however both interfaces are available for both kinds of containers.
46
-
47
- ```c++
48
- void implicit( parts_parser& p )
49
- {
50
- auto state = p.begin_array()
51
-
52
- p.element( state ); // Throws when no further element available.
53
- do_something_with( p.read_unsigned() ); // Or read some other value.
54
-
55
- // ...read as many elements as desired...
56
-
57
- p.end_array( state ); // Throws when not at end of array.
58
- }
59
-
60
- void adaptive( parts_parser& p )
61
- {
62
- auto state = p.begin_object();
63
-
64
- while( !p.member_or_end_object( p ) ) {
65
- const auto key = p.read_key();
66
- const auto value = p.read_string(); // Or read some other value.
67
- do_something_with( key, value );
68
- }
69
- }
70
- ```
71
-
72
- The individual values of an Array or Object can of course themselves be Arrays or Objects.
73
-
74
- Remember to **not** write `do_something_with( p.read_key(), p.read_double() )` because the order of evaluation of function arguments in C++ is not defined.
75
-
76
- Additional functions for the CBOR parts parser that throw when they encounter an indefinite-length string.
77
-
78
- ```c++
79
- tao::string_view string_view();
80
- tao::binary_view binary_view();
81
- tao::string_view key_view();
82
- ```
83
-
84
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,78 +0,0 @@
1
- # taocpp/json Documentation
2
-
3
- *Work-in-Progress - will be finished for 1.0 release*
4
-
5
- * [Project](https://github.com/taocpp/json)
6
- * [Overview](Overview.md)
7
- * [Getting Started](Getting-Started.md)
8
- * Installing and Using - TODO: Similar to PEGTL; merge with Getting Started?
9
- * [Common Use Cases](Common-Use-Cases.md)
10
- * [Include the right header](Common-Use-Cases.md#include-the-right-header)
11
- * [Read any JSON file](Common-Use-Cases.md#read-any-json-file)
12
- * [Parse any JSON string](Common-Use-Cases.md#parse-any-json-string)
13
- * [Serialise a JSON Value to a string](Common-Use-Cases.md#serialise-a-json-value-to-a-string)
14
- * [Serialise with base64 strings for binary data](Common-Use-Cases.md#serialise-with-base64-strings-for-binary-data)
15
- * [Serialise a JSON Value to an ostream](Common-Use-Cases.md#serialise-a-json-value-to-an-ostream)
16
- * [Create a Value with a JSON object](Common-Use-Cases.md#create-a-value-with-a-json-object)
17
- * [Value Class](Value-Class.md)
18
- * [Overview](Value-Class.md#overview)
19
- * [Value and Data Types](Value-Class.md#value-and-data-types)
20
- * [Creating Values](Value-Class.md#creating-values)
21
- * [Accessing Values](Value-Class.md#accessing-values)
22
- * [Manipulating Values](Value-Class.md#manipulating-values)
23
- * [Container Functions](Value-Class.md#container-functions)
24
- * [Comparing Values](Value-Class.md#comparing-values)
25
- * [Type Traits](Type-Traits.md)
26
- * [Overview](Type-Traits.md#overview)
27
- * [Create JSON Value from (custom) type](Type-Traits.md#create-value-from-type)
28
- * [Convert JSON Value into (custom) type](Type-Traits.md#convert-value-into-type)
29
- * [Compare JSON Value to (custom) type](Type-Traits.md#compare-value-with-type)
30
- * [Produce JSON Events from (custom) type](Type-Traits.md#produce-events-from-type)
31
- * [Consume a (custom) type from a parser](Type-Traits.md#consume-type-from-parser)
32
- * [Default Key for Objects](Type-Traits.md#default-key-for-objects)
33
- * [Batteries Included](Type-Traits.md#batteries-included)
34
- * [Binding Traits](Binding-Traits.md)
35
- * [Types as Arrays](Binding-Traits.md#types-as-arrays)
36
- * [Types as Objects](Binding-Traits.md#types-as-objects)
37
- * [Polymorphic Factory](Binding-Traits.md#polymorphic-factory)
38
- * [Multiple Versions](Binding-Traits.md#multiple-versions)
39
- * [Events Interface](Events-Interface.md)
40
- * [Overview](Events-Interface.md#overview)
41
- * [Consumer Interface](Events-Interface.md#consumer-interface)
42
- * [Arrays and Objects](Events-Interface.md#arrays-and-objects)
43
- * [Reduced Interface](Events-Interface.md#reduced-interface)
44
- * [Batteries Included](Events-Interface.md#batteries-included)
45
- * [Batteries Included](Batteries-Included.md)
46
- * [Default Traits](Batteries-Included.md#default-traits)
47
- * [Additional Traits](Batteries-Included.md#additional-traits)
48
- * [Binding Traits](Binding-Traits.md)
49
- * [Events Producers](Batteries-Included.md#events-producers)
50
- * [Events Consumers](Batteries-Included.md#events-consumers)
51
- * [Events Transformers](Batteries-Included.md#events-transformers)
52
- * [Convenience Functions](Batteries-Included.md#convenience-functions)
53
- * [Conversion Utilities](Batteries-Included.md#conversion-utilities)
54
- * [Advanced Use Cases](Advanced-Use-Cases.md)
55
- * [Custom Base Class for Values](Advanced-Use-Cases.md#custom-base-class-for-values)
56
- * [Annotate with filename and line number](Advanced-Use-Cases.md#annotate-with-filename-and-line-number)
57
- * [Instance Sharing](Instance-Sharing.md)
58
- * [String Views](Instance-Sharing.md#string-views)
59
- * [Binary Views](Instance-Sharing.md#binary-views)
60
- * [Value Pointers](Instance-Sharing.md#value-pointers)
61
- * [Opaque Pointers](Instance-Sharing.md#opaque-pointers)
62
- * [Self Contained](Instance-Sharing.md#self-contained)
63
- * [Unsafe Functions](Instance-Sharing.md#unsafe-functions)
64
- * [Interoperability](Interoperability.md)
65
- * [General Notes](Interoperability.md#general-notes)
66
- * [Specific Notes](Interoperability.md#specific-notes)
67
- * [JSON](Interoperability.md#json)
68
- * [JAXN](Interoperability.md#jaxn)
69
- * [CBOR](Interoperability.md#cbor)
70
- * [MsgPack](Interoperability.md#msgpack)
71
- * [UBJSON](Interoperability.md#ubjson)
72
- * [Unsupported Formats](Interoperability.md#unsupported-formats)
73
- * [Parser Interface](Parser-Interface.md)
74
- * [Design Decisions](Design-Decisions.md)
75
- * [Scratchpad](Scratchpad.md)
76
- * [Changelog](Changelog.md)
77
-
78
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,25 +0,0 @@
1
- # Scratchpad
2
-
3
- TODO!
4
-
5
- ## JSON Pointer
6
-
7
- ###### `<tao/json/contrib/get.hpp>`
8
-
9
- ###### `<tao/json/contrib/patch.hpp>`
10
-
11
- ###### `<tao/json/contrib/refefence.hpp>`
12
-
13
- ###### `<tao/json/contrib/schema.hpp>`
14
-
15
- ## Still Need Description
16
-
17
- * `events::apply`
18
- * `events::basic_compare`
19
- * `events::compare`
20
- * `events::transformer`
21
- * `nlohmann::from_value`
22
- * `nlohmann::to_value`
23
- * TODO: Anything missing?
24
-
25
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey
@@ -1,364 +0,0 @@
1
- # Type Traits
2
-
3
- * [Overview](#overview)
4
- * [Create JSON Value from (custom) type](#create-value-from-type)
5
- * [Convert JSON Value into (custom) type](#convert-value-into-type)
6
- * [Compare JSON Value to (custom) type](#compare-value-with-type)
7
- * [Produce JSON Events from (custom) type](#produce-events-from-type)
8
- * [Consume a (custom) type from a parser](#consume-type-from-parser)
9
- * [Default Key for Objects](#default-key-for-objects)
10
- * [Batteries Included](#batteries-included)
11
-
12
- For brevity we will often write "the traits" instead of "the (corresponding/appropriate/whatever) specialisation of the traits class template".
13
-
14
- ## Overview
15
-
16
- The class template passed as `Traits` template parameter, most prominently to `tao::json::basic_value<>`, controls the interaction between the JSON library and other C++ types.
17
-
18
- The library includes the Type Traits class template `tao::json::traits<>` with [many specialisations](Batteries-Included.md#default-traits) that is used throughout the library as default.
19
- A custom Traits class (more precisely: class template) can be used to change the behaviour of the default Traits, and/or to add support for new types.
20
-
21
- * In the first case it is necessary to create a new Traits class template.
22
- * In the second case it is also possible to (partially) specialise `tao::json::traits<>` for the new types.
23
-
24
- As is common, for any type `T`, the Type Traits class template instantiated with `T` as template argument is used as Type Traits class for `T`.
25
-
26
- The default Type Traits use a second template parameter that defaults to `void` to selective enable or disable a particular (partial) specialisation via SFINAE.
27
- For this reason, any template that takes a Type Traits class template as template parameter should be templated over `template< typename... > class Traits`, rather than the more obvious `template< typename > class Traits`.
28
-
29
- We will use the following class in the example implementations of the Type Traits functions.
30
-
31
- ```c++
32
- struct my_type
33
- {
34
- std::string title;
35
- std::vector< int > values;
36
- };
37
- ```
38
-
39
- While we could simply specialise `tao::json::traits<>` for `my_type`, we will prefer to define a new Type Traits class, an approach that also works when redefining Traits for types that the default Type Traits already cover.
40
-
41
- ```c++
42
- template< typename T >
43
- struct my_traits
44
- : public tao::json::traits< T >
45
- {
46
- // Inherit the default traits by default,
47
- // otherwise we would have to implement
48
- // specialisations for ALL types (that we
49
- // want to use).
50
- };
51
- ```
52
-
53
- For convenience, we might add a `using` for the JSON Value class with the new Type Traits.
54
-
55
- ```c++
56
- using my_value = tao::json::basic_value< my_traits >;
57
- ```
58
-
59
- Note that all Type Traits functions are `static` member functions, and that, depending on the use cases, it is not necessary for a traits specialisation to implement *all* traits functions.
60
-
61
- **For many common use cases it is not necessary to manually implement the Traits functions, instead the [Binding Traits](Binding-Traits.md) can be used to generate them automatically.**
62
-
63
- ## Create Value from Type
64
-
65
- The traits' `assign()` functions are used to create Value instances from any type `T`. We will use the implementation of `assign()` in the specialisation of `my_traits` for `my_type` as example.
66
-
67
- ```c++
68
- template<>
69
- struct my_traits< my_type >
70
- {
71
- template< template< typename... > class Traits >
72
- static void assign( tao::json::basic_value< Traits >& v, const my_type& t )
73
- {
74
- v = {
75
- { "title", t.title },
76
- { "values", t.values }
77
- };
78
- }
79
- };
80
- ```
81
-
82
- The first thing to note is that `assign()` is "templated over" the traits class template.
83
- If it weren't templated over the traits, the `assign()` function would only work with `my_traits`, but not when using a third traits class template that inherits from `my_traits` by default without changing the specialisation for `my_type`.
84
-
85
- For greater flexibility and future compatibility, we recommend to *always* template over the traits, regardless of whether creating other traits class templates based on the traits in question is planned or not.
86
-
87
- The second point of interest is that we have chosen to encode `my_type` as JSON Object with two sub-values, one for the title and one for the values, using the [initialiser-list syntax for Objects as explained in the documentation of the Value class](Value-Class.md).
88
-
89
- Nothing more needs to be done for `t.title` and `t.values` since the default traits already know how to create Values from `std::string`, `std::vector<>`, and `int`, and therefore also `std::vector< int >`.
90
- The default traits use JSON Arrays for vectors, lists and sets.
91
-
92
- Given the above traits specialisation for `my_type` it is now possible to write all of the following.
93
-
94
- ```c++
95
- const my_type a = make_my_type();
96
- const my_value v1 = a;
97
- const my_value v2 = {
98
- { "it's my type", a }
99
- };
100
-
101
- const std::list< my_type > l = make_list_of_my_type();
102
- const my_value v3 = l;
103
- ```
104
-
105
- As a performance optimisation it is possible to provide an additional overload of `assign()` for the case that the source `my_type` instance is `move()`-able.
106
- The moving `assign()` is of course only beneficial when there is data that can actually be moved, like `title` in the example.
107
- The vector `values` can not be moved to the JSON Value since it is a `std::vector< int >`, not one of the types used to represent data in a JSON Value.
108
-
109
- ```c++
110
- template<>
111
- struct my_traits< my_type >
112
- {
113
- template< template< typename... > class Traits >
114
- static void assign( tao::json::basic_value< Traits >& v, my_type&& t )
115
- {
116
- v = {
117
- { "title", std::move( t.title ) },
118
- { "values", t.values }
119
- };
120
- }
121
- };
122
- ```
123
-
124
- There are of course other possibilities for the JSON structure for `my_type`, for example it would be possible to create a flat JSON Array with the title as first element followed by the integers from `values`.
125
- In the following we will assume the implementation from above.
126
-
127
- ## Convert Value into Type
128
-
129
- The traits' `as()` and/or `to()` functions are used to convert Values into any type `T`.
130
-
131
- If not particularly awkward or slow it is recommended to implement `as()`, which returns the `T`, rather than `to()`.
132
-
133
- The user-facing functions `tao::json::basic_value<>::as()/to()` are all available, regardless of which function(s) the traits implement, subject to the following limitation:
134
-
135
- * `T` needs to be copy-assignable to use the front-end `to()` when the traits only implement `as()`.
136
- * `T` needs to be default-constructible to use the front-end `as()` when the traits only implement `to()`.
137
-
138
- Here both functions are shown even though a real-world traits class will typically only implement either one of them.
139
-
140
- ```c++
141
- template<>
142
- struct my_traits< my_type >
143
- {
144
- template< template< typename... > class Traits >
145
- static void to( const tao::json::basic_value< Traits >& v, my_type& d )
146
- {
147
- const auto& object = v.get_object();
148
- d.title = v.at( "title" ).template as< std::string >();
149
- d.values = v.at( "values" ).template as< std::vector< int > >();
150
- }
151
-
152
- template< template< typename... > class Traits >
153
- static my_type as( const tao::json::basic_value< Traits >& v )
154
- {
155
- my_type result;
156
- const auto& object = v.get_object();
157
- result.title = v.at( "title" ).template as< std::string >();
158
- result.values = v.at( "values" ).template as< std::vector< int > >();
159
- return result;
160
- }
161
- };
162
- ```
163
-
164
- The `as<>()` and `to()` functions again template over the traits class, just like `assign()`, and for the same reasons.
165
-
166
- The employed `get_object()`, `as<>()`, `to<>()` and `at()` functions will all throw an exception when something goes wrong, i.e. when the accessed JSON Value is not of the correct type, or when the indexed key does not exist.
167
-
168
- Instead of manually calling the Traits' `as()`- and `to()`-functions it is recommended to use one of the following to create a `T` from a Value.
169
-
170
- ```c++
171
- const tao::json::value v = ...;
172
- const my_type mt = v.as< my_type >();
173
- ```
174
-
175
- Or alternatively:
176
-
177
- ```c++
178
- const tao::json::value v = ...;
179
- my_type mt;
180
- v.to( mt );
181
- ```
182
-
183
- In this example no error is thrown when the top-level JSON Object contains additional keys beyond `"title"` and `"values"`.
184
-
185
- ## Compare Value with Type
186
-
187
- The comparison operators `==`, `!=`, `<`, `<=`, `>` and `>=` in namespace `tao::json` that compare instances of `basic_value<>` with other types *ideally* use the traits' `equal()`, `greater_than()` and `less_than()` functions.
188
-
189
- That is "ideally", because as long as the traits for the type in question have an `assign()` function, the comparison operators will still work -- by creating a temporary JSON Value and then compare the two Values.
190
- In other words, adding `equal()`, `greater_than()` and `less_than()` functions to traits is "only" a performance optimisation, it prevents the creation of the temporary JSON Value from the non-Value argument.
191
-
192
- The `equal()` function has to check whether an instance `d` of the type for which the traits are specialised is equal to a Value.
193
- This check should be consistent with the other traits functions, i.e. the check should return `true` if and only if comparing the Value to a Value created with the traits' `assign()` function (or the traits' `produce()` function together with `tao::json::events::to_value`) would also return `true`.
194
-
195
- ```c++
196
- template<>
197
- struct my_traits< my_type >
198
- {
199
- template< template< typename... > class Traits >
200
- static bool equal( const tao::json::basic_value< Traits >& v, const my_type& d ) noexcept
201
- {
202
- if( !v.is_object() ) {
203
- return false;
204
- }
205
- const auto& o = v.get_object();
206
- const auto i = o.find( "title" );
207
- const auto j = o.find( "values" );
208
- return ( o.size() == 2 )
209
- && ( i != o.end() )
210
- && ( i->second == d.title )
211
- && ( j != o.end() )
212
- && ( j->second == d.values );
213
- }
214
- };
215
- ```
216
-
217
- The other two functions, `less_than()` and `greater_than()`, have the same signature, and need to return whether the first argument is less than, or greater than the second, respectively.
218
- The same consistency conditions as for `equal()` should be applied.
219
- When all traits functions are consistent which each other then the following assertions will never fail, regardless of the values of `m` and `d`.
220
-
221
- ```c++
222
- const my_value m = some_value();
223
-
224
- const my_type d = make_my_type();
225
- const my_value v = d;
226
-
227
- assert( ( d == m ) == ( v == m ) );
228
- assert( ( d != m ) == ( v != m ) );
229
- assert( ( d < m ) == ( v < m ) );
230
- assert( ( d <= m ) == ( v <= m ) );
231
- assert( ( d > m ) == ( v > m ) );
232
- assert( ( d >= m ) == ( v >= m ) );
233
-
234
- // When the traits have a produce() function:
235
-
236
- const auto e = tao::json::produce::to_value< my_traits >( d );
237
-
238
- assert( ( d == m ) == ( e == m ) );
239
- assert( ( d != m ) == ( e != m ) );
240
- assert( ( d < m ) == ( e < m ) );
241
- assert( ( d <= m ) == ( e <= m ) );
242
- assert( ( d > m ) == ( e > m ) );
243
- assert( ( d >= m ) == ( e >= m ) );
244
- ```
245
-
246
- ## Produce Events from Type
247
-
248
- Producing [JSON Events](Events-Interface.md) from a type is performed by the type's Traits' `produce()` function.
249
-
250
- Implementing the `produce()` function is only required for some optimisation techniques, namely:
251
-
252
- 1. To directly serialise any type to JSON or another supported external representation format.
253
- 2. To create an [Opaque pointer JSON Value](Advanced-Use-Cases.md#instance-sharing-with-opaque-pointers) instead of using building the JSON data structure for a type.
254
-
255
- The `produce()` function receives an arbitrary [Events Consumer](Events-Interface.md) as first argument, and can call any [Events Functions](Events-Interface.md) on it.
256
-
257
- It should/must again template over their traits, and, since there is no `basic_value<>` instance from which the traits can be derived, the traits `produce()` functions and the functions in namespace `tao::json::produce` need to be called with the traits class template as explicit template parameter.
258
-
259
- ```c++
260
- template<>
261
- struct my_traits< my_type >
262
- {
263
- template< template< typename... > class Traits, typename Consumer >
264
- static void produce( Consumer& c, const my_type& d )
265
- {
266
- c.begin_object( 2 );
267
- c.key( "title" );
268
- tao::json::produce< Traits >( c, d.title );
269
- c.member();
270
- c.key( "values" );
271
- tao::json::produce< Traits >( c, d.values );
272
- c.member();
273
- c.end_object( 2 );
274
- }
275
- };
276
- ```
277
-
278
- For the first use case mentioned above, the following code snippet directly and efficiently generates the JSON representation of a `my_type` instance without creating any JSON Values along the way.
279
-
280
- ```c++
281
- const my_type d = make_my_type();
282
- const std::string json = tao::json::produce::to_string< my_traits >( d );
283
- ```
284
-
285
- As with the `assign()` functions, and depending on which Events Consumers are used, it might be beneficial to provide a moving-version of `produce()` that moves strings and binary data.
286
-
287
- ## Consume Type from Parser
288
-
289
- Directly creating an instance of a type from a parser is performed by the type's Traits' `consume()` function.
290
-
291
- Unlike all other similar parts of the library the `consume()` interface is *not* based on the Events Interface!
292
-
293
- Instead ... TODO: Explain pull-interface of the parts parsers.
294
-
295
- Similar to the Traits' `as()`-function there are two possibilities on how to implement this function, one that returns the value, and one that takes a mutable reference as second argument.
296
- Again it is not *necessary* to implement both functions, either one is sufficient, and when all is equal preference should be given to the version that returns the value.
297
-
298
- ```c++
299
- template<>
300
- struct my_traits< my_type >
301
- {
302
- template< template< typename... > class Traits, typename Producer >
303
- static void consume( Producer& p, my_type& mt )
304
- {
305
- // Easier to use the Binding Facilities to generate this function...
306
- }
307
-
308
- template< template< typename... > class Traits, typename Producer >
309
- static my_type consume( Producer& p )
310
- {
311
- // ...and not implement this one.
312
- }
313
- };
314
- ```
315
-
316
- Creating instances of `my_type` can then be achieved by manually calling the Traits' `consume()` function, or more conveniently by using one of the global `consume()` functions.
317
- Both the one- and two-argument version of the global `consume()` function can be called regardless of which version the Traits implement.
318
-
319
- ```c++
320
- const std::string json = ...;
321
- tao::json::parts_parser pp( json, "source" );
322
- const my_type mt = tao::json::consume< my_type, Traits >( pp );
323
- ```
324
-
325
- Or alternatively:
326
-
327
- ```c++
328
- const std::string json = ...;
329
- tao::json::parts_parser pp( json, "source" );
330
- my_type mt;
331
- tao::json::consume< Traits>( pp, mt );
332
- ```
333
-
334
- ## Default Key for Objects
335
-
336
- The use of default keys is [shown in the section on creating Values](Value-Class.md#creating-values).
337
-
338
- The default key for a type is a compile-time string that needs to be declared in the Traits specialisation.
339
-
340
- ```c++
341
- template<>
342
- struct my_traits< my_type >
343
- {
344
- TAO_JSON_DEFAULT_KEY( "fraggle" );
345
- };
346
- ```
347
-
348
- Further uses of the default key are for object bindings and the polymorphic object factory (TODO: Links).
349
-
350
- The default Traits supplied with the library do not define a default key for any type.
351
-
352
- ## Batteries Included
353
-
354
- * [Default Traits](Batteries-Included.md#default-traits)
355
- * [Additional Traits](Batteries-Included.md#additional-traits)
356
-
357
- The Type Traits correctly work with nested/composed types.
358
- Given that `std::string`, `int`, `std::tuple`, `std::vector`, `std::shared_ptr`, and `std::map` with `std::string` as `key_type` are supported (when including the additional Traits), so is for example the following type:
359
-
360
- ```c++
361
- std::map< std::string, std::shared_ptr< std::vector< std::tuple< int, int, int > > >
362
- ```
363
-
364
- Copyright (c) 2018-2020 Dr. Colin Hirsch and Daniel Frey