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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1318) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -4
  3. data/ext/extconf.rb +0 -95
  4. data/lib/couchbase.rb +1 -0
  5. data/lib/couchbase/analytics_options.rb +1 -71
  6. data/lib/couchbase/binary_collection.rb +60 -22
  7. data/lib/couchbase/binary_collection_options.rb +0 -76
  8. data/lib/couchbase/bucket.rb +40 -36
  9. data/lib/couchbase/cluster.rb +89 -156
  10. data/lib/couchbase/collection.rb +290 -72
  11. data/lib/couchbase/collection_options.rb +30 -243
  12. data/lib/couchbase/datastructures/couchbase_list.rb +5 -16
  13. data/lib/couchbase/datastructures/couchbase_map.rb +5 -16
  14. data/lib/couchbase/datastructures/couchbase_queue.rb +5 -16
  15. data/lib/couchbase/datastructures/couchbase_set.rb +5 -16
  16. data/lib/couchbase/diagnostics.rb +181 -0
  17. data/lib/couchbase/json_transcoder.rb +1 -1
  18. data/lib/couchbase/libcouchbase.bundle +0 -0
  19. data/lib/couchbase/{common_options.rb → logger.rb} +24 -11
  20. data/lib/couchbase/management/query_index_manager.rb +1 -1
  21. data/lib/couchbase/management/user_manager.rb +3 -0
  22. data/lib/couchbase/options.rb +2094 -0
  23. data/lib/couchbase/query_options.rb +1 -144
  24. data/lib/couchbase/scope.rb +8 -25
  25. data/lib/couchbase/search_options.rb +0 -93
  26. data/lib/couchbase/version.rb +20 -1
  27. data/lib/couchbase/view_options.rb +1 -91
  28. metadata +8 -1296
  29. data/ext/CMakeLists.txt +0 -127
  30. data/ext/LICENSE.txt +0 -202
  31. data/ext/build_config.hxx.in +0 -20
  32. data/ext/build_version.hxx.in +0 -27
  33. data/ext/cmake/Backtrace.cmake +0 -35
  34. data/ext/cmake/BuildTracing.cmake +0 -6
  35. data/ext/cmake/Cache.cmake +0 -29
  36. data/ext/cmake/CompilerWarnings.cmake +0 -78
  37. data/ext/cmake/PreventInSourceBuilds.cmake +0 -18
  38. data/ext/cmake/Sanitizers.cmake +0 -66
  39. data/ext/cmake/StandardProjectSettings.cmake +0 -40
  40. data/ext/cmake/StaticAnalyzers.cmake +0 -37
  41. data/ext/cmake/Testing.cmake +0 -52
  42. data/ext/cmake/ThirdPartyDependencies.cmake +0 -20
  43. data/ext/cmake/VersionInfo.cmake +0 -37
  44. data/ext/couchbase/bucket.hxx +0 -338
  45. data/ext/couchbase/capabilities.hxx +0 -117
  46. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  47. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  48. data/ext/couchbase/cbsasl/client.cc +0 -48
  49. data/ext/couchbase/cbsasl/client.h +0 -127
  50. data/ext/couchbase/cbsasl/context.cc +0 -33
  51. data/ext/couchbase/cbsasl/context.h +0 -52
  52. data/ext/couchbase/cbsasl/error.h +0 -72
  53. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  54. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  55. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  56. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  57. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  58. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  59. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  60. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  61. data/ext/couchbase/cluster.hxx +0 -267
  62. data/ext/couchbase/cluster_options.hxx +0 -54
  63. data/ext/couchbase/collections_manifest.hxx +0 -88
  64. data/ext/couchbase/configuration.hxx +0 -650
  65. data/ext/couchbase/couchbase.cxx +0 -6431
  66. data/ext/couchbase/diagnostics.hxx +0 -251
  67. data/ext/couchbase/document_id.hxx +0 -40
  68. data/ext/couchbase/error_map.hxx +0 -261
  69. data/ext/couchbase/errors.hxx +0 -706
  70. data/ext/couchbase/io/dns_client.hxx +0 -217
  71. data/ext/couchbase/io/dns_codec.hxx +0 -207
  72. data/ext/couchbase/io/dns_config.hxx +0 -116
  73. data/ext/couchbase/io/dns_message.hxx +0 -555
  74. data/ext/couchbase/io/http_command.hxx +0 -95
  75. data/ext/couchbase/io/http_context.hxx +0 -37
  76. data/ext/couchbase/io/http_message.hxx +0 -47
  77. data/ext/couchbase/io/http_parser.hxx +0 -176
  78. data/ext/couchbase/io/http_session.hxx +0 -442
  79. data/ext/couchbase/io/http_session_manager.hxx +0 -182
  80. data/ext/couchbase/io/mcbp_command.hxx +0 -246
  81. data/ext/couchbase/io/mcbp_message.hxx +0 -63
  82. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  83. data/ext/couchbase/io/mcbp_session.hxx +0 -1283
  84. data/ext/couchbase/io/query_cache.hxx +0 -61
  85. data/ext/couchbase/io/retry_action.hxx +0 -30
  86. data/ext/couchbase/io/retry_context.hxx +0 -38
  87. data/ext/couchbase/io/retry_orchestrator.hxx +0 -112
  88. data/ext/couchbase/io/retry_reason.hxx +0 -235
  89. data/ext/couchbase/io/retry_strategy.hxx +0 -156
  90. data/ext/couchbase/io/streams.hxx +0 -216
  91. data/ext/couchbase/mutation_token.hxx +0 -38
  92. data/ext/couchbase/operations.hxx +0 -104
  93. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  94. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  95. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  96. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  97. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  98. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  99. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  100. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  101. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  102. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  103. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  104. data/ext/couchbase/operations/bucket_create.hxx +0 -147
  105. data/ext/couchbase/operations/bucket_drop.hxx +0 -68
  106. data/ext/couchbase/operations/bucket_flush.hxx +0 -68
  107. data/ext/couchbase/operations/bucket_get.hxx +0 -72
  108. data/ext/couchbase/operations/bucket_get_all.hxx +0 -65
  109. data/ext/couchbase/operations/bucket_settings.hxx +0 -150
  110. data/ext/couchbase/operations/bucket_update.hxx +0 -124
  111. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -63
  112. data/ext/couchbase/operations/collection_create.hxx +0 -95
  113. data/ext/couchbase/operations/collection_drop.hxx +0 -85
  114. data/ext/couchbase/operations/collections_manifest_get.hxx +0 -70
  115. data/ext/couchbase/operations/design_document.hxx +0 -59
  116. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  117. data/ext/couchbase/operations/document_decrement.hxx +0 -87
  118. data/ext/couchbase/operations/document_exists.hxx +0 -84
  119. data/ext/couchbase/operations/document_get.hxx +0 -69
  120. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -71
  121. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -71
  122. data/ext/couchbase/operations/document_get_projected.hxx +0 -249
  123. data/ext/couchbase/operations/document_increment.hxx +0 -89
  124. data/ext/couchbase/operations/document_insert.hxx +0 -81
  125. data/ext/couchbase/operations/document_lookup_in.hxx +0 -111
  126. data/ext/couchbase/operations/document_mutate_in.hxx +0 -145
  127. data/ext/couchbase/operations/document_query.hxx +0 -422
  128. data/ext/couchbase/operations/document_remove.hxx +0 -74
  129. data/ext/couchbase/operations/document_replace.hxx +0 -83
  130. data/ext/couchbase/operations/document_search.hxx +0 -370
  131. data/ext/couchbase/operations/document_touch.hxx +0 -67
  132. data/ext/couchbase/operations/document_unlock.hxx +0 -67
  133. data/ext/couchbase/operations/document_upsert.hxx +0 -81
  134. data/ext/couchbase/operations/document_view.hxx +0 -228
  135. data/ext/couchbase/operations/group_drop.hxx +0 -71
  136. data/ext/couchbase/operations/group_get.hxx +0 -75
  137. data/ext/couchbase/operations/group_get_all.hxx +0 -70
  138. data/ext/couchbase/operations/group_upsert.hxx +0 -118
  139. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  140. data/ext/couchbase/operations/query_index_create.hxx +0 -145
  141. data/ext/couchbase/operations/query_index_drop.hxx +0 -119
  142. data/ext/couchbase/operations/query_index_get_all.hxx +0 -117
  143. data/ext/couchbase/operations/rbac.hxx +0 -276
  144. data/ext/couchbase/operations/role_get_all.hxx +0 -70
  145. data/ext/couchbase/operations/scope_create.hxx +0 -88
  146. data/ext/couchbase/operations/scope_drop.hxx +0 -82
  147. data/ext/couchbase/operations/scope_get_all.hxx +0 -76
  148. data/ext/couchbase/operations/search_get_stats.hxx +0 -59
  149. data/ext/couchbase/operations/search_index.hxx +0 -79
  150. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  151. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  152. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  153. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  154. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  155. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  156. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  157. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -89
  158. data/ext/couchbase/operations/search_index_get_stats.hxx +0 -81
  159. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  160. data/ext/couchbase/operations/user_drop.hxx +0 -72
  161. data/ext/couchbase/operations/user_get.hxx +0 -76
  162. data/ext/couchbase/operations/user_get_all.hxx +0 -71
  163. data/ext/couchbase/operations/user_upsert.hxx +0 -125
  164. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  165. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  166. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  167. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  168. data/ext/couchbase/origin.hxx +0 -178
  169. data/ext/couchbase/platform/backtrace.c +0 -189
  170. data/ext/couchbase/platform/backtrace.h +0 -54
  171. data/ext/couchbase/platform/base64.cc +0 -234
  172. data/ext/couchbase/platform/base64.h +0 -47
  173. data/ext/couchbase/platform/random.cc +0 -119
  174. data/ext/couchbase/platform/random.h +0 -39
  175. data/ext/couchbase/platform/string_hex.cc +0 -99
  176. data/ext/couchbase/platform/string_hex.h +0 -50
  177. data/ext/couchbase/platform/terminate_handler.cc +0 -123
  178. data/ext/couchbase/platform/terminate_handler.h +0 -36
  179. data/ext/couchbase/platform/uuid.cc +0 -96
  180. data/ext/couchbase/platform/uuid.h +0 -56
  181. data/ext/couchbase/protocol/client_opcode.hxx +0 -264
  182. data/ext/couchbase/protocol/client_request.hxx +0 -160
  183. data/ext/couchbase/protocol/client_response.hxx +0 -218
  184. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -79
  185. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  186. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  187. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  188. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  189. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  190. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -126
  191. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  192. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  193. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  194. data/ext/couchbase/protocol/cmd_hello.hxx +0 -156
  195. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  196. data/ext/couchbase/protocol/cmd_info.hxx +0 -25
  197. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  198. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -219
  199. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -365
  200. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  201. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  202. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  203. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  204. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  205. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  206. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  207. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  208. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  209. data/ext/couchbase/protocol/datatype.hxx +0 -48
  210. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  211. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  212. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  213. data/ext/couchbase/protocol/magic.hxx +0 -83
  214. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  215. data/ext/couchbase/protocol/server_request.hxx +0 -122
  216. data/ext/couchbase/protocol/status.hxx +0 -343
  217. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  218. data/ext/couchbase/service_type.hxx +0 -60
  219. data/ext/couchbase/timeout_defaults.hxx +0 -41
  220. data/ext/couchbase/utils/byteswap.hxx +0 -33
  221. data/ext/couchbase/utils/connection_string.hxx +0 -379
  222. data/ext/couchbase/utils/crc32.hxx +0 -48
  223. data/ext/couchbase/utils/url_codec.hxx +0 -225
  224. data/ext/couchbase/version.hxx +0 -24
  225. data/ext/test/test_helper.hxx +0 -141
  226. data/ext/test/test_helper_native.hxx +0 -59
  227. data/ext/test/test_helper_ruby.hxx +0 -72
  228. data/ext/test/test_native_diagnostics.cxx +0 -385
  229. data/ext/test/test_native_trivial_crud.cxx +0 -83
  230. data/ext/test/test_ruby_trivial_crud.cxx +0 -35
  231. data/ext/test/test_ruby_trivial_query.cxx +0 -34
  232. data/ext/third_party/asio/asio/include/asio.hpp +0 -182
  233. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +0 -71
  234. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -125
  235. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -166
  236. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -582
  237. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -133
  238. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1215
  239. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  240. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  241. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1206
  242. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -761
  243. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  244. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  245. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  246. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2501
  247. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  248. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  249. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1053
  250. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  251. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  252. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -811
  253. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -575
  254. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2496
  255. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  256. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  257. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  258. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  259. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  260. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  261. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  262. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -471
  263. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  264. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  265. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  266. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  267. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  268. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -130
  269. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -112
  270. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  271. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  272. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  273. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -64
  274. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  275. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -934
  276. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  277. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  278. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -650
  279. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  280. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +0 -88
  281. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  282. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  283. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  284. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  285. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  286. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  287. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  288. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1822
  289. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  290. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  291. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  292. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  293. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -295
  294. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  295. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -139
  296. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -148
  297. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -148
  298. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  299. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  300. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  301. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -203
  303. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  304. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  305. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  306. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  307. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  308. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  309. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  310. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  311. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  312. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  313. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -284
  314. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  315. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -80
  316. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  317. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  318. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -438
  319. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  320. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  321. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -608
  322. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  323. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  324. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  325. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  326. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  327. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -396
  328. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  329. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  330. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  331. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  332. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  333. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  334. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  335. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  336. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -149
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -654
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -668
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3962
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -385
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -117
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -178
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -603
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  370. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  371. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -175
  372. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  373. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  374. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  375. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  376. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  377. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  378. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  379. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -73
  380. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  381. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  382. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  383. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -106
  384. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  385. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  386. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  387. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  388. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  389. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  390. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  391. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  392. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  393. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  394. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  395. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  396. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  397. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  398. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  399. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  400. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  401. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  402. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  403. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  404. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  406. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  407. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  408. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -416
  409. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -98
  410. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -237
  411. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -242
  412. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -123
  413. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -159
  414. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -164
  415. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -145
  416. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -162
  417. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -156
  418. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -528
  419. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -541
  420. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -98
  421. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  422. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  423. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -67
  424. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  425. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  426. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  427. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  428. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  429. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  430. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  431. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  432. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -232
  433. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  434. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  435. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  436. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  437. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  438. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  439. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  440. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  441. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  442. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  443. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  444. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  445. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  446. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -383
  447. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  448. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  449. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  450. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  451. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +0 -45
  452. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  453. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -188
  454. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  455. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  456. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  457. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  458. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  459. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -166
  460. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -145
  461. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  462. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  463. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  464. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  465. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -183
  466. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  467. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  468. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  469. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  470. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  471. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  472. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  473. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  474. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  475. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -148
  476. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -294
  477. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  478. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  479. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -164
  480. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  481. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  482. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  483. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -117
  484. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  485. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -110
  486. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -342
  487. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -127
  488. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  489. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -96
  490. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  491. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  492. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -312
  493. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -135
  494. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -124
  495. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -133
  496. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -125
  497. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -118
  498. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  499. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -128
  502. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  503. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  504. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  505. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  506. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  507. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  508. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  509. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  510. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  511. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  512. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  513. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  514. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  515. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  516. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  517. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  518. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  519. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  520. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  521. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -148
  522. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -327
  523. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -121
  524. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  525. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  526. data/ext/third_party/asio/asio/include/asio/execution.hpp +0 -48
  527. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +0 -249
  528. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +0 -2264
  529. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +0 -47
  530. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +0 -1351
  531. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1064
  532. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +0 -390
  533. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +0 -1018
  534. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +0 -486
  535. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +0 -185
  536. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +0 -201
  537. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +0 -152
  538. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +0 -105
  539. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +0 -128
  540. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +0 -261
  541. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +0 -233
  542. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +0 -90
  543. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +0 -264
  544. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +0 -238
  545. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  546. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +0 -36
  547. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -71
  548. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +0 -917
  549. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +0 -178
  550. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +0 -94
  551. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +0 -721
  552. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +0 -327
  553. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +0 -280
  554. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +0 -48
  555. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +0 -720
  556. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +0 -290
  557. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +0 -86
  558. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +0 -311
  559. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +0 -253
  560. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +0 -253
  561. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +0 -486
  562. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +0 -250
  563. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +0 -450
  564. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  565. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -347
  566. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -287
  567. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  568. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  569. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  570. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  571. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  572. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  573. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  574. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -104
  575. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  576. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -111
  577. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  578. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -436
  579. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -527
  580. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -507
  581. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -298
  582. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -635
  583. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -916
  584. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -248
  585. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  586. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -243
  587. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  588. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  589. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  590. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  591. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -301
  592. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -43
  593. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -61
  594. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -440
  595. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  596. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -49
  597. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -248
  598. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1202
  599. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -744
  600. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3335
  601. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -390
  602. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  603. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  604. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -526
  605. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -85
  606. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  607. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -92
  608. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -186
  609. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -350
  610. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -141
  611. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -279
  612. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -1028
  613. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1104
  614. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -666
  615. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -1530
  616. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -376
  617. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  618. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  619. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  620. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  621. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  622. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  623. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  624. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  625. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  626. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  627. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  628. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  629. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  630. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  631. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  632. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  633. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  634. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  635. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  636. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  637. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  638. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  639. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  640. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  641. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  642. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  643. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  644. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  645. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  646. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  647. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  648. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  649. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  650. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  651. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  652. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  653. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  654. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  655. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  656. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  657. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  658. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  659. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  660. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  661. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  662. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  663. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  664. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  665. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  666. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  667. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  668. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  669. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +0 -58
  670. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  671. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  672. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  673. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  674. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  675. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  676. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  677. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -126
  678. data/ext/third_party/asio/asio/include/asio/prefer.hpp +0 -656
  679. data/ext/third_party/asio/asio/include/asio/query.hpp +0 -296
  680. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  681. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  682. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  683. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  684. data/ext/third_party/asio/asio/include/asio/require.hpp +0 -524
  685. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +0 -310
  686. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  687. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  688. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  689. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  690. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -344
  691. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  692. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  693. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  694. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  695. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -165
  696. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  697. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -349
  698. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  699. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -415
  700. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  701. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  702. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  703. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  704. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  705. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -169
  706. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  707. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  708. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  709. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  710. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  711. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  712. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  713. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  714. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  715. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  716. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  717. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -900
  718. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  719. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  720. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  721. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  722. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  723. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -537
  724. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  725. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -90
  726. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  727. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -662
  728. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  729. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  730. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  731. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -1111
  732. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  733. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +0 -114
  734. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +0 -114
  735. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +0 -112
  736. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +0 -112
  737. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  738. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +0 -108
  739. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +0 -108
  740. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +0 -108
  741. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +0 -108
  742. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +0 -108
  743. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +0 -108
  744. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -108
  745. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +0 -108
  746. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +0 -108
  747. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +0 -108
  748. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +0 -108
  749. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +0 -108
  750. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +0 -108
  751. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +0 -108
  752. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +0 -108
  753. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +0 -112
  754. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +0 -112
  755. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +0 -234
  756. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +0 -234
  757. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +0 -108
  758. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +0 -108
  759. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +0 -108
  760. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +0 -123
  761. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +0 -123
  762. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +0 -112
  763. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +0 -112
  764. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  765. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -35
  766. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  767. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  768. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  769. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -262
  770. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  771. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  772. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  773. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -169
  774. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  775. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  776. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  777. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  778. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  779. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  780. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  781. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  782. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  783. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  784. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  785. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  786. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  787. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  788. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  789. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  790. data/ext/third_party/gsl/CMakeLists.txt +0 -127
  791. data/ext/third_party/gsl/LICENSE +0 -21
  792. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  793. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  794. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  795. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  796. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  797. data/ext/third_party/gsl/include/gsl/gsl_narrow +0 -52
  798. data/ext/third_party/gsl/include/gsl/gsl_util +0 -129
  799. data/ext/third_party/gsl/include/gsl/multi_span +0 -2263
  800. data/ext/third_party/gsl/include/gsl/pointers +0 -287
  801. data/ext/third_party/gsl/include/gsl/span +0 -816
  802. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  803. data/ext/third_party/gsl/include/gsl/string_span +0 -706
  804. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  805. data/ext/third_party/http_parser/http_parser.c +0 -2575
  806. data/ext/third_party/http_parser/http_parser.h +0 -449
  807. data/ext/third_party/json/CMakeLists.txt +0 -44
  808. data/ext/third_party/json/LICENSE +0 -21
  809. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  810. data/ext/third_party/json/LICENSE.itoa +0 -19
  811. data/ext/third_party/json/LICENSE.ryu +0 -201
  812. data/ext/third_party/json/include/tao/json.hpp +0 -45
  813. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -942
  814. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  815. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  816. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  817. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  818. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  819. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -251
  820. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  821. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  822. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  823. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -104
  824. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  825. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -268
  826. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  827. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  828. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  829. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -129
  830. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -19
  831. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  832. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  833. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +0 -43
  834. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  835. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  836. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  837. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  838. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  839. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +0 -32
  840. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  841. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  842. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  843. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -418
  844. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  845. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  846. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  847. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  848. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  849. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  850. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  851. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  852. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  853. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  854. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  855. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  856. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -76
  857. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  858. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  859. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  860. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  861. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  862. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  863. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  864. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  865. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  866. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  867. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -113
  868. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1874
  869. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  870. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -98
  871. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  872. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  873. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -97
  874. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  875. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  876. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  877. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  878. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  879. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  880. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  881. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  882. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  883. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  884. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -255
  885. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  886. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  887. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  888. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  889. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  890. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  891. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  892. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  893. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  894. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  895. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  896. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  897. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  898. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  899. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  900. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  901. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  902. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  903. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  904. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  905. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  906. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  907. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  908. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  909. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  910. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  911. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  912. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  913. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  914. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  915. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  916. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  917. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -176
  918. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  919. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  920. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -44
  921. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  922. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -49
  923. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -54
  924. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  925. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  926. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  927. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  928. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  929. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  930. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  931. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  932. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  933. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  934. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +0 -176
  935. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +0 -275
  936. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +0 -77
  937. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +0 -151
  938. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +0 -16
  939. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -272
  940. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -66
  941. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -196
  942. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -196
  943. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -103
  944. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -56
  945. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -431
  946. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +0 -62
  947. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +0 -206
  948. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +0 -106
  949. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +0 -54
  950. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +0 -33
  951. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +0 -45
  952. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +0 -32
  953. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +0 -54
  954. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +0 -43
  955. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +0 -77
  956. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +0 -52
  957. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  958. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  959. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -440
  960. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -105
  961. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +0 -75
  962. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +0 -53
  963. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -234
  964. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -69
  965. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +0 -117
  966. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -94
  967. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -43
  968. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +0 -193
  969. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +0 -118
  970. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  971. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +0 -227
  972. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +0 -62
  973. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +0 -62
  974. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +0 -63
  975. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +0 -36
  976. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  977. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  978. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +0 -49
  979. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +0 -49
  980. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -32
  981. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +0 -138
  982. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  983. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  984. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  985. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  986. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  987. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  988. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  989. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  990. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -54
  991. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -106
  992. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  993. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  994. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -51
  995. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  996. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  997. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -55
  998. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -32
  999. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1000. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1001. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1002. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -43
  1003. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -54
  1004. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1005. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1006. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1007. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1008. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1009. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +0 -16
  1010. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -54
  1011. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -34
  1012. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -54
  1013. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +0 -25
  1014. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -32
  1015. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -32
  1016. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -33
  1017. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +0 -32
  1018. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -134
  1019. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -213
  1020. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -117
  1021. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -21
  1022. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -21
  1023. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -40
  1024. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +0 -21
  1025. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1026. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -54
  1027. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -47
  1028. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -21
  1029. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1030. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1031. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -39
  1032. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1033. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -49
  1034. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1035. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1036. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1037. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1038. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -22
  1039. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1040. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -80
  1041. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +0 -21
  1042. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -28
  1043. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -26
  1044. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -64
  1045. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -55
  1046. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -55
  1047. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1048. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1049. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1050. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +0 -26
  1051. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1052. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -89
  1053. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1054. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -60
  1055. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -44
  1056. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -56
  1057. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -103
  1058. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -72
  1059. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -67
  1060. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1061. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -81
  1062. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -61
  1063. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1064. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1065. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1066. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -58
  1067. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -67
  1068. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -52
  1069. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1070. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -59
  1071. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1072. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +0 -32
  1073. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1074. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -88
  1075. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -32
  1076. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -169
  1077. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -365
  1078. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1079. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +0 -64
  1080. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1081. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -19
  1082. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -51
  1083. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -114
  1084. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -83
  1085. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -54
  1086. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1087. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1088. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1089. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -68
  1090. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -64
  1091. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1092. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +0 -46
  1093. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1094. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1095. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +0 -66
  1096. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1097. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1098. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1099. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1100. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1101. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1102. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1103. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1104. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1105. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +0 -14
  1106. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1107. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1108. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1109. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1110. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1111. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -57
  1112. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1113. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1114. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1115. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1116. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1117. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1118. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1119. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1120. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1121. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1122. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -96
  1123. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1124. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1125. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1126. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1127. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1128. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1129. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1130. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1131. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1132. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1133. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1134. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1135. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1136. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1137. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1138. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1139. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1140. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1141. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1142. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1143. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -255
  1144. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1145. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1146. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -261
  1147. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1148. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1149. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1150. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -19
  1151. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1152. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1153. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +0 -43
  1154. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1155. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1156. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1157. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1158. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1159. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +0 -32
  1160. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1161. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1162. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1163. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1164. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -250
  1165. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1166. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1167. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1168. data/ext/third_party/json/include/tao/json/operators.hpp +0 -490
  1169. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -302
  1170. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1171. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1172. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -131
  1173. data/ext/third_party/json/include/tao/json/span.hpp +0 -496
  1174. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1175. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1176. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1177. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1178. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1179. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -19
  1180. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1181. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1182. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +0 -43
  1183. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1184. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1185. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1186. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1187. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1188. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +0 -32
  1189. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1190. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1191. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1192. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -415
  1193. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1194. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1195. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1196. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1197. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1198. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1199. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1200. data/ext/third_party/snappy/COPYING +0 -54
  1201. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1202. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1203. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1204. data/ext/third_party/snappy/snappy-c.h +0 -138
  1205. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1206. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1207. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1208. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1209. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1210. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1211. data/ext/third_party/snappy/snappy.cc +0 -1774
  1212. data/ext/third_party/snappy/snappy.h +0 -209
  1213. data/ext/third_party/spdlog/CMakeLists.txt +0 -291
  1214. data/ext/third_party/spdlog/LICENSE +0 -26
  1215. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1216. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1217. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1218. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1219. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1220. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1221. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1222. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1223. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1224. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1225. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -44
  1226. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -38
  1227. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -119
  1228. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -29
  1229. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1230. data/ext/third_party/spdlog/include/spdlog/common.h +0 -245
  1231. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  1232. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  1233. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  1234. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  1235. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  1236. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  1237. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -116
  1238. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  1239. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  1240. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  1241. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  1242. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  1243. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  1244. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  1245. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  1246. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  1247. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  1248. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -313
  1249. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -115
  1250. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  1251. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  1252. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -146
  1253. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  1254. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  1255. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  1256. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  1257. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  1258. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1123
  1259. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -566
  1260. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -665
  1261. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1882
  1262. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1453
  1263. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3729
  1264. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  1265. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +0 -450
  1266. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -167
  1267. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  1268. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -751
  1269. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -386
  1270. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +0 -20
  1271. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -27
  1272. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  1273. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  1274. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  1275. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -257
  1276. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -366
  1277. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1373
  1278. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  1279. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  1280. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  1281. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  1282. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  1283. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  1284. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  1285. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  1286. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  1287. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  1288. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  1289. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  1290. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  1291. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  1292. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -74
  1293. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  1294. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  1295. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  1296. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  1297. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  1298. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  1299. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -123
  1300. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -87
  1301. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  1302. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  1303. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  1304. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  1305. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -170
  1306. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  1307. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -125
  1308. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -295
  1309. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +0 -61
  1310. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  1311. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  1312. data/ext/third_party/spdlog/src/async.cpp +0 -13
  1313. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  1314. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  1315. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  1316. data/ext/third_party/spdlog/src/fmt.cpp +0 -63
  1317. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  1318. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
@@ -1,1894 +0,0 @@
1
- //
2
- // basic_socket.hpp
3
- // ~~~~~~~~~~~~~~~~
4
- //
5
- // Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
- //
7
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
- //
10
-
11
- #ifndef ASIO_BASIC_SOCKET_HPP
12
- #define ASIO_BASIC_SOCKET_HPP
13
-
14
- #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
- # pragma once
16
- #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
-
18
- #include "asio/any_io_executor.hpp"
19
- #include "asio/detail/config.hpp"
20
- #include "asio/async_result.hpp"
21
- #include "asio/detail/handler_type_requirements.hpp"
22
- #include "asio/detail/io_object_impl.hpp"
23
- #include "asio/detail/non_const_lvalue.hpp"
24
- #include "asio/detail/throw_error.hpp"
25
- #include "asio/detail/type_traits.hpp"
26
- #include "asio/error.hpp"
27
- #include "asio/execution_context.hpp"
28
- #include "asio/post.hpp"
29
- #include "asio/socket_base.hpp"
30
-
31
- #if defined(ASIO_WINDOWS_RUNTIME)
32
- # include "asio/detail/null_socket_service.hpp"
33
- #elif defined(ASIO_HAS_IOCP)
34
- # include "asio/detail/win_iocp_socket_service.hpp"
35
- #else
36
- # include "asio/detail/reactive_socket_service.hpp"
37
- #endif
38
-
39
- #if defined(ASIO_HAS_MOVE)
40
- # include <utility>
41
- #endif // defined(ASIO_HAS_MOVE)
42
-
43
- #include "asio/detail/push_options.hpp"
44
-
45
- namespace asio {
46
-
47
- #if !defined(ASIO_BASIC_SOCKET_FWD_DECL)
48
- #define ASIO_BASIC_SOCKET_FWD_DECL
49
-
50
- // Forward declaration with defaulted arguments.
51
- template <typename Protocol, typename Executor = any_io_executor>
52
- class basic_socket;
53
-
54
- #endif // !defined(ASIO_BASIC_SOCKET_FWD_DECL)
55
-
56
- /// Provides socket functionality.
57
- /**
58
- * The basic_socket class template provides functionality that is common to both
59
- * stream-oriented and datagram-oriented sockets.
60
- *
61
- * @par Thread Safety
62
- * @e Distinct @e objects: Safe.@n
63
- * @e Shared @e objects: Unsafe.
64
- */
65
- template <typename Protocol, typename Executor>
66
- class basic_socket
67
- : public socket_base
68
- {
69
- public:
70
- /// The type of the executor associated with the object.
71
- typedef Executor executor_type;
72
-
73
- /// Rebinds the socket type to another executor.
74
- template <typename Executor1>
75
- struct rebind_executor
76
- {
77
- /// The socket type when rebound to the specified executor.
78
- typedef basic_socket<Protocol, Executor1> other;
79
- };
80
-
81
- /// The native representation of a socket.
82
- #if defined(GENERATING_DOCUMENTATION)
83
- typedef implementation_defined native_handle_type;
84
- #elif defined(ASIO_WINDOWS_RUNTIME)
85
- typedef typename detail::null_socket_service<
86
- Protocol>::native_handle_type native_handle_type;
87
- #elif defined(ASIO_HAS_IOCP)
88
- typedef typename detail::win_iocp_socket_service<
89
- Protocol>::native_handle_type native_handle_type;
90
- #else
91
- typedef typename detail::reactive_socket_service<
92
- Protocol>::native_handle_type native_handle_type;
93
- #endif
94
-
95
- /// The protocol type.
96
- typedef Protocol protocol_type;
97
-
98
- /// The endpoint type.
99
- typedef typename Protocol::endpoint endpoint_type;
100
-
101
- #if !defined(ASIO_NO_EXTENSIONS)
102
- /// A basic_socket is always the lowest layer.
103
- typedef basic_socket<Protocol, Executor> lowest_layer_type;
104
- #endif // !defined(ASIO_NO_EXTENSIONS)
105
-
106
- /// Construct a basic_socket without opening it.
107
- /**
108
- * This constructor creates a socket without opening it.
109
- *
110
- * @param ex The I/O executor that the socket will use, by default, to
111
- * dispatch handlers for any asynchronous operations performed on the socket.
112
- */
113
- explicit basic_socket(const executor_type& ex)
114
- : impl_(ex)
115
- {
116
- }
117
-
118
- /// Construct a basic_socket without opening it.
119
- /**
120
- * This constructor creates a socket without opening it.
121
- *
122
- * @param context An execution context which provides the I/O executor that
123
- * the socket will use, by default, to dispatch handlers for any asynchronous
124
- * operations performed on the socket.
125
- */
126
- template <typename ExecutionContext>
127
- explicit basic_socket(ExecutionContext& context,
128
- typename enable_if<
129
- is_convertible<ExecutionContext&, execution_context&>::value
130
- >::type* = 0)
131
- : impl_(context)
132
- {
133
- }
134
-
135
- /// Construct and open a basic_socket.
136
- /**
137
- * This constructor creates and opens a socket.
138
- *
139
- * @param ex The I/O executor that the socket will use, by default, to
140
- * dispatch handlers for any asynchronous operations performed on the socket.
141
- *
142
- * @param protocol An object specifying protocol parameters to be used.
143
- *
144
- * @throws asio::system_error Thrown on failure.
145
- */
146
- basic_socket(const executor_type& ex, const protocol_type& protocol)
147
- : impl_(ex)
148
- {
149
- asio::error_code ec;
150
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
151
- asio::detail::throw_error(ec, "open");
152
- }
153
-
154
- /// Construct and open a basic_socket.
155
- /**
156
- * This constructor creates and opens a socket.
157
- *
158
- * @param context An execution context which provides the I/O executor that
159
- * the socket will use, by default, to dispatch handlers for any asynchronous
160
- * operations performed on the socket.
161
- *
162
- * @param protocol An object specifying protocol parameters to be used.
163
- *
164
- * @throws asio::system_error Thrown on failure.
165
- */
166
- template <typename ExecutionContext>
167
- basic_socket(ExecutionContext& context, const protocol_type& protocol,
168
- typename enable_if<
169
- is_convertible<ExecutionContext&, execution_context&>::value
170
- >::type* = 0)
171
- : impl_(context)
172
- {
173
- asio::error_code ec;
174
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
175
- asio::detail::throw_error(ec, "open");
176
- }
177
-
178
- /// Construct a basic_socket, opening it and binding it to the given local
179
- /// endpoint.
180
- /**
181
- * This constructor creates a socket and automatically opens it bound to the
182
- * specified endpoint on the local machine. The protocol used is the protocol
183
- * associated with the given endpoint.
184
- *
185
- * @param ex The I/O executor that the socket will use, by default, to
186
- * dispatch handlers for any asynchronous operations performed on the socket.
187
- *
188
- * @param endpoint An endpoint on the local machine to which the socket will
189
- * be bound.
190
- *
191
- * @throws asio::system_error Thrown on failure.
192
- */
193
- basic_socket(const executor_type& ex, const endpoint_type& endpoint)
194
- : impl_(ex)
195
- {
196
- asio::error_code ec;
197
- const protocol_type protocol = endpoint.protocol();
198
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
199
- asio::detail::throw_error(ec, "open");
200
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
201
- asio::detail::throw_error(ec, "bind");
202
- }
203
-
204
- /// Construct a basic_socket, opening it and binding it to the given local
205
- /// endpoint.
206
- /**
207
- * This constructor creates a socket and automatically opens it bound to the
208
- * specified endpoint on the local machine. The protocol used is the protocol
209
- * associated with the given endpoint.
210
- *
211
- * @param context An execution context which provides the I/O executor that
212
- * the socket will use, by default, to dispatch handlers for any asynchronous
213
- * operations performed on the socket.
214
- *
215
- * @param endpoint An endpoint on the local machine to which the socket will
216
- * be bound.
217
- *
218
- * @throws asio::system_error Thrown on failure.
219
- */
220
- template <typename ExecutionContext>
221
- basic_socket(ExecutionContext& context, const endpoint_type& endpoint,
222
- typename enable_if<
223
- is_convertible<ExecutionContext&, execution_context&>::value
224
- >::type* = 0)
225
- : impl_(context)
226
- {
227
- asio::error_code ec;
228
- const protocol_type protocol = endpoint.protocol();
229
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
230
- asio::detail::throw_error(ec, "open");
231
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
232
- asio::detail::throw_error(ec, "bind");
233
- }
234
-
235
- /// Construct a basic_socket on an existing native socket.
236
- /**
237
- * This constructor creates a socket object to hold an existing native socket.
238
- *
239
- * @param ex The I/O executor that the socket will use, by default, to
240
- * dispatch handlers for any asynchronous operations performed on the socket.
241
- *
242
- * @param protocol An object specifying protocol parameters to be used.
243
- *
244
- * @param native_socket A native socket.
245
- *
246
- * @throws asio::system_error Thrown on failure.
247
- */
248
- basic_socket(const executor_type& ex, const protocol_type& protocol,
249
- const native_handle_type& native_socket)
250
- : impl_(ex)
251
- {
252
- asio::error_code ec;
253
- impl_.get_service().assign(impl_.get_implementation(),
254
- protocol, native_socket, ec);
255
- asio::detail::throw_error(ec, "assign");
256
- }
257
-
258
- /// Construct a basic_socket on an existing native socket.
259
- /**
260
- * This constructor creates a socket object to hold an existing native socket.
261
- *
262
- * @param context An execution context which provides the I/O executor that
263
- * the socket will use, by default, to dispatch handlers for any asynchronous
264
- * operations performed on the socket.
265
- *
266
- * @param protocol An object specifying protocol parameters to be used.
267
- *
268
- * @param native_socket A native socket.
269
- *
270
- * @throws asio::system_error Thrown on failure.
271
- */
272
- template <typename ExecutionContext>
273
- basic_socket(ExecutionContext& context, const protocol_type& protocol,
274
- const native_handle_type& native_socket,
275
- typename enable_if<
276
- is_convertible<ExecutionContext&, execution_context&>::value
277
- >::type* = 0)
278
- : impl_(context)
279
- {
280
- asio::error_code ec;
281
- impl_.get_service().assign(impl_.get_implementation(),
282
- protocol, native_socket, ec);
283
- asio::detail::throw_error(ec, "assign");
284
- }
285
-
286
- #if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
287
- /// Move-construct a basic_socket from another.
288
- /**
289
- * This constructor moves a socket from one object to another.
290
- *
291
- * @param other The other basic_socket object from which the move will
292
- * occur.
293
- *
294
- * @note Following the move, the moved-from object is in the same state as if
295
- * constructed using the @c basic_socket(const executor_type&) constructor.
296
- */
297
- basic_socket(basic_socket&& other) ASIO_NOEXCEPT
298
- : impl_(std::move(other.impl_))
299
- {
300
- }
301
-
302
- /// Move-assign a basic_socket from another.
303
- /**
304
- * This assignment operator moves a socket from one object to another.
305
- *
306
- * @param other The other basic_socket object from which the move will
307
- * occur.
308
- *
309
- * @note Following the move, the moved-from object is in the same state as if
310
- * constructed using the @c basic_socket(const executor_type&) constructor.
311
- */
312
- basic_socket& operator=(basic_socket&& other)
313
- {
314
- impl_ = std::move(other.impl_);
315
- return *this;
316
- }
317
-
318
- // All sockets have access to each other's implementations.
319
- template <typename Protocol1, typename Executor1>
320
- friend class basic_socket;
321
-
322
- /// Move-construct a basic_socket from a socket of another protocol type.
323
- /**
324
- * This constructor moves a socket from one object to another.
325
- *
326
- * @param other The other basic_socket object from which the move will
327
- * occur.
328
- *
329
- * @note Following the move, the moved-from object is in the same state as if
330
- * constructed using the @c basic_socket(const executor_type&) constructor.
331
- */
332
- template <typename Protocol1, typename Executor1>
333
- basic_socket(basic_socket<Protocol1, Executor1>&& other,
334
- typename enable_if<
335
- is_convertible<Protocol1, Protocol>::value
336
- && is_convertible<Executor1, Executor>::value
337
- >::type* = 0)
338
- : impl_(std::move(other.impl_))
339
- {
340
- }
341
-
342
- /// Move-assign a basic_socket from a socket of another protocol type.
343
- /**
344
- * This assignment operator moves a socket from one object to another.
345
- *
346
- * @param other The other basic_socket object from which the move will
347
- * occur.
348
- *
349
- * @note Following the move, the moved-from object is in the same state as if
350
- * constructed using the @c basic_socket(const executor_type&) constructor.
351
- */
352
- template <typename Protocol1, typename Executor1>
353
- typename enable_if<
354
- is_convertible<Protocol1, Protocol>::value
355
- && is_convertible<Executor1, Executor>::value,
356
- basic_socket&
357
- >::type operator=(basic_socket<Protocol1, Executor1> && other)
358
- {
359
- basic_socket tmp(std::move(other));
360
- impl_ = std::move(tmp.impl_);
361
- return *this;
362
- }
363
- #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
364
-
365
- /// Get the executor associated with the object.
366
- executor_type get_executor() ASIO_NOEXCEPT
367
- {
368
- return impl_.get_executor();
369
- }
370
-
371
- #if !defined(ASIO_NO_EXTENSIONS)
372
- /// Get a reference to the lowest layer.
373
- /**
374
- * This function returns a reference to the lowest layer in a stack of
375
- * layers. Since a basic_socket cannot contain any further layers, it simply
376
- * returns a reference to itself.
377
- *
378
- * @return A reference to the lowest layer in the stack of layers. Ownership
379
- * is not transferred to the caller.
380
- */
381
- lowest_layer_type& lowest_layer()
382
- {
383
- return *this;
384
- }
385
-
386
- /// Get a const reference to the lowest layer.
387
- /**
388
- * This function returns a const reference to the lowest layer in a stack of
389
- * layers. Since a basic_socket cannot contain any further layers, it simply
390
- * returns a reference to itself.
391
- *
392
- * @return A const reference to the lowest layer in the stack of layers.
393
- * Ownership is not transferred to the caller.
394
- */
395
- const lowest_layer_type& lowest_layer() const
396
- {
397
- return *this;
398
- }
399
- #endif // !defined(ASIO_NO_EXTENSIONS)
400
-
401
- /// Open the socket using the specified protocol.
402
- /**
403
- * This function opens the socket so that it will use the specified protocol.
404
- *
405
- * @param protocol An object specifying protocol parameters to be used.
406
- *
407
- * @throws asio::system_error Thrown on failure.
408
- *
409
- * @par Example
410
- * @code
411
- * asio::ip::tcp::socket socket(my_context);
412
- * socket.open(asio::ip::tcp::v4());
413
- * @endcode
414
- */
415
- void open(const protocol_type& protocol = protocol_type())
416
- {
417
- asio::error_code ec;
418
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
419
- asio::detail::throw_error(ec, "open");
420
- }
421
-
422
- /// Open the socket using the specified protocol.
423
- /**
424
- * This function opens the socket so that it will use the specified protocol.
425
- *
426
- * @param protocol An object specifying which protocol is to be used.
427
- *
428
- * @param ec Set to indicate what error occurred, if any.
429
- *
430
- * @par Example
431
- * @code
432
- * asio::ip::tcp::socket socket(my_context);
433
- * asio::error_code ec;
434
- * socket.open(asio::ip::tcp::v4(), ec);
435
- * if (ec)
436
- * {
437
- * // An error occurred.
438
- * }
439
- * @endcode
440
- */
441
- ASIO_SYNC_OP_VOID open(const protocol_type& protocol,
442
- asio::error_code& ec)
443
- {
444
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
445
- ASIO_SYNC_OP_VOID_RETURN(ec);
446
- }
447
-
448
- /// Assign an existing native socket to the socket.
449
- /*
450
- * This function opens the socket to hold an existing native socket.
451
- *
452
- * @param protocol An object specifying which protocol is to be used.
453
- *
454
- * @param native_socket A native socket.
455
- *
456
- * @throws asio::system_error Thrown on failure.
457
- */
458
- void assign(const protocol_type& protocol,
459
- const native_handle_type& native_socket)
460
- {
461
- asio::error_code ec;
462
- impl_.get_service().assign(impl_.get_implementation(),
463
- protocol, native_socket, ec);
464
- asio::detail::throw_error(ec, "assign");
465
- }
466
-
467
- /// Assign an existing native socket to the socket.
468
- /*
469
- * This function opens the socket to hold an existing native socket.
470
- *
471
- * @param protocol An object specifying which protocol is to be used.
472
- *
473
- * @param native_socket A native socket.
474
- *
475
- * @param ec Set to indicate what error occurred, if any.
476
- */
477
- ASIO_SYNC_OP_VOID assign(const protocol_type& protocol,
478
- const native_handle_type& native_socket, asio::error_code& ec)
479
- {
480
- impl_.get_service().assign(impl_.get_implementation(),
481
- protocol, native_socket, ec);
482
- ASIO_SYNC_OP_VOID_RETURN(ec);
483
- }
484
-
485
- /// Determine whether the socket is open.
486
- bool is_open() const
487
- {
488
- return impl_.get_service().is_open(impl_.get_implementation());
489
- }
490
-
491
- /// Close the socket.
492
- /**
493
- * This function is used to close the socket. Any asynchronous send, receive
494
- * or connect operations will be cancelled immediately, and will complete
495
- * with the asio::error::operation_aborted error.
496
- *
497
- * @throws asio::system_error Thrown on failure. Note that, even if
498
- * the function indicates an error, the underlying descriptor is closed.
499
- *
500
- * @note For portable behaviour with respect to graceful closure of a
501
- * connected socket, call shutdown() before closing the socket.
502
- */
503
- void close()
504
- {
505
- asio::error_code ec;
506
- impl_.get_service().close(impl_.get_implementation(), ec);
507
- asio::detail::throw_error(ec, "close");
508
- }
509
-
510
- /// Close the socket.
511
- /**
512
- * This function is used to close the socket. Any asynchronous send, receive
513
- * or connect operations will be cancelled immediately, and will complete
514
- * with the asio::error::operation_aborted error.
515
- *
516
- * @param ec Set to indicate what error occurred, if any. Note that, even if
517
- * the function indicates an error, the underlying descriptor is closed.
518
- *
519
- * @par Example
520
- * @code
521
- * asio::ip::tcp::socket socket(my_context);
522
- * ...
523
- * asio::error_code ec;
524
- * socket.close(ec);
525
- * if (ec)
526
- * {
527
- * // An error occurred.
528
- * }
529
- * @endcode
530
- *
531
- * @note For portable behaviour with respect to graceful closure of a
532
- * connected socket, call shutdown() before closing the socket.
533
- */
534
- ASIO_SYNC_OP_VOID close(asio::error_code& ec)
535
- {
536
- impl_.get_service().close(impl_.get_implementation(), ec);
537
- ASIO_SYNC_OP_VOID_RETURN(ec);
538
- }
539
-
540
- /// Release ownership of the underlying native socket.
541
- /**
542
- * This function causes all outstanding asynchronous connect, send and receive
543
- * operations to finish immediately, and the handlers for cancelled operations
544
- * will be passed the asio::error::operation_aborted error. Ownership
545
- * of the native socket is then transferred to the caller.
546
- *
547
- * @throws asio::system_error Thrown on failure.
548
- *
549
- * @note This function is unsupported on Windows versions prior to Windows
550
- * 8.1, and will fail with asio::error::operation_not_supported on
551
- * these platforms.
552
- */
553
- #if defined(ASIO_MSVC) && (ASIO_MSVC >= 1400) \
554
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0603)
555
- __declspec(deprecated("This function always fails with "
556
- "operation_not_supported when used on Windows versions "
557
- "prior to Windows 8.1."))
558
- #endif
559
- native_handle_type release()
560
- {
561
- asio::error_code ec;
562
- native_handle_type s = impl_.get_service().release(
563
- impl_.get_implementation(), ec);
564
- asio::detail::throw_error(ec, "release");
565
- return s;
566
- }
567
-
568
- /// Release ownership of the underlying native socket.
569
- /**
570
- * This function causes all outstanding asynchronous connect, send and receive
571
- * operations to finish immediately, and the handlers for cancelled operations
572
- * will be passed the asio::error::operation_aborted error. Ownership
573
- * of the native socket is then transferred to the caller.
574
- *
575
- * @param ec Set to indicate what error occurred, if any.
576
- *
577
- * @note This function is unsupported on Windows versions prior to Windows
578
- * 8.1, and will fail with asio::error::operation_not_supported on
579
- * these platforms.
580
- */
581
- #if defined(ASIO_MSVC) && (ASIO_MSVC >= 1400) \
582
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0603)
583
- __declspec(deprecated("This function always fails with "
584
- "operation_not_supported when used on Windows versions "
585
- "prior to Windows 8.1."))
586
- #endif
587
- native_handle_type release(asio::error_code& ec)
588
- {
589
- return impl_.get_service().release(impl_.get_implementation(), ec);
590
- }
591
-
592
- /// Get the native socket representation.
593
- /**
594
- * This function may be used to obtain the underlying representation of the
595
- * socket. This is intended to allow access to native socket functionality
596
- * that is not otherwise provided.
597
- */
598
- native_handle_type native_handle()
599
- {
600
- return impl_.get_service().native_handle(impl_.get_implementation());
601
- }
602
-
603
- /// Cancel all asynchronous operations associated with the socket.
604
- /**
605
- * This function causes all outstanding asynchronous connect, send and receive
606
- * operations to finish immediately, and the handlers for cancelled operations
607
- * will be passed the asio::error::operation_aborted error.
608
- *
609
- * @throws asio::system_error Thrown on failure.
610
- *
611
- * @note Calls to cancel() will always fail with
612
- * asio::error::operation_not_supported when run on Windows XP, Windows
613
- * Server 2003, and earlier versions of Windows, unless
614
- * ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has
615
- * two issues that should be considered before enabling its use:
616
- *
617
- * @li It will only cancel asynchronous operations that were initiated in the
618
- * current thread.
619
- *
620
- * @li It can appear to complete without error, but the request to cancel the
621
- * unfinished operations may be silently ignored by the operating system.
622
- * Whether it works or not seems to depend on the drivers that are installed.
623
- *
624
- * For portable cancellation, consider using one of the following
625
- * alternatives:
626
- *
627
- * @li Disable asio's I/O completion port backend by defining
628
- * ASIO_DISABLE_IOCP.
629
- *
630
- * @li Use the close() function to simultaneously cancel the outstanding
631
- * operations and close the socket.
632
- *
633
- * When running on Windows Vista, Windows Server 2008, and later, the
634
- * CancelIoEx function is always used. This function does not have the
635
- * problems described above.
636
- */
637
- #if defined(ASIO_MSVC) && (ASIO_MSVC >= 1400) \
638
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \
639
- && !defined(ASIO_ENABLE_CANCELIO)
640
- __declspec(deprecated("By default, this function always fails with "
641
- "operation_not_supported when used on Windows XP, Windows Server 2003, "
642
- "or earlier. Consult documentation for details."))
643
- #endif
644
- void cancel()
645
- {
646
- asio::error_code ec;
647
- impl_.get_service().cancel(impl_.get_implementation(), ec);
648
- asio::detail::throw_error(ec, "cancel");
649
- }
650
-
651
- /// Cancel all asynchronous operations associated with the socket.
652
- /**
653
- * This function causes all outstanding asynchronous connect, send and receive
654
- * operations to finish immediately, and the handlers for cancelled operations
655
- * will be passed the asio::error::operation_aborted error.
656
- *
657
- * @param ec Set to indicate what error occurred, if any.
658
- *
659
- * @note Calls to cancel() will always fail with
660
- * asio::error::operation_not_supported when run on Windows XP, Windows
661
- * Server 2003, and earlier versions of Windows, unless
662
- * ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has
663
- * two issues that should be considered before enabling its use:
664
- *
665
- * @li It will only cancel asynchronous operations that were initiated in the
666
- * current thread.
667
- *
668
- * @li It can appear to complete without error, but the request to cancel the
669
- * unfinished operations may be silently ignored by the operating system.
670
- * Whether it works or not seems to depend on the drivers that are installed.
671
- *
672
- * For portable cancellation, consider using one of the following
673
- * alternatives:
674
- *
675
- * @li Disable asio's I/O completion port backend by defining
676
- * ASIO_DISABLE_IOCP.
677
- *
678
- * @li Use the close() function to simultaneously cancel the outstanding
679
- * operations and close the socket.
680
- *
681
- * When running on Windows Vista, Windows Server 2008, and later, the
682
- * CancelIoEx function is always used. This function does not have the
683
- * problems described above.
684
- */
685
- #if defined(ASIO_MSVC) && (ASIO_MSVC >= 1400) \
686
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \
687
- && !defined(ASIO_ENABLE_CANCELIO)
688
- __declspec(deprecated("By default, this function always fails with "
689
- "operation_not_supported when used on Windows XP, Windows Server 2003, "
690
- "or earlier. Consult documentation for details."))
691
- #endif
692
- ASIO_SYNC_OP_VOID cancel(asio::error_code& ec)
693
- {
694
- impl_.get_service().cancel(impl_.get_implementation(), ec);
695
- ASIO_SYNC_OP_VOID_RETURN(ec);
696
- }
697
-
698
- /// Determine whether the socket is at the out-of-band data mark.
699
- /**
700
- * This function is used to check whether the socket input is currently
701
- * positioned at the out-of-band data mark.
702
- *
703
- * @return A bool indicating whether the socket is at the out-of-band data
704
- * mark.
705
- *
706
- * @throws asio::system_error Thrown on failure.
707
- */
708
- bool at_mark() const
709
- {
710
- asio::error_code ec;
711
- bool b = impl_.get_service().at_mark(impl_.get_implementation(), ec);
712
- asio::detail::throw_error(ec, "at_mark");
713
- return b;
714
- }
715
-
716
- /// Determine whether the socket is at the out-of-band data mark.
717
- /**
718
- * This function is used to check whether the socket input is currently
719
- * positioned at the out-of-band data mark.
720
- *
721
- * @param ec Set to indicate what error occurred, if any.
722
- *
723
- * @return A bool indicating whether the socket is at the out-of-band data
724
- * mark.
725
- */
726
- bool at_mark(asio::error_code& ec) const
727
- {
728
- return impl_.get_service().at_mark(impl_.get_implementation(), ec);
729
- }
730
-
731
- /// Determine the number of bytes available for reading.
732
- /**
733
- * This function is used to determine the number of bytes that may be read
734
- * without blocking.
735
- *
736
- * @return The number of bytes that may be read without blocking, or 0 if an
737
- * error occurs.
738
- *
739
- * @throws asio::system_error Thrown on failure.
740
- */
741
- std::size_t available() const
742
- {
743
- asio::error_code ec;
744
- std::size_t s = impl_.get_service().available(
745
- impl_.get_implementation(), ec);
746
- asio::detail::throw_error(ec, "available");
747
- return s;
748
- }
749
-
750
- /// Determine the number of bytes available for reading.
751
- /**
752
- * This function is used to determine the number of bytes that may be read
753
- * without blocking.
754
- *
755
- * @param ec Set to indicate what error occurred, if any.
756
- *
757
- * @return The number of bytes that may be read without blocking, or 0 if an
758
- * error occurs.
759
- */
760
- std::size_t available(asio::error_code& ec) const
761
- {
762
- return impl_.get_service().available(impl_.get_implementation(), ec);
763
- }
764
-
765
- /// Bind the socket to the given local endpoint.
766
- /**
767
- * This function binds the socket to the specified endpoint on the local
768
- * machine.
769
- *
770
- * @param endpoint An endpoint on the local machine to which the socket will
771
- * be bound.
772
- *
773
- * @throws asio::system_error Thrown on failure.
774
- *
775
- * @par Example
776
- * @code
777
- * asio::ip::tcp::socket socket(my_context);
778
- * socket.open(asio::ip::tcp::v4());
779
- * socket.bind(asio::ip::tcp::endpoint(
780
- * asio::ip::tcp::v4(), 12345));
781
- * @endcode
782
- */
783
- void bind(const endpoint_type& endpoint)
784
- {
785
- asio::error_code ec;
786
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
787
- asio::detail::throw_error(ec, "bind");
788
- }
789
-
790
- /// Bind the socket to the given local endpoint.
791
- /**
792
- * This function binds the socket to the specified endpoint on the local
793
- * machine.
794
- *
795
- * @param endpoint An endpoint on the local machine to which the socket will
796
- * be bound.
797
- *
798
- * @param ec Set to indicate what error occurred, if any.
799
- *
800
- * @par Example
801
- * @code
802
- * asio::ip::tcp::socket socket(my_context);
803
- * socket.open(asio::ip::tcp::v4());
804
- * asio::error_code ec;
805
- * socket.bind(asio::ip::tcp::endpoint(
806
- * asio::ip::tcp::v4(), 12345), ec);
807
- * if (ec)
808
- * {
809
- * // An error occurred.
810
- * }
811
- * @endcode
812
- */
813
- ASIO_SYNC_OP_VOID bind(const endpoint_type& endpoint,
814
- asio::error_code& ec)
815
- {
816
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
817
- ASIO_SYNC_OP_VOID_RETURN(ec);
818
- }
819
-
820
- /// Connect the socket to the specified endpoint.
821
- /**
822
- * This function is used to connect a socket to the specified remote endpoint.
823
- * The function call will block until the connection is successfully made or
824
- * an error occurs.
825
- *
826
- * The socket is automatically opened if it is not already open. If the
827
- * connect fails, and the socket was automatically opened, the socket is
828
- * not returned to the closed state.
829
- *
830
- * @param peer_endpoint The remote endpoint to which the socket will be
831
- * connected.
832
- *
833
- * @throws asio::system_error Thrown on failure.
834
- *
835
- * @par Example
836
- * @code
837
- * asio::ip::tcp::socket socket(my_context);
838
- * asio::ip::tcp::endpoint endpoint(
839
- * asio::ip::address::from_string("1.2.3.4"), 12345);
840
- * socket.connect(endpoint);
841
- * @endcode
842
- */
843
- void connect(const endpoint_type& peer_endpoint)
844
- {
845
- asio::error_code ec;
846
- if (!is_open())
847
- {
848
- impl_.get_service().open(impl_.get_implementation(),
849
- peer_endpoint.protocol(), ec);
850
- asio::detail::throw_error(ec, "connect");
851
- }
852
- impl_.get_service().connect(impl_.get_implementation(), peer_endpoint, ec);
853
- asio::detail::throw_error(ec, "connect");
854
- }
855
-
856
- /// Connect the socket to the specified endpoint.
857
- /**
858
- * This function is used to connect a socket to the specified remote endpoint.
859
- * The function call will block until the connection is successfully made or
860
- * an error occurs.
861
- *
862
- * The socket is automatically opened if it is not already open. If the
863
- * connect fails, and the socket was automatically opened, the socket is
864
- * not returned to the closed state.
865
- *
866
- * @param peer_endpoint The remote endpoint to which the socket will be
867
- * connected.
868
- *
869
- * @param ec Set to indicate what error occurred, if any.
870
- *
871
- * @par Example
872
- * @code
873
- * asio::ip::tcp::socket socket(my_context);
874
- * asio::ip::tcp::endpoint endpoint(
875
- * asio::ip::address::from_string("1.2.3.4"), 12345);
876
- * asio::error_code ec;
877
- * socket.connect(endpoint, ec);
878
- * if (ec)
879
- * {
880
- * // An error occurred.
881
- * }
882
- * @endcode
883
- */
884
- ASIO_SYNC_OP_VOID connect(const endpoint_type& peer_endpoint,
885
- asio::error_code& ec)
886
- {
887
- if (!is_open())
888
- {
889
- impl_.get_service().open(impl_.get_implementation(),
890
- peer_endpoint.protocol(), ec);
891
- if (ec)
892
- {
893
- ASIO_SYNC_OP_VOID_RETURN(ec);
894
- }
895
- }
896
-
897
- impl_.get_service().connect(impl_.get_implementation(), peer_endpoint, ec);
898
- ASIO_SYNC_OP_VOID_RETURN(ec);
899
- }
900
-
901
- /// Start an asynchronous connect.
902
- /**
903
- * This function is used to asynchronously connect a socket to the specified
904
- * remote endpoint. The function call always returns immediately.
905
- *
906
- * The socket is automatically opened if it is not already open. If the
907
- * connect fails, and the socket was automatically opened, the socket is
908
- * not returned to the closed state.
909
- *
910
- * @param peer_endpoint The remote endpoint to which the socket will be
911
- * connected. Copies will be made of the endpoint object as required.
912
- *
913
- * @param handler The handler to be called when the connection operation
914
- * completes. Copies will be made of the handler as required. The function
915
- * signature of the handler must be:
916
- * @code void handler(
917
- * const asio::error_code& error // Result of operation
918
- * ); @endcode
919
- * Regardless of whether the asynchronous operation completes immediately or
920
- * not, the handler will not be invoked from within this function. On
921
- * immediate completion, invocation of the handler will be performed in a
922
- * manner equivalent to using asio::post().
923
- *
924
- * @par Example
925
- * @code
926
- * void connect_handler(const asio::error_code& error)
927
- * {
928
- * if (!error)
929
- * {
930
- * // Connect succeeded.
931
- * }
932
- * }
933
- *
934
- * ...
935
- *
936
- * asio::ip::tcp::socket socket(my_context);
937
- * asio::ip::tcp::endpoint endpoint(
938
- * asio::ip::address::from_string("1.2.3.4"), 12345);
939
- * socket.async_connect(endpoint, connect_handler);
940
- * @endcode
941
- */
942
- template <
943
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code))
944
- ConnectHandler ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
945
- ASIO_INITFN_AUTO_RESULT_TYPE(ConnectHandler,
946
- void (asio::error_code))
947
- async_connect(const endpoint_type& peer_endpoint,
948
- ASIO_MOVE_ARG(ConnectHandler) handler
949
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
950
- {
951
- asio::error_code open_ec;
952
- if (!is_open())
953
- {
954
- const protocol_type protocol = peer_endpoint.protocol();
955
- impl_.get_service().open(impl_.get_implementation(), protocol, open_ec);
956
- }
957
-
958
- return async_initiate<ConnectHandler, void (asio::error_code)>(
959
- initiate_async_connect(this), handler, peer_endpoint, open_ec);
960
- }
961
-
962
- /// Set an option on the socket.
963
- /**
964
- * This function is used to set an option on the socket.
965
- *
966
- * @param option The new option value to be set on the socket.
967
- *
968
- * @throws asio::system_error Thrown on failure.
969
- *
970
- * @sa SettableSocketOption @n
971
- * asio::socket_base::broadcast @n
972
- * asio::socket_base::do_not_route @n
973
- * asio::socket_base::keep_alive @n
974
- * asio::socket_base::linger @n
975
- * asio::socket_base::receive_buffer_size @n
976
- * asio::socket_base::receive_low_watermark @n
977
- * asio::socket_base::reuse_address @n
978
- * asio::socket_base::send_buffer_size @n
979
- * asio::socket_base::send_low_watermark @n
980
- * asio::ip::multicast::join_group @n
981
- * asio::ip::multicast::leave_group @n
982
- * asio::ip::multicast::enable_loopback @n
983
- * asio::ip::multicast::outbound_interface @n
984
- * asio::ip::multicast::hops @n
985
- * asio::ip::tcp::no_delay
986
- *
987
- * @par Example
988
- * Setting the IPPROTO_TCP/TCP_NODELAY option:
989
- * @code
990
- * asio::ip::tcp::socket socket(my_context);
991
- * ...
992
- * asio::ip::tcp::no_delay option(true);
993
- * socket.set_option(option);
994
- * @endcode
995
- */
996
- template <typename SettableSocketOption>
997
- void set_option(const SettableSocketOption& option)
998
- {
999
- asio::error_code ec;
1000
- impl_.get_service().set_option(impl_.get_implementation(), option, ec);
1001
- asio::detail::throw_error(ec, "set_option");
1002
- }
1003
-
1004
- /// Set an option on the socket.
1005
- /**
1006
- * This function is used to set an option on the socket.
1007
- *
1008
- * @param option The new option value to be set on the socket.
1009
- *
1010
- * @param ec Set to indicate what error occurred, if any.
1011
- *
1012
- * @sa SettableSocketOption @n
1013
- * asio::socket_base::broadcast @n
1014
- * asio::socket_base::do_not_route @n
1015
- * asio::socket_base::keep_alive @n
1016
- * asio::socket_base::linger @n
1017
- * asio::socket_base::receive_buffer_size @n
1018
- * asio::socket_base::receive_low_watermark @n
1019
- * asio::socket_base::reuse_address @n
1020
- * asio::socket_base::send_buffer_size @n
1021
- * asio::socket_base::send_low_watermark @n
1022
- * asio::ip::multicast::join_group @n
1023
- * asio::ip::multicast::leave_group @n
1024
- * asio::ip::multicast::enable_loopback @n
1025
- * asio::ip::multicast::outbound_interface @n
1026
- * asio::ip::multicast::hops @n
1027
- * asio::ip::tcp::no_delay
1028
- *
1029
- * @par Example
1030
- * Setting the IPPROTO_TCP/TCP_NODELAY option:
1031
- * @code
1032
- * asio::ip::tcp::socket socket(my_context);
1033
- * ...
1034
- * asio::ip::tcp::no_delay option(true);
1035
- * asio::error_code ec;
1036
- * socket.set_option(option, ec);
1037
- * if (ec)
1038
- * {
1039
- * // An error occurred.
1040
- * }
1041
- * @endcode
1042
- */
1043
- template <typename SettableSocketOption>
1044
- ASIO_SYNC_OP_VOID set_option(const SettableSocketOption& option,
1045
- asio::error_code& ec)
1046
- {
1047
- impl_.get_service().set_option(impl_.get_implementation(), option, ec);
1048
- ASIO_SYNC_OP_VOID_RETURN(ec);
1049
- }
1050
-
1051
- /// Get an option from the socket.
1052
- /**
1053
- * This function is used to get the current value of an option on the socket.
1054
- *
1055
- * @param option The option value to be obtained from the socket.
1056
- *
1057
- * @throws asio::system_error Thrown on failure.
1058
- *
1059
- * @sa GettableSocketOption @n
1060
- * asio::socket_base::broadcast @n
1061
- * asio::socket_base::do_not_route @n
1062
- * asio::socket_base::keep_alive @n
1063
- * asio::socket_base::linger @n
1064
- * asio::socket_base::receive_buffer_size @n
1065
- * asio::socket_base::receive_low_watermark @n
1066
- * asio::socket_base::reuse_address @n
1067
- * asio::socket_base::send_buffer_size @n
1068
- * asio::socket_base::send_low_watermark @n
1069
- * asio::ip::multicast::join_group @n
1070
- * asio::ip::multicast::leave_group @n
1071
- * asio::ip::multicast::enable_loopback @n
1072
- * asio::ip::multicast::outbound_interface @n
1073
- * asio::ip::multicast::hops @n
1074
- * asio::ip::tcp::no_delay
1075
- *
1076
- * @par Example
1077
- * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
1078
- * @code
1079
- * asio::ip::tcp::socket socket(my_context);
1080
- * ...
1081
- * asio::ip::tcp::socket::keep_alive option;
1082
- * socket.get_option(option);
1083
- * bool is_set = option.value();
1084
- * @endcode
1085
- */
1086
- template <typename GettableSocketOption>
1087
- void get_option(GettableSocketOption& option) const
1088
- {
1089
- asio::error_code ec;
1090
- impl_.get_service().get_option(impl_.get_implementation(), option, ec);
1091
- asio::detail::throw_error(ec, "get_option");
1092
- }
1093
-
1094
- /// Get an option from the socket.
1095
- /**
1096
- * This function is used to get the current value of an option on the socket.
1097
- *
1098
- * @param option The option value to be obtained from the socket.
1099
- *
1100
- * @param ec Set to indicate what error occurred, if any.
1101
- *
1102
- * @sa GettableSocketOption @n
1103
- * asio::socket_base::broadcast @n
1104
- * asio::socket_base::do_not_route @n
1105
- * asio::socket_base::keep_alive @n
1106
- * asio::socket_base::linger @n
1107
- * asio::socket_base::receive_buffer_size @n
1108
- * asio::socket_base::receive_low_watermark @n
1109
- * asio::socket_base::reuse_address @n
1110
- * asio::socket_base::send_buffer_size @n
1111
- * asio::socket_base::send_low_watermark @n
1112
- * asio::ip::multicast::join_group @n
1113
- * asio::ip::multicast::leave_group @n
1114
- * asio::ip::multicast::enable_loopback @n
1115
- * asio::ip::multicast::outbound_interface @n
1116
- * asio::ip::multicast::hops @n
1117
- * asio::ip::tcp::no_delay
1118
- *
1119
- * @par Example
1120
- * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
1121
- * @code
1122
- * asio::ip::tcp::socket socket(my_context);
1123
- * ...
1124
- * asio::ip::tcp::socket::keep_alive option;
1125
- * asio::error_code ec;
1126
- * socket.get_option(option, ec);
1127
- * if (ec)
1128
- * {
1129
- * // An error occurred.
1130
- * }
1131
- * bool is_set = option.value();
1132
- * @endcode
1133
- */
1134
- template <typename GettableSocketOption>
1135
- ASIO_SYNC_OP_VOID get_option(GettableSocketOption& option,
1136
- asio::error_code& ec) const
1137
- {
1138
- impl_.get_service().get_option(impl_.get_implementation(), option, ec);
1139
- ASIO_SYNC_OP_VOID_RETURN(ec);
1140
- }
1141
-
1142
- /// Perform an IO control command on the socket.
1143
- /**
1144
- * This function is used to execute an IO control command on the socket.
1145
- *
1146
- * @param command The IO control command to be performed on the socket.
1147
- *
1148
- * @throws asio::system_error Thrown on failure.
1149
- *
1150
- * @sa IoControlCommand @n
1151
- * asio::socket_base::bytes_readable @n
1152
- * asio::socket_base::non_blocking_io
1153
- *
1154
- * @par Example
1155
- * Getting the number of bytes ready to read:
1156
- * @code
1157
- * asio::ip::tcp::socket socket(my_context);
1158
- * ...
1159
- * asio::ip::tcp::socket::bytes_readable command;
1160
- * socket.io_control(command);
1161
- * std::size_t bytes_readable = command.get();
1162
- * @endcode
1163
- */
1164
- template <typename IoControlCommand>
1165
- void io_control(IoControlCommand& command)
1166
- {
1167
- asio::error_code ec;
1168
- impl_.get_service().io_control(impl_.get_implementation(), command, ec);
1169
- asio::detail::throw_error(ec, "io_control");
1170
- }
1171
-
1172
- /// Perform an IO control command on the socket.
1173
- /**
1174
- * This function is used to execute an IO control command on the socket.
1175
- *
1176
- * @param command The IO control command to be performed on the socket.
1177
- *
1178
- * @param ec Set to indicate what error occurred, if any.
1179
- *
1180
- * @sa IoControlCommand @n
1181
- * asio::socket_base::bytes_readable @n
1182
- * asio::socket_base::non_blocking_io
1183
- *
1184
- * @par Example
1185
- * Getting the number of bytes ready to read:
1186
- * @code
1187
- * asio::ip::tcp::socket socket(my_context);
1188
- * ...
1189
- * asio::ip::tcp::socket::bytes_readable command;
1190
- * asio::error_code ec;
1191
- * socket.io_control(command, ec);
1192
- * if (ec)
1193
- * {
1194
- * // An error occurred.
1195
- * }
1196
- * std::size_t bytes_readable = command.get();
1197
- * @endcode
1198
- */
1199
- template <typename IoControlCommand>
1200
- ASIO_SYNC_OP_VOID io_control(IoControlCommand& command,
1201
- asio::error_code& ec)
1202
- {
1203
- impl_.get_service().io_control(impl_.get_implementation(), command, ec);
1204
- ASIO_SYNC_OP_VOID_RETURN(ec);
1205
- }
1206
-
1207
- /// Gets the non-blocking mode of the socket.
1208
- /**
1209
- * @returns @c true if the socket's synchronous operations will fail with
1210
- * asio::error::would_block if they are unable to perform the requested
1211
- * operation immediately. If @c false, synchronous operations will block
1212
- * until complete.
1213
- *
1214
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
1215
- * operations. Asynchronous operations will never fail with the error
1216
- * asio::error::would_block.
1217
- */
1218
- bool non_blocking() const
1219
- {
1220
- return impl_.get_service().non_blocking(impl_.get_implementation());
1221
- }
1222
-
1223
- /// Sets the non-blocking mode of the socket.
1224
- /**
1225
- * @param mode If @c true, the socket's synchronous operations will fail with
1226
- * asio::error::would_block if they are unable to perform the requested
1227
- * operation immediately. If @c false, synchronous operations will block
1228
- * until complete.
1229
- *
1230
- * @throws asio::system_error Thrown on failure.
1231
- *
1232
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
1233
- * operations. Asynchronous operations will never fail with the error
1234
- * asio::error::would_block.
1235
- */
1236
- void non_blocking(bool mode)
1237
- {
1238
- asio::error_code ec;
1239
- impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
1240
- asio::detail::throw_error(ec, "non_blocking");
1241
- }
1242
-
1243
- /// Sets the non-blocking mode of the socket.
1244
- /**
1245
- * @param mode If @c true, the socket's synchronous operations will fail with
1246
- * asio::error::would_block if they are unable to perform the requested
1247
- * operation immediately. If @c false, synchronous operations will block
1248
- * until complete.
1249
- *
1250
- * @param ec Set to indicate what error occurred, if any.
1251
- *
1252
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
1253
- * operations. Asynchronous operations will never fail with the error
1254
- * asio::error::would_block.
1255
- */
1256
- ASIO_SYNC_OP_VOID non_blocking(
1257
- bool mode, asio::error_code& ec)
1258
- {
1259
- impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
1260
- ASIO_SYNC_OP_VOID_RETURN(ec);
1261
- }
1262
-
1263
- /// Gets the non-blocking mode of the native socket implementation.
1264
- /**
1265
- * This function is used to retrieve the non-blocking mode of the underlying
1266
- * native socket. This mode has no effect on the behaviour of the socket
1267
- * object's synchronous operations.
1268
- *
1269
- * @returns @c true if the underlying socket is in non-blocking mode and
1270
- * direct system calls may fail with asio::error::would_block (or the
1271
- * equivalent system error).
1272
- *
1273
- * @note The current non-blocking mode is cached by the socket object.
1274
- * Consequently, the return value may be incorrect if the non-blocking mode
1275
- * was set directly on the native socket.
1276
- *
1277
- * @par Example
1278
- * This function is intended to allow the encapsulation of arbitrary
1279
- * non-blocking system calls as asynchronous operations, in a way that is
1280
- * transparent to the user of the socket object. The following example
1281
- * illustrates how Linux's @c sendfile system call might be encapsulated:
1282
- * @code template <typename Handler>
1283
- * struct sendfile_op
1284
- * {
1285
- * tcp::socket& sock_;
1286
- * int fd_;
1287
- * Handler handler_;
1288
- * off_t offset_;
1289
- * std::size_t total_bytes_transferred_;
1290
- *
1291
- * // Function call operator meeting WriteHandler requirements.
1292
- * // Used as the handler for the async_write_some operation.
1293
- * void operator()(asio::error_code ec, std::size_t)
1294
- * {
1295
- * // Put the underlying socket into non-blocking mode.
1296
- * if (!ec)
1297
- * if (!sock_.native_non_blocking())
1298
- * sock_.native_non_blocking(true, ec);
1299
- *
1300
- * if (!ec)
1301
- * {
1302
- * for (;;)
1303
- * {
1304
- * // Try the system call.
1305
- * errno = 0;
1306
- * int n = ::sendfile(sock_.native_handle(), fd_, &offset_, 65536);
1307
- * ec = asio::error_code(n < 0 ? errno : 0,
1308
- * asio::error::get_system_category());
1309
- * total_bytes_transferred_ += ec ? 0 : n;
1310
- *
1311
- * // Retry operation immediately if interrupted by signal.
1312
- * if (ec == asio::error::interrupted)
1313
- * continue;
1314
- *
1315
- * // Check if we need to run the operation again.
1316
- * if (ec == asio::error::would_block
1317
- * || ec == asio::error::try_again)
1318
- * {
1319
- * // We have to wait for the socket to become ready again.
1320
- * sock_.async_wait(tcp::socket::wait_write, *this);
1321
- * return;
1322
- * }
1323
- *
1324
- * if (ec || n == 0)
1325
- * {
1326
- * // An error occurred, or we have reached the end of the file.
1327
- * // Either way we must exit the loop so we can call the handler.
1328
- * break;
1329
- * }
1330
- *
1331
- * // Loop around to try calling sendfile again.
1332
- * }
1333
- * }
1334
- *
1335
- * // Pass result back to user's handler.
1336
- * handler_(ec, total_bytes_transferred_);
1337
- * }
1338
- * };
1339
- *
1340
- * template <typename Handler>
1341
- * void async_sendfile(tcp::socket& sock, int fd, Handler h)
1342
- * {
1343
- * sendfile_op<Handler> op = { sock, fd, h, 0, 0 };
1344
- * sock.async_wait(tcp::socket::wait_write, op);
1345
- * } @endcode
1346
- */
1347
- bool native_non_blocking() const
1348
- {
1349
- return impl_.get_service().native_non_blocking(impl_.get_implementation());
1350
- }
1351
-
1352
- /// Sets the non-blocking mode of the native socket implementation.
1353
- /**
1354
- * This function is used to modify the non-blocking mode of the underlying
1355
- * native socket. It has no effect on the behaviour of the socket object's
1356
- * synchronous operations.
1357
- *
1358
- * @param mode If @c true, the underlying socket is put into non-blocking
1359
- * mode and direct system calls may fail with asio::error::would_block
1360
- * (or the equivalent system error).
1361
- *
1362
- * @throws asio::system_error Thrown on failure. If the @c mode is
1363
- * @c false, but the current value of @c non_blocking() is @c true, this
1364
- * function fails with asio::error::invalid_argument, as the
1365
- * combination does not make sense.
1366
- *
1367
- * @par Example
1368
- * This function is intended to allow the encapsulation of arbitrary
1369
- * non-blocking system calls as asynchronous operations, in a way that is
1370
- * transparent to the user of the socket object. The following example
1371
- * illustrates how Linux's @c sendfile system call might be encapsulated:
1372
- * @code template <typename Handler>
1373
- * struct sendfile_op
1374
- * {
1375
- * tcp::socket& sock_;
1376
- * int fd_;
1377
- * Handler handler_;
1378
- * off_t offset_;
1379
- * std::size_t total_bytes_transferred_;
1380
- *
1381
- * // Function call operator meeting WriteHandler requirements.
1382
- * // Used as the handler for the async_write_some operation.
1383
- * void operator()(asio::error_code ec, std::size_t)
1384
- * {
1385
- * // Put the underlying socket into non-blocking mode.
1386
- * if (!ec)
1387
- * if (!sock_.native_non_blocking())
1388
- * sock_.native_non_blocking(true, ec);
1389
- *
1390
- * if (!ec)
1391
- * {
1392
- * for (;;)
1393
- * {
1394
- * // Try the system call.
1395
- * errno = 0;
1396
- * int n = ::sendfile(sock_.native_handle(), fd_, &offset_, 65536);
1397
- * ec = asio::error_code(n < 0 ? errno : 0,
1398
- * asio::error::get_system_category());
1399
- * total_bytes_transferred_ += ec ? 0 : n;
1400
- *
1401
- * // Retry operation immediately if interrupted by signal.
1402
- * if (ec == asio::error::interrupted)
1403
- * continue;
1404
- *
1405
- * // Check if we need to run the operation again.
1406
- * if (ec == asio::error::would_block
1407
- * || ec == asio::error::try_again)
1408
- * {
1409
- * // We have to wait for the socket to become ready again.
1410
- * sock_.async_wait(tcp::socket::wait_write, *this);
1411
- * return;
1412
- * }
1413
- *
1414
- * if (ec || n == 0)
1415
- * {
1416
- * // An error occurred, or we have reached the end of the file.
1417
- * // Either way we must exit the loop so we can call the handler.
1418
- * break;
1419
- * }
1420
- *
1421
- * // Loop around to try calling sendfile again.
1422
- * }
1423
- * }
1424
- *
1425
- * // Pass result back to user's handler.
1426
- * handler_(ec, total_bytes_transferred_);
1427
- * }
1428
- * };
1429
- *
1430
- * template <typename Handler>
1431
- * void async_sendfile(tcp::socket& sock, int fd, Handler h)
1432
- * {
1433
- * sendfile_op<Handler> op = { sock, fd, h, 0, 0 };
1434
- * sock.async_wait(tcp::socket::wait_write, op);
1435
- * } @endcode
1436
- */
1437
- void native_non_blocking(bool mode)
1438
- {
1439
- asio::error_code ec;
1440
- impl_.get_service().native_non_blocking(
1441
- impl_.get_implementation(), mode, ec);
1442
- asio::detail::throw_error(ec, "native_non_blocking");
1443
- }
1444
-
1445
- /// Sets the non-blocking mode of the native socket implementation.
1446
- /**
1447
- * This function is used to modify the non-blocking mode of the underlying
1448
- * native socket. It has no effect on the behaviour of the socket object's
1449
- * synchronous operations.
1450
- *
1451
- * @param mode If @c true, the underlying socket is put into non-blocking
1452
- * mode and direct system calls may fail with asio::error::would_block
1453
- * (or the equivalent system error).
1454
- *
1455
- * @param ec Set to indicate what error occurred, if any. If the @c mode is
1456
- * @c false, but the current value of @c non_blocking() is @c true, this
1457
- * function fails with asio::error::invalid_argument, as the
1458
- * combination does not make sense.
1459
- *
1460
- * @par Example
1461
- * This function is intended to allow the encapsulation of arbitrary
1462
- * non-blocking system calls as asynchronous operations, in a way that is
1463
- * transparent to the user of the socket object. The following example
1464
- * illustrates how Linux's @c sendfile system call might be encapsulated:
1465
- * @code template <typename Handler>
1466
- * struct sendfile_op
1467
- * {
1468
- * tcp::socket& sock_;
1469
- * int fd_;
1470
- * Handler handler_;
1471
- * off_t offset_;
1472
- * std::size_t total_bytes_transferred_;
1473
- *
1474
- * // Function call operator meeting WriteHandler requirements.
1475
- * // Used as the handler for the async_write_some operation.
1476
- * void operator()(asio::error_code ec, std::size_t)
1477
- * {
1478
- * // Put the underlying socket into non-blocking mode.
1479
- * if (!ec)
1480
- * if (!sock_.native_non_blocking())
1481
- * sock_.native_non_blocking(true, ec);
1482
- *
1483
- * if (!ec)
1484
- * {
1485
- * for (;;)
1486
- * {
1487
- * // Try the system call.
1488
- * errno = 0;
1489
- * int n = ::sendfile(sock_.native_handle(), fd_, &offset_, 65536);
1490
- * ec = asio::error_code(n < 0 ? errno : 0,
1491
- * asio::error::get_system_category());
1492
- * total_bytes_transferred_ += ec ? 0 : n;
1493
- *
1494
- * // Retry operation immediately if interrupted by signal.
1495
- * if (ec == asio::error::interrupted)
1496
- * continue;
1497
- *
1498
- * // Check if we need to run the operation again.
1499
- * if (ec == asio::error::would_block
1500
- * || ec == asio::error::try_again)
1501
- * {
1502
- * // We have to wait for the socket to become ready again.
1503
- * sock_.async_wait(tcp::socket::wait_write, *this);
1504
- * return;
1505
- * }
1506
- *
1507
- * if (ec || n == 0)
1508
- * {
1509
- * // An error occurred, or we have reached the end of the file.
1510
- * // Either way we must exit the loop so we can call the handler.
1511
- * break;
1512
- * }
1513
- *
1514
- * // Loop around to try calling sendfile again.
1515
- * }
1516
- * }
1517
- *
1518
- * // Pass result back to user's handler.
1519
- * handler_(ec, total_bytes_transferred_);
1520
- * }
1521
- * };
1522
- *
1523
- * template <typename Handler>
1524
- * void async_sendfile(tcp::socket& sock, int fd, Handler h)
1525
- * {
1526
- * sendfile_op<Handler> op = { sock, fd, h, 0, 0 };
1527
- * sock.async_wait(tcp::socket::wait_write, op);
1528
- * } @endcode
1529
- */
1530
- ASIO_SYNC_OP_VOID native_non_blocking(
1531
- bool mode, asio::error_code& ec)
1532
- {
1533
- impl_.get_service().native_non_blocking(
1534
- impl_.get_implementation(), mode, ec);
1535
- ASIO_SYNC_OP_VOID_RETURN(ec);
1536
- }
1537
-
1538
- /// Get the local endpoint of the socket.
1539
- /**
1540
- * This function is used to obtain the locally bound endpoint of the socket.
1541
- *
1542
- * @returns An object that represents the local endpoint of the socket.
1543
- *
1544
- * @throws asio::system_error Thrown on failure.
1545
- *
1546
- * @par Example
1547
- * @code
1548
- * asio::ip::tcp::socket socket(my_context);
1549
- * ...
1550
- * asio::ip::tcp::endpoint endpoint = socket.local_endpoint();
1551
- * @endcode
1552
- */
1553
- endpoint_type local_endpoint() const
1554
- {
1555
- asio::error_code ec;
1556
- endpoint_type ep = impl_.get_service().local_endpoint(
1557
- impl_.get_implementation(), ec);
1558
- asio::detail::throw_error(ec, "local_endpoint");
1559
- return ep;
1560
- }
1561
-
1562
- /// Get the local endpoint of the socket.
1563
- /**
1564
- * This function is used to obtain the locally bound endpoint of the socket.
1565
- *
1566
- * @param ec Set to indicate what error occurred, if any.
1567
- *
1568
- * @returns An object that represents the local endpoint of the socket.
1569
- * Returns a default-constructed endpoint object if an error occurred.
1570
- *
1571
- * @par Example
1572
- * @code
1573
- * asio::ip::tcp::socket socket(my_context);
1574
- * ...
1575
- * asio::error_code ec;
1576
- * asio::ip::tcp::endpoint endpoint = socket.local_endpoint(ec);
1577
- * if (ec)
1578
- * {
1579
- * // An error occurred.
1580
- * }
1581
- * @endcode
1582
- */
1583
- endpoint_type local_endpoint(asio::error_code& ec) const
1584
- {
1585
- return impl_.get_service().local_endpoint(impl_.get_implementation(), ec);
1586
- }
1587
-
1588
- /// Get the remote endpoint of the socket.
1589
- /**
1590
- * This function is used to obtain the remote endpoint of the socket.
1591
- *
1592
- * @returns An object that represents the remote endpoint of the socket.
1593
- *
1594
- * @throws asio::system_error Thrown on failure.
1595
- *
1596
- * @par Example
1597
- * @code
1598
- * asio::ip::tcp::socket socket(my_context);
1599
- * ...
1600
- * asio::ip::tcp::endpoint endpoint = socket.remote_endpoint();
1601
- * @endcode
1602
- */
1603
- endpoint_type remote_endpoint() const
1604
- {
1605
- asio::error_code ec;
1606
- endpoint_type ep = impl_.get_service().remote_endpoint(
1607
- impl_.get_implementation(), ec);
1608
- asio::detail::throw_error(ec, "remote_endpoint");
1609
- return ep;
1610
- }
1611
-
1612
- /// Get the remote endpoint of the socket.
1613
- /**
1614
- * This function is used to obtain the remote endpoint of the socket.
1615
- *
1616
- * @param ec Set to indicate what error occurred, if any.
1617
- *
1618
- * @returns An object that represents the remote endpoint of the socket.
1619
- * Returns a default-constructed endpoint object if an error occurred.
1620
- *
1621
- * @par Example
1622
- * @code
1623
- * asio::ip::tcp::socket socket(my_context);
1624
- * ...
1625
- * asio::error_code ec;
1626
- * asio::ip::tcp::endpoint endpoint = socket.remote_endpoint(ec);
1627
- * if (ec)
1628
- * {
1629
- * // An error occurred.
1630
- * }
1631
- * @endcode
1632
- */
1633
- endpoint_type remote_endpoint(asio::error_code& ec) const
1634
- {
1635
- return impl_.get_service().remote_endpoint(impl_.get_implementation(), ec);
1636
- }
1637
-
1638
- /// Disable sends or receives on the socket.
1639
- /**
1640
- * This function is used to disable send operations, receive operations, or
1641
- * both.
1642
- *
1643
- * @param what Determines what types of operation will no longer be allowed.
1644
- *
1645
- * @throws asio::system_error Thrown on failure.
1646
- *
1647
- * @par Example
1648
- * Shutting down the send side of the socket:
1649
- * @code
1650
- * asio::ip::tcp::socket socket(my_context);
1651
- * ...
1652
- * socket.shutdown(asio::ip::tcp::socket::shutdown_send);
1653
- * @endcode
1654
- */
1655
- void shutdown(shutdown_type what)
1656
- {
1657
- asio::error_code ec;
1658
- impl_.get_service().shutdown(impl_.get_implementation(), what, ec);
1659
- asio::detail::throw_error(ec, "shutdown");
1660
- }
1661
-
1662
- /// Disable sends or receives on the socket.
1663
- /**
1664
- * This function is used to disable send operations, receive operations, or
1665
- * both.
1666
- *
1667
- * @param what Determines what types of operation will no longer be allowed.
1668
- *
1669
- * @param ec Set to indicate what error occurred, if any.
1670
- *
1671
- * @par Example
1672
- * Shutting down the send side of the socket:
1673
- * @code
1674
- * asio::ip::tcp::socket socket(my_context);
1675
- * ...
1676
- * asio::error_code ec;
1677
- * socket.shutdown(asio::ip::tcp::socket::shutdown_send, ec);
1678
- * if (ec)
1679
- * {
1680
- * // An error occurred.
1681
- * }
1682
- * @endcode
1683
- */
1684
- ASIO_SYNC_OP_VOID shutdown(shutdown_type what,
1685
- asio::error_code& ec)
1686
- {
1687
- impl_.get_service().shutdown(impl_.get_implementation(), what, ec);
1688
- ASIO_SYNC_OP_VOID_RETURN(ec);
1689
- }
1690
-
1691
- /// Wait for the socket to become ready to read, ready to write, or to have
1692
- /// pending error conditions.
1693
- /**
1694
- * This function is used to perform a blocking wait for a socket to enter
1695
- * a ready to read, write or error condition state.
1696
- *
1697
- * @param w Specifies the desired socket state.
1698
- *
1699
- * @par Example
1700
- * Waiting for a socket to become readable.
1701
- * @code
1702
- * asio::ip::tcp::socket socket(my_context);
1703
- * ...
1704
- * socket.wait(asio::ip::tcp::socket::wait_read);
1705
- * @endcode
1706
- */
1707
- void wait(wait_type w)
1708
- {
1709
- asio::error_code ec;
1710
- impl_.get_service().wait(impl_.get_implementation(), w, ec);
1711
- asio::detail::throw_error(ec, "wait");
1712
- }
1713
-
1714
- /// Wait for the socket to become ready to read, ready to write, or to have
1715
- /// pending error conditions.
1716
- /**
1717
- * This function is used to perform a blocking wait for a socket to enter
1718
- * a ready to read, write or error condition state.
1719
- *
1720
- * @param w Specifies the desired socket state.
1721
- *
1722
- * @param ec Set to indicate what error occurred, if any.
1723
- *
1724
- * @par Example
1725
- * Waiting for a socket to become readable.
1726
- * @code
1727
- * asio::ip::tcp::socket socket(my_context);
1728
- * ...
1729
- * asio::error_code ec;
1730
- * socket.wait(asio::ip::tcp::socket::wait_read, ec);
1731
- * @endcode
1732
- */
1733
- ASIO_SYNC_OP_VOID wait(wait_type w, asio::error_code& ec)
1734
- {
1735
- impl_.get_service().wait(impl_.get_implementation(), w, ec);
1736
- ASIO_SYNC_OP_VOID_RETURN(ec);
1737
- }
1738
-
1739
- /// Asynchronously wait for the socket to become ready to read, ready to
1740
- /// write, or to have pending error conditions.
1741
- /**
1742
- * This function is used to perform an asynchronous wait for a socket to enter
1743
- * a ready to read, write or error condition state.
1744
- *
1745
- * @param w Specifies the desired socket state.
1746
- *
1747
- * @param handler The handler to be called when the wait operation completes.
1748
- * Copies will be made of the handler as required. The function signature of
1749
- * the handler must be:
1750
- * @code void handler(
1751
- * const asio::error_code& error // Result of operation
1752
- * ); @endcode
1753
- * Regardless of whether the asynchronous operation completes immediately or
1754
- * not, the handler will not be invoked from within this function. On
1755
- * immediate completion, invocation of the handler will be performed in a
1756
- * manner equivalent to using asio::post().
1757
- *
1758
- * @par Example
1759
- * @code
1760
- * void wait_handler(const asio::error_code& error)
1761
- * {
1762
- * if (!error)
1763
- * {
1764
- * // Wait succeeded.
1765
- * }
1766
- * }
1767
- *
1768
- * ...
1769
- *
1770
- * asio::ip::tcp::socket socket(my_context);
1771
- * ...
1772
- * socket.async_wait(asio::ip::tcp::socket::wait_read, wait_handler);
1773
- * @endcode
1774
- */
1775
- template <
1776
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code))
1777
- WaitHandler ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1778
- ASIO_INITFN_AUTO_RESULT_TYPE(WaitHandler,
1779
- void (asio::error_code))
1780
- async_wait(wait_type w,
1781
- ASIO_MOVE_ARG(WaitHandler) handler
1782
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1783
- {
1784
- return async_initiate<WaitHandler, void (asio::error_code)>(
1785
- initiate_async_wait(this), handler, w);
1786
- }
1787
-
1788
- protected:
1789
- /// Protected destructor to prevent deletion through this type.
1790
- /**
1791
- * This function destroys the socket, cancelling any outstanding asynchronous
1792
- * operations associated with the socket as if by calling @c cancel.
1793
- */
1794
- ~basic_socket()
1795
- {
1796
- }
1797
-
1798
- #if defined(ASIO_WINDOWS_RUNTIME)
1799
- detail::io_object_impl<
1800
- detail::null_socket_service<Protocol>, Executor> impl_;
1801
- #elif defined(ASIO_HAS_IOCP)
1802
- detail::io_object_impl<
1803
- detail::win_iocp_socket_service<Protocol>, Executor> impl_;
1804
- #else
1805
- detail::io_object_impl<
1806
- detail::reactive_socket_service<Protocol>, Executor> impl_;
1807
- #endif
1808
-
1809
- private:
1810
- // Disallow copying and assignment.
1811
- basic_socket(const basic_socket&) ASIO_DELETED;
1812
- basic_socket& operator=(const basic_socket&) ASIO_DELETED;
1813
-
1814
- class initiate_async_connect
1815
- {
1816
- public:
1817
- typedef Executor executor_type;
1818
-
1819
- explicit initiate_async_connect(basic_socket* self)
1820
- : self_(self)
1821
- {
1822
- }
1823
-
1824
- executor_type get_executor() const ASIO_NOEXCEPT
1825
- {
1826
- return self_->get_executor();
1827
- }
1828
-
1829
- template <typename ConnectHandler>
1830
- void operator()(ASIO_MOVE_ARG(ConnectHandler) handler,
1831
- const endpoint_type& peer_endpoint,
1832
- const asio::error_code& open_ec) const
1833
- {
1834
- // If you get an error on the following line it means that your handler
1835
- // does not meet the documented type requirements for a ConnectHandler.
1836
- ASIO_CONNECT_HANDLER_CHECK(ConnectHandler, handler) type_check;
1837
-
1838
- if (open_ec)
1839
- {
1840
- asio::post(self_->impl_.get_executor(),
1841
- asio::detail::bind_handler(
1842
- ASIO_MOVE_CAST(ConnectHandler)(handler), open_ec));
1843
- }
1844
- else
1845
- {
1846
- detail::non_const_lvalue<ConnectHandler> handler2(handler);
1847
- self_->impl_.get_service().async_connect(
1848
- self_->impl_.get_implementation(), peer_endpoint,
1849
- handler2.value, self_->impl_.get_executor());
1850
- }
1851
- }
1852
-
1853
- private:
1854
- basic_socket* self_;
1855
- };
1856
-
1857
- class initiate_async_wait
1858
- {
1859
- public:
1860
- typedef Executor executor_type;
1861
-
1862
- explicit initiate_async_wait(basic_socket* self)
1863
- : self_(self)
1864
- {
1865
- }
1866
-
1867
- executor_type get_executor() const ASIO_NOEXCEPT
1868
- {
1869
- return self_->get_executor();
1870
- }
1871
-
1872
- template <typename WaitHandler>
1873
- void operator()(ASIO_MOVE_ARG(WaitHandler) handler, wait_type w) const
1874
- {
1875
- // If you get an error on the following line it means that your handler
1876
- // does not meet the documented type requirements for a WaitHandler.
1877
- ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
1878
-
1879
- detail::non_const_lvalue<WaitHandler> handler2(handler);
1880
- self_->impl_.get_service().async_wait(
1881
- self_->impl_.get_implementation(), w,
1882
- handler2.value, self_->impl_.get_executor());
1883
- }
1884
-
1885
- private:
1886
- basic_socket* self_;
1887
- };
1888
- };
1889
-
1890
- } // namespace asio
1891
-
1892
- #include "asio/detail/pop_options.hpp"
1893
-
1894
- #endif // ASIO_BASIC_SOCKET_HPP