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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1318) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -4
  3. data/ext/extconf.rb +0 -95
  4. data/lib/couchbase.rb +1 -0
  5. data/lib/couchbase/analytics_options.rb +1 -71
  6. data/lib/couchbase/binary_collection.rb +60 -22
  7. data/lib/couchbase/binary_collection_options.rb +0 -76
  8. data/lib/couchbase/bucket.rb +40 -36
  9. data/lib/couchbase/cluster.rb +89 -156
  10. data/lib/couchbase/collection.rb +290 -72
  11. data/lib/couchbase/collection_options.rb +30 -243
  12. data/lib/couchbase/datastructures/couchbase_list.rb +5 -16
  13. data/lib/couchbase/datastructures/couchbase_map.rb +5 -16
  14. data/lib/couchbase/datastructures/couchbase_queue.rb +5 -16
  15. data/lib/couchbase/datastructures/couchbase_set.rb +5 -16
  16. data/lib/couchbase/diagnostics.rb +181 -0
  17. data/lib/couchbase/json_transcoder.rb +1 -1
  18. data/lib/couchbase/libcouchbase.bundle +0 -0
  19. data/lib/couchbase/{common_options.rb → logger.rb} +24 -11
  20. data/lib/couchbase/management/query_index_manager.rb +1 -1
  21. data/lib/couchbase/management/user_manager.rb +3 -0
  22. data/lib/couchbase/options.rb +2094 -0
  23. data/lib/couchbase/query_options.rb +1 -144
  24. data/lib/couchbase/scope.rb +8 -25
  25. data/lib/couchbase/search_options.rb +0 -93
  26. data/lib/couchbase/version.rb +20 -1
  27. data/lib/couchbase/view_options.rb +1 -91
  28. metadata +8 -1296
  29. data/ext/CMakeLists.txt +0 -127
  30. data/ext/LICENSE.txt +0 -202
  31. data/ext/build_config.hxx.in +0 -20
  32. data/ext/build_version.hxx.in +0 -27
  33. data/ext/cmake/Backtrace.cmake +0 -35
  34. data/ext/cmake/BuildTracing.cmake +0 -6
  35. data/ext/cmake/Cache.cmake +0 -29
  36. data/ext/cmake/CompilerWarnings.cmake +0 -78
  37. data/ext/cmake/PreventInSourceBuilds.cmake +0 -18
  38. data/ext/cmake/Sanitizers.cmake +0 -66
  39. data/ext/cmake/StandardProjectSettings.cmake +0 -40
  40. data/ext/cmake/StaticAnalyzers.cmake +0 -37
  41. data/ext/cmake/Testing.cmake +0 -52
  42. data/ext/cmake/ThirdPartyDependencies.cmake +0 -20
  43. data/ext/cmake/VersionInfo.cmake +0 -37
  44. data/ext/couchbase/bucket.hxx +0 -338
  45. data/ext/couchbase/capabilities.hxx +0 -117
  46. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  47. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  48. data/ext/couchbase/cbsasl/client.cc +0 -48
  49. data/ext/couchbase/cbsasl/client.h +0 -127
  50. data/ext/couchbase/cbsasl/context.cc +0 -33
  51. data/ext/couchbase/cbsasl/context.h +0 -52
  52. data/ext/couchbase/cbsasl/error.h +0 -72
  53. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  54. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  55. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  56. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  57. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  58. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  59. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  60. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  61. data/ext/couchbase/cluster.hxx +0 -267
  62. data/ext/couchbase/cluster_options.hxx +0 -54
  63. data/ext/couchbase/collections_manifest.hxx +0 -88
  64. data/ext/couchbase/configuration.hxx +0 -650
  65. data/ext/couchbase/couchbase.cxx +0 -6431
  66. data/ext/couchbase/diagnostics.hxx +0 -251
  67. data/ext/couchbase/document_id.hxx +0 -40
  68. data/ext/couchbase/error_map.hxx +0 -261
  69. data/ext/couchbase/errors.hxx +0 -706
  70. data/ext/couchbase/io/dns_client.hxx +0 -217
  71. data/ext/couchbase/io/dns_codec.hxx +0 -207
  72. data/ext/couchbase/io/dns_config.hxx +0 -116
  73. data/ext/couchbase/io/dns_message.hxx +0 -555
  74. data/ext/couchbase/io/http_command.hxx +0 -95
  75. data/ext/couchbase/io/http_context.hxx +0 -37
  76. data/ext/couchbase/io/http_message.hxx +0 -47
  77. data/ext/couchbase/io/http_parser.hxx +0 -176
  78. data/ext/couchbase/io/http_session.hxx +0 -442
  79. data/ext/couchbase/io/http_session_manager.hxx +0 -182
  80. data/ext/couchbase/io/mcbp_command.hxx +0 -246
  81. data/ext/couchbase/io/mcbp_message.hxx +0 -63
  82. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  83. data/ext/couchbase/io/mcbp_session.hxx +0 -1283
  84. data/ext/couchbase/io/query_cache.hxx +0 -61
  85. data/ext/couchbase/io/retry_action.hxx +0 -30
  86. data/ext/couchbase/io/retry_context.hxx +0 -38
  87. data/ext/couchbase/io/retry_orchestrator.hxx +0 -112
  88. data/ext/couchbase/io/retry_reason.hxx +0 -235
  89. data/ext/couchbase/io/retry_strategy.hxx +0 -156
  90. data/ext/couchbase/io/streams.hxx +0 -216
  91. data/ext/couchbase/mutation_token.hxx +0 -38
  92. data/ext/couchbase/operations.hxx +0 -104
  93. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  94. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  95. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  96. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  97. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  98. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  99. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  100. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  101. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  102. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  103. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  104. data/ext/couchbase/operations/bucket_create.hxx +0 -147
  105. data/ext/couchbase/operations/bucket_drop.hxx +0 -68
  106. data/ext/couchbase/operations/bucket_flush.hxx +0 -68
  107. data/ext/couchbase/operations/bucket_get.hxx +0 -72
  108. data/ext/couchbase/operations/bucket_get_all.hxx +0 -65
  109. data/ext/couchbase/operations/bucket_settings.hxx +0 -150
  110. data/ext/couchbase/operations/bucket_update.hxx +0 -124
  111. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -63
  112. data/ext/couchbase/operations/collection_create.hxx +0 -95
  113. data/ext/couchbase/operations/collection_drop.hxx +0 -85
  114. data/ext/couchbase/operations/collections_manifest_get.hxx +0 -70
  115. data/ext/couchbase/operations/design_document.hxx +0 -59
  116. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  117. data/ext/couchbase/operations/document_decrement.hxx +0 -87
  118. data/ext/couchbase/operations/document_exists.hxx +0 -84
  119. data/ext/couchbase/operations/document_get.hxx +0 -69
  120. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -71
  121. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -71
  122. data/ext/couchbase/operations/document_get_projected.hxx +0 -249
  123. data/ext/couchbase/operations/document_increment.hxx +0 -89
  124. data/ext/couchbase/operations/document_insert.hxx +0 -81
  125. data/ext/couchbase/operations/document_lookup_in.hxx +0 -111
  126. data/ext/couchbase/operations/document_mutate_in.hxx +0 -145
  127. data/ext/couchbase/operations/document_query.hxx +0 -422
  128. data/ext/couchbase/operations/document_remove.hxx +0 -74
  129. data/ext/couchbase/operations/document_replace.hxx +0 -83
  130. data/ext/couchbase/operations/document_search.hxx +0 -370
  131. data/ext/couchbase/operations/document_touch.hxx +0 -67
  132. data/ext/couchbase/operations/document_unlock.hxx +0 -67
  133. data/ext/couchbase/operations/document_upsert.hxx +0 -81
  134. data/ext/couchbase/operations/document_view.hxx +0 -228
  135. data/ext/couchbase/operations/group_drop.hxx +0 -71
  136. data/ext/couchbase/operations/group_get.hxx +0 -75
  137. data/ext/couchbase/operations/group_get_all.hxx +0 -70
  138. data/ext/couchbase/operations/group_upsert.hxx +0 -118
  139. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  140. data/ext/couchbase/operations/query_index_create.hxx +0 -145
  141. data/ext/couchbase/operations/query_index_drop.hxx +0 -119
  142. data/ext/couchbase/operations/query_index_get_all.hxx +0 -117
  143. data/ext/couchbase/operations/rbac.hxx +0 -276
  144. data/ext/couchbase/operations/role_get_all.hxx +0 -70
  145. data/ext/couchbase/operations/scope_create.hxx +0 -88
  146. data/ext/couchbase/operations/scope_drop.hxx +0 -82
  147. data/ext/couchbase/operations/scope_get_all.hxx +0 -76
  148. data/ext/couchbase/operations/search_get_stats.hxx +0 -59
  149. data/ext/couchbase/operations/search_index.hxx +0 -79
  150. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  151. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  152. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  153. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  154. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  155. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  156. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  157. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -89
  158. data/ext/couchbase/operations/search_index_get_stats.hxx +0 -81
  159. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  160. data/ext/couchbase/operations/user_drop.hxx +0 -72
  161. data/ext/couchbase/operations/user_get.hxx +0 -76
  162. data/ext/couchbase/operations/user_get_all.hxx +0 -71
  163. data/ext/couchbase/operations/user_upsert.hxx +0 -125
  164. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  165. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  166. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  167. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  168. data/ext/couchbase/origin.hxx +0 -178
  169. data/ext/couchbase/platform/backtrace.c +0 -189
  170. data/ext/couchbase/platform/backtrace.h +0 -54
  171. data/ext/couchbase/platform/base64.cc +0 -234
  172. data/ext/couchbase/platform/base64.h +0 -47
  173. data/ext/couchbase/platform/random.cc +0 -119
  174. data/ext/couchbase/platform/random.h +0 -39
  175. data/ext/couchbase/platform/string_hex.cc +0 -99
  176. data/ext/couchbase/platform/string_hex.h +0 -50
  177. data/ext/couchbase/platform/terminate_handler.cc +0 -123
  178. data/ext/couchbase/platform/terminate_handler.h +0 -36
  179. data/ext/couchbase/platform/uuid.cc +0 -96
  180. data/ext/couchbase/platform/uuid.h +0 -56
  181. data/ext/couchbase/protocol/client_opcode.hxx +0 -264
  182. data/ext/couchbase/protocol/client_request.hxx +0 -160
  183. data/ext/couchbase/protocol/client_response.hxx +0 -218
  184. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -79
  185. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  186. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  187. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  188. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  189. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  190. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -126
  191. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  192. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  193. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  194. data/ext/couchbase/protocol/cmd_hello.hxx +0 -156
  195. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  196. data/ext/couchbase/protocol/cmd_info.hxx +0 -25
  197. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  198. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -219
  199. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -365
  200. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  201. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  202. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  203. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  204. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  205. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  206. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  207. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  208. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  209. data/ext/couchbase/protocol/datatype.hxx +0 -48
  210. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  211. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  212. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  213. data/ext/couchbase/protocol/magic.hxx +0 -83
  214. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  215. data/ext/couchbase/protocol/server_request.hxx +0 -122
  216. data/ext/couchbase/protocol/status.hxx +0 -343
  217. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  218. data/ext/couchbase/service_type.hxx +0 -60
  219. data/ext/couchbase/timeout_defaults.hxx +0 -41
  220. data/ext/couchbase/utils/byteswap.hxx +0 -33
  221. data/ext/couchbase/utils/connection_string.hxx +0 -379
  222. data/ext/couchbase/utils/crc32.hxx +0 -48
  223. data/ext/couchbase/utils/url_codec.hxx +0 -225
  224. data/ext/couchbase/version.hxx +0 -24
  225. data/ext/test/test_helper.hxx +0 -141
  226. data/ext/test/test_helper_native.hxx +0 -59
  227. data/ext/test/test_helper_ruby.hxx +0 -72
  228. data/ext/test/test_native_diagnostics.cxx +0 -385
  229. data/ext/test/test_native_trivial_crud.cxx +0 -83
  230. data/ext/test/test_ruby_trivial_crud.cxx +0 -35
  231. data/ext/test/test_ruby_trivial_query.cxx +0 -34
  232. data/ext/third_party/asio/asio/include/asio.hpp +0 -182
  233. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +0 -71
  234. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -125
  235. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -166
  236. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -582
  237. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -133
  238. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1215
  239. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  240. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  241. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1206
  242. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -761
  243. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  244. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  245. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  246. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2501
  247. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  248. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  249. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1053
  250. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  251. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  252. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -811
  253. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -575
  254. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2496
  255. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  256. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  257. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  258. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  259. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  260. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  261. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  262. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -471
  263. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  264. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  265. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  266. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  267. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  268. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -130
  269. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -112
  270. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  271. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  272. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  273. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -64
  274. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  275. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -934
  276. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  277. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  278. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -650
  279. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  280. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +0 -88
  281. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  282. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  283. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  284. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  285. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  286. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  287. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  288. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1822
  289. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  290. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  291. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  292. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  293. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -295
  294. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  295. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -139
  296. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -148
  297. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -148
  298. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  299. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  300. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  301. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -203
  303. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  304. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  305. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  306. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  307. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  308. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  309. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  310. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  311. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  312. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  313. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -284
  314. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  315. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -80
  316. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  317. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  318. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -438
  319. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  320. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  321. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -608
  322. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  323. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  324. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  325. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  326. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  327. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -396
  328. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  329. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  330. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  331. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  332. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  333. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  334. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  335. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  336. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -149
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -654
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -668
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3962
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -385
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -117
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -178
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -603
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  370. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  371. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -175
  372. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  373. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  374. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  375. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  376. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  377. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  378. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  379. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -73
  380. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  381. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  382. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  383. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -106
  384. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  385. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  386. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  387. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  388. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  389. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  390. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  391. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  392. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  393. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  394. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  395. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  396. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  397. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  398. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  399. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  400. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  401. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  402. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  403. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  404. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  406. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  407. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  408. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -416
  409. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -98
  410. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -237
  411. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -242
  412. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -123
  413. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -159
  414. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -164
  415. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -145
  416. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -162
  417. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -156
  418. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -528
  419. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -541
  420. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -98
  421. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  422. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  423. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -67
  424. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  425. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  426. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  427. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  428. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  429. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  430. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  431. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  432. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -232
  433. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  434. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  435. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  436. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  437. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  438. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  439. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  440. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  441. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  442. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  443. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  444. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  445. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  446. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -383
  447. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  448. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  449. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  450. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  451. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +0 -45
  452. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  453. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -188
  454. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  455. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  456. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  457. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  458. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  459. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -166
  460. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -145
  461. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  462. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  463. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  464. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  465. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -183
  466. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  467. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  468. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  469. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  470. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  471. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  472. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  473. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  474. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  475. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -148
  476. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -294
  477. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  478. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  479. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -164
  480. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  481. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  482. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  483. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -117
  484. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  485. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -110
  486. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -342
  487. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -127
  488. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  489. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -96
  490. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  491. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  492. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -312
  493. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -135
  494. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -124
  495. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -133
  496. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -125
  497. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -118
  498. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  499. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -128
  502. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  503. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  504. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  505. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  506. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  507. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  508. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  509. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  510. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  511. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  512. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  513. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  514. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  515. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  516. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  517. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  518. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  519. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  520. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  521. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -148
  522. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -327
  523. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -121
  524. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  525. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  526. data/ext/third_party/asio/asio/include/asio/execution.hpp +0 -48
  527. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +0 -249
  528. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +0 -2264
  529. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +0 -47
  530. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +0 -1351
  531. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1064
  532. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +0 -390
  533. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +0 -1018
  534. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +0 -486
  535. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +0 -185
  536. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +0 -201
  537. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +0 -152
  538. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +0 -105
  539. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +0 -128
  540. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +0 -261
  541. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +0 -233
  542. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +0 -90
  543. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +0 -264
  544. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +0 -238
  545. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  546. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +0 -36
  547. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -71
  548. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +0 -917
  549. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +0 -178
  550. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +0 -94
  551. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +0 -721
  552. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +0 -327
  553. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +0 -280
  554. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +0 -48
  555. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +0 -720
  556. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +0 -290
  557. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +0 -86
  558. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +0 -311
  559. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +0 -253
  560. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +0 -253
  561. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +0 -486
  562. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +0 -250
  563. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +0 -450
  564. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  565. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -347
  566. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -287
  567. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  568. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  569. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  570. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  571. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  572. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  573. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  574. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -104
  575. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  576. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -111
  577. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  578. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -436
  579. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -527
  580. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -507
  581. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -298
  582. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -635
  583. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -916
  584. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -248
  585. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  586. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -243
  587. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  588. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  589. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  590. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  591. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -301
  592. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -43
  593. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -61
  594. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -440
  595. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  596. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -49
  597. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -248
  598. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1202
  599. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -744
  600. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3335
  601. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -390
  602. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  603. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  604. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -526
  605. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -85
  606. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  607. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -92
  608. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -186
  609. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -350
  610. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -141
  611. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -279
  612. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -1028
  613. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1104
  614. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -666
  615. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -1530
  616. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -376
  617. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  618. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  619. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  620. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  621. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  622. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  623. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  624. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  625. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  626. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  627. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  628. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  629. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  630. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  631. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  632. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  633. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  634. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  635. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  636. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  637. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  638. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  639. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  640. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  641. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  642. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  643. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  644. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  645. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  646. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  647. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  648. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  649. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  650. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  651. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  652. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  653. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  654. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  655. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  656. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  657. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  658. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  659. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  660. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  661. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  662. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  663. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  664. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  665. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  666. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  667. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  668. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  669. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +0 -58
  670. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  671. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  672. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  673. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  674. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  675. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  676. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  677. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -126
  678. data/ext/third_party/asio/asio/include/asio/prefer.hpp +0 -656
  679. data/ext/third_party/asio/asio/include/asio/query.hpp +0 -296
  680. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  681. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  682. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  683. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  684. data/ext/third_party/asio/asio/include/asio/require.hpp +0 -524
  685. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +0 -310
  686. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  687. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  688. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  689. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  690. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -344
  691. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  692. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  693. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  694. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  695. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -165
  696. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  697. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -349
  698. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  699. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -415
  700. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  701. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  702. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  703. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  704. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  705. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -169
  706. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  707. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  708. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  709. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  710. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  711. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  712. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  713. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  714. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  715. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  716. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  717. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -900
  718. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  719. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  720. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  721. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  722. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  723. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -537
  724. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  725. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -90
  726. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  727. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -662
  728. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  729. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  730. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  731. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -1111
  732. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  733. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +0 -114
  734. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +0 -114
  735. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +0 -112
  736. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +0 -112
  737. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  738. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +0 -108
  739. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +0 -108
  740. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +0 -108
  741. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +0 -108
  742. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +0 -108
  743. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +0 -108
  744. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -108
  745. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +0 -108
  746. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +0 -108
  747. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +0 -108
  748. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +0 -108
  749. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +0 -108
  750. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +0 -108
  751. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +0 -108
  752. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +0 -108
  753. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +0 -112
  754. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +0 -112
  755. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +0 -234
  756. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +0 -234
  757. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +0 -108
  758. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +0 -108
  759. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +0 -108
  760. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +0 -123
  761. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +0 -123
  762. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +0 -112
  763. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +0 -112
  764. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  765. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -35
  766. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  767. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  768. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  769. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -262
  770. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  771. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  772. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  773. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -169
  774. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  775. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  776. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  777. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  778. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  779. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  780. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  781. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  782. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  783. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  784. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  785. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  786. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  787. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  788. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  789. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  790. data/ext/third_party/gsl/CMakeLists.txt +0 -127
  791. data/ext/third_party/gsl/LICENSE +0 -21
  792. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  793. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  794. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  795. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  796. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  797. data/ext/third_party/gsl/include/gsl/gsl_narrow +0 -52
  798. data/ext/third_party/gsl/include/gsl/gsl_util +0 -129
  799. data/ext/third_party/gsl/include/gsl/multi_span +0 -2263
  800. data/ext/third_party/gsl/include/gsl/pointers +0 -287
  801. data/ext/third_party/gsl/include/gsl/span +0 -816
  802. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  803. data/ext/third_party/gsl/include/gsl/string_span +0 -706
  804. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  805. data/ext/third_party/http_parser/http_parser.c +0 -2575
  806. data/ext/third_party/http_parser/http_parser.h +0 -449
  807. data/ext/third_party/json/CMakeLists.txt +0 -44
  808. data/ext/third_party/json/LICENSE +0 -21
  809. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  810. data/ext/third_party/json/LICENSE.itoa +0 -19
  811. data/ext/third_party/json/LICENSE.ryu +0 -201
  812. data/ext/third_party/json/include/tao/json.hpp +0 -45
  813. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -942
  814. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  815. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  816. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  817. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  818. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  819. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -251
  820. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  821. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  822. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  823. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -104
  824. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  825. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -268
  826. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  827. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  828. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  829. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -129
  830. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -19
  831. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  832. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  833. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +0 -43
  834. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  835. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  836. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  837. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  838. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  839. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +0 -32
  840. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  841. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  842. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  843. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -418
  844. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  845. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  846. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  847. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  848. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  849. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  850. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  851. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  852. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  853. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  854. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  855. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  856. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -76
  857. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  858. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  859. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  860. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  861. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  862. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  863. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  864. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  865. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  866. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  867. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -113
  868. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1874
  869. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  870. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -98
  871. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  872. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  873. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -97
  874. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  875. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  876. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  877. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  878. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  879. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  880. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  881. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  882. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  883. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  884. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -255
  885. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  886. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  887. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  888. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  889. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  890. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  891. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  892. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  893. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  894. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  895. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  896. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  897. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  898. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  899. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  900. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  901. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  902. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  903. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  904. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  905. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  906. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  907. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  908. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  909. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  910. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  911. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  912. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  913. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  914. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  915. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  916. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  917. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -176
  918. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  919. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  920. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -44
  921. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  922. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -49
  923. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -54
  924. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  925. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  926. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  927. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  928. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  929. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  930. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  931. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  932. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  933. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  934. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +0 -176
  935. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +0 -275
  936. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +0 -77
  937. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +0 -151
  938. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +0 -16
  939. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -272
  940. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -66
  941. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -196
  942. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -196
  943. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -103
  944. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -56
  945. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -431
  946. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +0 -62
  947. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +0 -206
  948. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +0 -106
  949. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +0 -54
  950. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +0 -33
  951. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +0 -45
  952. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +0 -32
  953. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +0 -54
  954. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +0 -43
  955. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +0 -77
  956. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +0 -52
  957. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  958. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  959. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -440
  960. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -105
  961. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +0 -75
  962. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +0 -53
  963. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -234
  964. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -69
  965. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +0 -117
  966. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -94
  967. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -43
  968. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +0 -193
  969. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +0 -118
  970. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  971. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +0 -227
  972. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +0 -62
  973. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +0 -62
  974. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +0 -63
  975. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +0 -36
  976. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  977. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  978. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +0 -49
  979. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +0 -49
  980. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -32
  981. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +0 -138
  982. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  983. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  984. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  985. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  986. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  987. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  988. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  989. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  990. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -54
  991. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -106
  992. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  993. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  994. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -51
  995. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  996. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  997. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -55
  998. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -32
  999. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1000. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1001. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1002. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -43
  1003. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -54
  1004. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1005. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1006. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1007. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1008. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1009. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +0 -16
  1010. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -54
  1011. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -34
  1012. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -54
  1013. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +0 -25
  1014. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -32
  1015. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -32
  1016. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -33
  1017. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +0 -32
  1018. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -134
  1019. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -213
  1020. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -117
  1021. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -21
  1022. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -21
  1023. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -40
  1024. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +0 -21
  1025. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1026. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -54
  1027. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -47
  1028. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -21
  1029. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1030. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1031. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -39
  1032. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1033. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -49
  1034. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1035. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1036. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1037. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1038. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -22
  1039. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1040. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -80
  1041. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +0 -21
  1042. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -28
  1043. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -26
  1044. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -64
  1045. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -55
  1046. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -55
  1047. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1048. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1049. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1050. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +0 -26
  1051. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1052. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -89
  1053. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1054. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -60
  1055. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -44
  1056. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -56
  1057. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -103
  1058. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -72
  1059. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -67
  1060. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1061. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -81
  1062. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -61
  1063. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1064. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1065. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1066. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -58
  1067. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -67
  1068. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -52
  1069. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1070. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -59
  1071. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1072. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +0 -32
  1073. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1074. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -88
  1075. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -32
  1076. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -169
  1077. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -365
  1078. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1079. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +0 -64
  1080. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1081. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -19
  1082. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -51
  1083. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -114
  1084. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -83
  1085. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -54
  1086. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1087. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1088. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1089. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -68
  1090. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -64
  1091. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1092. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +0 -46
  1093. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1094. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1095. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +0 -66
  1096. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1097. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1098. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1099. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1100. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1101. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1102. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1103. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1104. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1105. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +0 -14
  1106. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1107. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1108. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1109. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1110. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1111. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -57
  1112. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1113. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1114. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1115. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1116. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1117. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1118. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1119. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1120. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1121. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1122. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -96
  1123. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1124. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1125. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1126. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1127. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1128. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1129. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1130. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1131. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1132. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1133. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1134. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1135. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1136. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1137. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1138. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1139. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1140. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1141. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1142. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1143. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -255
  1144. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1145. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1146. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -261
  1147. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1148. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1149. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1150. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -19
  1151. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1152. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1153. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +0 -43
  1154. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1155. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1156. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1157. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1158. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1159. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +0 -32
  1160. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1161. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1162. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1163. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1164. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -250
  1165. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1166. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1167. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1168. data/ext/third_party/json/include/tao/json/operators.hpp +0 -490
  1169. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -302
  1170. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1171. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1172. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -131
  1173. data/ext/third_party/json/include/tao/json/span.hpp +0 -496
  1174. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1175. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1176. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1177. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1178. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1179. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -19
  1180. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1181. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1182. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +0 -43
  1183. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1184. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1185. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1186. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1187. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1188. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +0 -32
  1189. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1190. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1191. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1192. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -415
  1193. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1194. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1195. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1196. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1197. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1198. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1199. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1200. data/ext/third_party/snappy/COPYING +0 -54
  1201. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1202. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1203. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1204. data/ext/third_party/snappy/snappy-c.h +0 -138
  1205. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1206. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1207. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1208. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1209. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1210. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1211. data/ext/third_party/snappy/snappy.cc +0 -1774
  1212. data/ext/third_party/snappy/snappy.h +0 -209
  1213. data/ext/third_party/spdlog/CMakeLists.txt +0 -291
  1214. data/ext/third_party/spdlog/LICENSE +0 -26
  1215. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1216. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1217. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1218. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1219. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1220. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1221. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1222. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1223. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1224. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1225. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -44
  1226. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -38
  1227. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -119
  1228. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -29
  1229. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1230. data/ext/third_party/spdlog/include/spdlog/common.h +0 -245
  1231. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  1232. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  1233. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  1234. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  1235. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  1236. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  1237. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -116
  1238. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  1239. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  1240. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  1241. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  1242. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  1243. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  1244. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  1245. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  1246. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  1247. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  1248. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -313
  1249. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -115
  1250. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  1251. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  1252. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -146
  1253. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  1254. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  1255. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  1256. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  1257. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  1258. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1123
  1259. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -566
  1260. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -665
  1261. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1882
  1262. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1453
  1263. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3729
  1264. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  1265. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +0 -450
  1266. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -167
  1267. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  1268. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -751
  1269. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -386
  1270. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +0 -20
  1271. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -27
  1272. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  1273. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  1274. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  1275. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -257
  1276. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -366
  1277. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1373
  1278. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  1279. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  1280. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  1281. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  1282. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  1283. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  1284. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  1285. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  1286. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  1287. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  1288. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  1289. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  1290. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  1291. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  1292. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -74
  1293. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  1294. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  1295. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  1296. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  1297. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  1298. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  1299. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -123
  1300. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -87
  1301. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  1302. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  1303. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  1304. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  1305. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -170
  1306. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  1307. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -125
  1308. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -295
  1309. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +0 -61
  1310. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  1311. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  1312. data/ext/third_party/spdlog/src/async.cpp +0 -13
  1313. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  1314. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  1315. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  1316. data/ext/third_party/spdlog/src/fmt.cpp +0 -63
  1317. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  1318. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
@@ -1,2501 +0,0 @@
1
- //
2
- // basic_socket_acceptor.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_ACCEPTOR_HPP
12
- #define ASIO_BASIC_SOCKET_ACCEPTOR_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/detail/config.hpp"
19
- #include "asio/any_io_executor.hpp"
20
- #include "asio/basic_socket.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/socket_base.hpp"
29
-
30
- #if defined(ASIO_WINDOWS_RUNTIME)
31
- # include "asio/detail/null_socket_service.hpp"
32
- #elif defined(ASIO_HAS_IOCP)
33
- # include "asio/detail/win_iocp_socket_service.hpp"
34
- #else
35
- # include "asio/detail/reactive_socket_service.hpp"
36
- #endif
37
-
38
- #if defined(ASIO_HAS_MOVE)
39
- # include <utility>
40
- #endif // defined(ASIO_HAS_MOVE)
41
-
42
- #include "asio/detail/push_options.hpp"
43
-
44
- namespace asio {
45
-
46
- #if !defined(ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL)
47
- #define ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL
48
-
49
- // Forward declaration with defaulted arguments.
50
- template <typename Protocol, typename Executor = any_io_executor>
51
- class basic_socket_acceptor;
52
-
53
- #endif // !defined(ASIO_BASIC_SOCKET_ACCEPTOR_FWD_DECL)
54
-
55
- /// Provides the ability to accept new connections.
56
- /**
57
- * The basic_socket_acceptor class template is used for accepting new socket
58
- * connections.
59
- *
60
- * @par Thread Safety
61
- * @e Distinct @e objects: Safe.@n
62
- * @e Shared @e objects: Unsafe.
63
- *
64
- * @par Example
65
- * Opening a socket acceptor with the SO_REUSEADDR option enabled:
66
- * @code
67
- * asio::ip::tcp::acceptor acceptor(my_context);
68
- * asio::ip::tcp::endpoint endpoint(asio::ip::tcp::v4(), port);
69
- * acceptor.open(endpoint.protocol());
70
- * acceptor.set_option(asio::ip::tcp::acceptor::reuse_address(true));
71
- * acceptor.bind(endpoint);
72
- * acceptor.listen();
73
- * @endcode
74
- */
75
- template <typename Protocol, typename Executor>
76
- class basic_socket_acceptor
77
- : public socket_base
78
- {
79
- public:
80
- /// The type of the executor associated with the object.
81
- typedef Executor executor_type;
82
-
83
- /// Rebinds the acceptor type to another executor.
84
- template <typename Executor1>
85
- struct rebind_executor
86
- {
87
- /// The socket type when rebound to the specified executor.
88
- typedef basic_socket_acceptor<Protocol, Executor1> other;
89
- };
90
-
91
- /// The native representation of an acceptor.
92
- #if defined(GENERATING_DOCUMENTATION)
93
- typedef implementation_defined native_handle_type;
94
- #elif defined(ASIO_WINDOWS_RUNTIME)
95
- typedef typename detail::null_socket_service<
96
- Protocol>::native_handle_type native_handle_type;
97
- #elif defined(ASIO_HAS_IOCP)
98
- typedef typename detail::win_iocp_socket_service<
99
- Protocol>::native_handle_type native_handle_type;
100
- #else
101
- typedef typename detail::reactive_socket_service<
102
- Protocol>::native_handle_type native_handle_type;
103
- #endif
104
-
105
- /// The protocol type.
106
- typedef Protocol protocol_type;
107
-
108
- /// The endpoint type.
109
- typedef typename Protocol::endpoint endpoint_type;
110
-
111
- /// Construct an acceptor without opening it.
112
- /**
113
- * This constructor creates an acceptor without opening it to listen for new
114
- * connections. The open() function must be called before the acceptor can
115
- * accept new socket connections.
116
- *
117
- * @param ex The I/O executor that the acceptor will use, by default, to
118
- * dispatch handlers for any asynchronous operations performed on the
119
- * acceptor.
120
- */
121
- explicit basic_socket_acceptor(const executor_type& ex)
122
- : impl_(ex)
123
- {
124
- }
125
-
126
- /// Construct an acceptor without opening it.
127
- /**
128
- * This constructor creates an acceptor without opening it to listen for new
129
- * connections. The open() function must be called before the acceptor can
130
- * accept new socket connections.
131
- *
132
- * @param context An execution context which provides the I/O executor that
133
- * the acceptor will use, by default, to dispatch handlers for any
134
- * asynchronous operations performed on the acceptor.
135
- */
136
- template <typename ExecutionContext>
137
- explicit basic_socket_acceptor(ExecutionContext& context,
138
- typename enable_if<
139
- is_convertible<ExecutionContext&, execution_context&>::value
140
- >::type* = 0)
141
- : impl_(context)
142
- {
143
- }
144
-
145
- /// Construct an open acceptor.
146
- /**
147
- * This constructor creates an acceptor and automatically opens it.
148
- *
149
- * @param ex The I/O executor that the acceptor will use, by default, to
150
- * dispatch handlers for any asynchronous operations performed on the
151
- * acceptor.
152
- *
153
- * @param protocol An object specifying protocol parameters to be used.
154
- *
155
- * @throws asio::system_error Thrown on failure.
156
- */
157
- basic_socket_acceptor(const executor_type& ex, const protocol_type& protocol)
158
- : impl_(ex)
159
- {
160
- asio::error_code ec;
161
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
162
- asio::detail::throw_error(ec, "open");
163
- }
164
-
165
- /// Construct an open acceptor.
166
- /**
167
- * This constructor creates an acceptor and automatically opens it.
168
- *
169
- * @param context An execution context which provides the I/O executor that
170
- * the acceptor will use, by default, to dispatch handlers for any
171
- * asynchronous operations performed on the acceptor.
172
- *
173
- * @param protocol An object specifying protocol parameters to be used.
174
- *
175
- * @throws asio::system_error Thrown on failure.
176
- */
177
- template <typename ExecutionContext>
178
- basic_socket_acceptor(ExecutionContext& context,
179
- const protocol_type& protocol,
180
- typename enable_if<
181
- is_convertible<ExecutionContext&, execution_context&>::value
182
- >::type* = 0)
183
- : impl_(context)
184
- {
185
- asio::error_code ec;
186
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
187
- asio::detail::throw_error(ec, "open");
188
- }
189
-
190
- /// Construct an acceptor opened on the given endpoint.
191
- /**
192
- * This constructor creates an acceptor and automatically opens it to listen
193
- * for new connections on the specified endpoint.
194
- *
195
- * @param ex The I/O executor that the acceptor will use, by default, to
196
- * dispatch handlers for any asynchronous operations performed on the
197
- * acceptor.
198
- *
199
- * @param endpoint An endpoint on the local machine on which the acceptor
200
- * will listen for new connections.
201
- *
202
- * @param reuse_addr Whether the constructor should set the socket option
203
- * socket_base::reuse_address.
204
- *
205
- * @throws asio::system_error Thrown on failure.
206
- *
207
- * @note This constructor is equivalent to the following code:
208
- * @code
209
- * basic_socket_acceptor<Protocol> acceptor(my_context);
210
- * acceptor.open(endpoint.protocol());
211
- * if (reuse_addr)
212
- * acceptor.set_option(socket_base::reuse_address(true));
213
- * acceptor.bind(endpoint);
214
- * acceptor.listen();
215
- * @endcode
216
- */
217
- basic_socket_acceptor(const executor_type& ex,
218
- const endpoint_type& endpoint, bool reuse_addr = true)
219
- : impl_(ex)
220
- {
221
- asio::error_code ec;
222
- const protocol_type protocol = endpoint.protocol();
223
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
224
- asio::detail::throw_error(ec, "open");
225
- if (reuse_addr)
226
- {
227
- impl_.get_service().set_option(impl_.get_implementation(),
228
- socket_base::reuse_address(true), ec);
229
- asio::detail::throw_error(ec, "set_option");
230
- }
231
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
232
- asio::detail::throw_error(ec, "bind");
233
- impl_.get_service().listen(impl_.get_implementation(),
234
- socket_base::max_listen_connections, ec);
235
- asio::detail::throw_error(ec, "listen");
236
- }
237
-
238
- /// Construct an acceptor opened on the given endpoint.
239
- /**
240
- * This constructor creates an acceptor and automatically opens it to listen
241
- * for new connections on the specified endpoint.
242
- *
243
- * @param context An execution context which provides the I/O executor that
244
- * the acceptor will use, by default, to dispatch handlers for any
245
- * asynchronous operations performed on the acceptor.
246
- *
247
- * @param endpoint An endpoint on the local machine on which the acceptor
248
- * will listen for new connections.
249
- *
250
- * @param reuse_addr Whether the constructor should set the socket option
251
- * socket_base::reuse_address.
252
- *
253
- * @throws asio::system_error Thrown on failure.
254
- *
255
- * @note This constructor is equivalent to the following code:
256
- * @code
257
- * basic_socket_acceptor<Protocol> acceptor(my_context);
258
- * acceptor.open(endpoint.protocol());
259
- * if (reuse_addr)
260
- * acceptor.set_option(socket_base::reuse_address(true));
261
- * acceptor.bind(endpoint);
262
- * acceptor.listen();
263
- * @endcode
264
- */
265
- template <typename ExecutionContext>
266
- basic_socket_acceptor(ExecutionContext& context,
267
- const endpoint_type& endpoint, bool reuse_addr = true,
268
- typename enable_if<
269
- is_convertible<ExecutionContext&, execution_context&>::value
270
- >::type* = 0)
271
- : impl_(context)
272
- {
273
- asio::error_code ec;
274
- const protocol_type protocol = endpoint.protocol();
275
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
276
- asio::detail::throw_error(ec, "open");
277
- if (reuse_addr)
278
- {
279
- impl_.get_service().set_option(impl_.get_implementation(),
280
- socket_base::reuse_address(true), ec);
281
- asio::detail::throw_error(ec, "set_option");
282
- }
283
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
284
- asio::detail::throw_error(ec, "bind");
285
- impl_.get_service().listen(impl_.get_implementation(),
286
- socket_base::max_listen_connections, ec);
287
- asio::detail::throw_error(ec, "listen");
288
- }
289
-
290
- /// Construct a basic_socket_acceptor on an existing native acceptor.
291
- /**
292
- * This constructor creates an acceptor object to hold an existing native
293
- * acceptor.
294
- *
295
- * @param ex The I/O executor that the acceptor will use, by default, to
296
- * dispatch handlers for any asynchronous operations performed on the
297
- * acceptor.
298
- *
299
- * @param protocol An object specifying protocol parameters to be used.
300
- *
301
- * @param native_acceptor A native acceptor.
302
- *
303
- * @throws asio::system_error Thrown on failure.
304
- */
305
- basic_socket_acceptor(const executor_type& ex,
306
- const protocol_type& protocol, const native_handle_type& native_acceptor)
307
- : impl_(ex)
308
- {
309
- asio::error_code ec;
310
- impl_.get_service().assign(impl_.get_implementation(),
311
- protocol, native_acceptor, ec);
312
- asio::detail::throw_error(ec, "assign");
313
- }
314
-
315
- /// Construct a basic_socket_acceptor on an existing native acceptor.
316
- /**
317
- * This constructor creates an acceptor object to hold an existing native
318
- * acceptor.
319
- *
320
- * @param context An execution context which provides the I/O executor that
321
- * the acceptor will use, by default, to dispatch handlers for any
322
- * asynchronous operations performed on the acceptor.
323
- *
324
- * @param protocol An object specifying protocol parameters to be used.
325
- *
326
- * @param native_acceptor A native acceptor.
327
- *
328
- * @throws asio::system_error Thrown on failure.
329
- */
330
- template <typename ExecutionContext>
331
- basic_socket_acceptor(ExecutionContext& context,
332
- const protocol_type& protocol, const native_handle_type& native_acceptor,
333
- typename enable_if<
334
- is_convertible<ExecutionContext&, execution_context&>::value
335
- >::type* = 0)
336
- : impl_(context)
337
- {
338
- asio::error_code ec;
339
- impl_.get_service().assign(impl_.get_implementation(),
340
- protocol, native_acceptor, ec);
341
- asio::detail::throw_error(ec, "assign");
342
- }
343
-
344
- #if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
345
- /// Move-construct a basic_socket_acceptor from another.
346
- /**
347
- * This constructor moves an acceptor from one object to another.
348
- *
349
- * @param other The other basic_socket_acceptor object from which the move
350
- * will occur.
351
- *
352
- * @note Following the move, the moved-from object is in the same state as if
353
- * constructed using the @c basic_socket_acceptor(const executor_type&)
354
- * constructor.
355
- */
356
- basic_socket_acceptor(basic_socket_acceptor&& other) ASIO_NOEXCEPT
357
- : impl_(std::move(other.impl_))
358
- {
359
- }
360
-
361
- /// Move-assign a basic_socket_acceptor from another.
362
- /**
363
- * This assignment operator moves an acceptor from one object to another.
364
- *
365
- * @param other The other basic_socket_acceptor object from which the move
366
- * will occur.
367
- *
368
- * @note Following the move, the moved-from object is in the same state as if
369
- * constructed using the @c basic_socket_acceptor(const executor_type&)
370
- * constructor.
371
- */
372
- basic_socket_acceptor& operator=(basic_socket_acceptor&& other)
373
- {
374
- impl_ = std::move(other.impl_);
375
- return *this;
376
- }
377
-
378
- // All socket acceptors have access to each other's implementations.
379
- template <typename Protocol1, typename Executor1>
380
- friend class basic_socket_acceptor;
381
-
382
- /// Move-construct a basic_socket_acceptor from an acceptor of another
383
- /// protocol type.
384
- /**
385
- * This constructor moves an acceptor from one object to another.
386
- *
387
- * @param other The other basic_socket_acceptor object from which the move
388
- * will occur.
389
- *
390
- * @note Following the move, the moved-from object is in the same state as if
391
- * constructed using the @c basic_socket_acceptor(const executor_type&)
392
- * constructor.
393
- */
394
- template <typename Protocol1, typename Executor1>
395
- basic_socket_acceptor(basic_socket_acceptor<Protocol1, Executor1>&& other,
396
- typename enable_if<
397
- is_convertible<Protocol1, Protocol>::value
398
- && is_convertible<Executor1, Executor>::value
399
- >::type* = 0)
400
- : impl_(std::move(other.impl_))
401
- {
402
- }
403
-
404
- /// Move-assign a basic_socket_acceptor from an acceptor of another protocol
405
- /// type.
406
- /**
407
- * This assignment operator moves an acceptor from one object to another.
408
- *
409
- * @param other The other basic_socket_acceptor object from which the move
410
- * will occur.
411
- *
412
- * @note Following the move, the moved-from object is in the same state as if
413
- * constructed using the @c basic_socket_acceptor(const executor_type&)
414
- * constructor.
415
- */
416
- template <typename Protocol1, typename Executor1>
417
- typename enable_if<
418
- is_convertible<Protocol1, Protocol>::value
419
- && is_convertible<Executor1, Executor>::value,
420
- basic_socket_acceptor&
421
- >::type operator=(basic_socket_acceptor<Protocol1, Executor1>&& other)
422
- {
423
- basic_socket_acceptor tmp(std::move(other));
424
- impl_ = std::move(tmp.impl_);
425
- return *this;
426
- }
427
- #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
428
-
429
- /// Destroys the acceptor.
430
- /**
431
- * This function destroys the acceptor, cancelling any outstanding
432
- * asynchronous operations associated with the acceptor as if by calling
433
- * @c cancel.
434
- */
435
- ~basic_socket_acceptor()
436
- {
437
- }
438
-
439
- /// Get the executor associated with the object.
440
- executor_type get_executor() ASIO_NOEXCEPT
441
- {
442
- return impl_.get_executor();
443
- }
444
-
445
- /// Open the acceptor using the specified protocol.
446
- /**
447
- * This function opens the socket acceptor so that it will use the specified
448
- * protocol.
449
- *
450
- * @param protocol An object specifying which protocol is to be used.
451
- *
452
- * @throws asio::system_error Thrown on failure.
453
- *
454
- * @par Example
455
- * @code
456
- * asio::ip::tcp::acceptor acceptor(my_context);
457
- * acceptor.open(asio::ip::tcp::v4());
458
- * @endcode
459
- */
460
- void open(const protocol_type& protocol = protocol_type())
461
- {
462
- asio::error_code ec;
463
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
464
- asio::detail::throw_error(ec, "open");
465
- }
466
-
467
- /// Open the acceptor using the specified protocol.
468
- /**
469
- * This function opens the socket acceptor so that it will use the specified
470
- * protocol.
471
- *
472
- * @param protocol An object specifying which protocol is to be used.
473
- *
474
- * @param ec Set to indicate what error occurred, if any.
475
- *
476
- * @par Example
477
- * @code
478
- * asio::ip::tcp::acceptor acceptor(my_context);
479
- * asio::error_code ec;
480
- * acceptor.open(asio::ip::tcp::v4(), ec);
481
- * if (ec)
482
- * {
483
- * // An error occurred.
484
- * }
485
- * @endcode
486
- */
487
- ASIO_SYNC_OP_VOID open(const protocol_type& protocol,
488
- asio::error_code& ec)
489
- {
490
- impl_.get_service().open(impl_.get_implementation(), protocol, ec);
491
- ASIO_SYNC_OP_VOID_RETURN(ec);
492
- }
493
-
494
- /// Assigns an existing native acceptor to the acceptor.
495
- /*
496
- * This function opens the acceptor to hold an existing native acceptor.
497
- *
498
- * @param protocol An object specifying which protocol is to be used.
499
- *
500
- * @param native_acceptor A native acceptor.
501
- *
502
- * @throws asio::system_error Thrown on failure.
503
- */
504
- void assign(const protocol_type& protocol,
505
- const native_handle_type& native_acceptor)
506
- {
507
- asio::error_code ec;
508
- impl_.get_service().assign(impl_.get_implementation(),
509
- protocol, native_acceptor, ec);
510
- asio::detail::throw_error(ec, "assign");
511
- }
512
-
513
- /// Assigns an existing native acceptor to the acceptor.
514
- /*
515
- * This function opens the acceptor to hold an existing native acceptor.
516
- *
517
- * @param protocol An object specifying which protocol is to be used.
518
- *
519
- * @param native_acceptor A native acceptor.
520
- *
521
- * @param ec Set to indicate what error occurred, if any.
522
- */
523
- ASIO_SYNC_OP_VOID assign(const protocol_type& protocol,
524
- const native_handle_type& native_acceptor, asio::error_code& ec)
525
- {
526
- impl_.get_service().assign(impl_.get_implementation(),
527
- protocol, native_acceptor, ec);
528
- ASIO_SYNC_OP_VOID_RETURN(ec);
529
- }
530
-
531
- /// Determine whether the acceptor is open.
532
- bool is_open() const
533
- {
534
- return impl_.get_service().is_open(impl_.get_implementation());
535
- }
536
-
537
- /// Bind the acceptor to the given local endpoint.
538
- /**
539
- * This function binds the socket acceptor to the specified endpoint on the
540
- * local machine.
541
- *
542
- * @param endpoint An endpoint on the local machine to which the socket
543
- * acceptor will be bound.
544
- *
545
- * @throws asio::system_error Thrown on failure.
546
- *
547
- * @par Example
548
- * @code
549
- * asio::ip::tcp::acceptor acceptor(my_context);
550
- * asio::ip::tcp::endpoint endpoint(asio::ip::tcp::v4(), 12345);
551
- * acceptor.open(endpoint.protocol());
552
- * acceptor.bind(endpoint);
553
- * @endcode
554
- */
555
- void bind(const endpoint_type& endpoint)
556
- {
557
- asio::error_code ec;
558
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
559
- asio::detail::throw_error(ec, "bind");
560
- }
561
-
562
- /// Bind the acceptor to the given local endpoint.
563
- /**
564
- * This function binds the socket acceptor to the specified endpoint on the
565
- * local machine.
566
- *
567
- * @param endpoint An endpoint on the local machine to which the socket
568
- * acceptor will be bound.
569
- *
570
- * @param ec Set to indicate what error occurred, if any.
571
- *
572
- * @par Example
573
- * @code
574
- * asio::ip::tcp::acceptor acceptor(my_context);
575
- * asio::ip::tcp::endpoint endpoint(asio::ip::tcp::v4(), 12345);
576
- * acceptor.open(endpoint.protocol());
577
- * asio::error_code ec;
578
- * acceptor.bind(endpoint, ec);
579
- * if (ec)
580
- * {
581
- * // An error occurred.
582
- * }
583
- * @endcode
584
- */
585
- ASIO_SYNC_OP_VOID bind(const endpoint_type& endpoint,
586
- asio::error_code& ec)
587
- {
588
- impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
589
- ASIO_SYNC_OP_VOID_RETURN(ec);
590
- }
591
-
592
- /// Place the acceptor into the state where it will listen for new
593
- /// connections.
594
- /**
595
- * This function puts the socket acceptor into the state where it may accept
596
- * new connections.
597
- *
598
- * @param backlog The maximum length of the queue of pending connections.
599
- *
600
- * @throws asio::system_error Thrown on failure.
601
- */
602
- void listen(int backlog = socket_base::max_listen_connections)
603
- {
604
- asio::error_code ec;
605
- impl_.get_service().listen(impl_.get_implementation(), backlog, ec);
606
- asio::detail::throw_error(ec, "listen");
607
- }
608
-
609
- /// Place the acceptor into the state where it will listen for new
610
- /// connections.
611
- /**
612
- * This function puts the socket acceptor into the state where it may accept
613
- * new connections.
614
- *
615
- * @param backlog The maximum length of the queue of pending connections.
616
- *
617
- * @param ec Set to indicate what error occurred, if any.
618
- *
619
- * @par Example
620
- * @code
621
- * asio::ip::tcp::acceptor acceptor(my_context);
622
- * ...
623
- * asio::error_code ec;
624
- * acceptor.listen(asio::socket_base::max_listen_connections, ec);
625
- * if (ec)
626
- * {
627
- * // An error occurred.
628
- * }
629
- * @endcode
630
- */
631
- ASIO_SYNC_OP_VOID listen(int backlog, asio::error_code& ec)
632
- {
633
- impl_.get_service().listen(impl_.get_implementation(), backlog, ec);
634
- ASIO_SYNC_OP_VOID_RETURN(ec);
635
- }
636
-
637
- /// Close the acceptor.
638
- /**
639
- * This function is used to close the acceptor. Any asynchronous accept
640
- * operations will be cancelled immediately.
641
- *
642
- * A subsequent call to open() is required before the acceptor can again be
643
- * used to again perform socket accept operations.
644
- *
645
- * @throws asio::system_error Thrown on failure.
646
- */
647
- void close()
648
- {
649
- asio::error_code ec;
650
- impl_.get_service().close(impl_.get_implementation(), ec);
651
- asio::detail::throw_error(ec, "close");
652
- }
653
-
654
- /// Close the acceptor.
655
- /**
656
- * This function is used to close the acceptor. Any asynchronous accept
657
- * operations will be cancelled immediately.
658
- *
659
- * A subsequent call to open() is required before the acceptor can again be
660
- * used to again perform socket accept operations.
661
- *
662
- * @param ec Set to indicate what error occurred, if any.
663
- *
664
- * @par Example
665
- * @code
666
- * asio::ip::tcp::acceptor acceptor(my_context);
667
- * ...
668
- * asio::error_code ec;
669
- * acceptor.close(ec);
670
- * if (ec)
671
- * {
672
- * // An error occurred.
673
- * }
674
- * @endcode
675
- */
676
- ASIO_SYNC_OP_VOID close(asio::error_code& ec)
677
- {
678
- impl_.get_service().close(impl_.get_implementation(), ec);
679
- ASIO_SYNC_OP_VOID_RETURN(ec);
680
- }
681
-
682
- /// Release ownership of the underlying native acceptor.
683
- /**
684
- * This function causes all outstanding asynchronous accept operations to
685
- * finish immediately, and the handlers for cancelled operations will be
686
- * passed the asio::error::operation_aborted error. Ownership of the
687
- * native acceptor is then transferred to the caller.
688
- *
689
- * @throws asio::system_error Thrown on failure.
690
- *
691
- * @note This function is unsupported on Windows versions prior to Windows
692
- * 8.1, and will fail with asio::error::operation_not_supported on
693
- * these platforms.
694
- */
695
- #if defined(ASIO_MSVC) && (ASIO_MSVC >= 1400) \
696
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0603)
697
- __declspec(deprecated("This function always fails with "
698
- "operation_not_supported when used on Windows versions "
699
- "prior to Windows 8.1."))
700
- #endif
701
- native_handle_type release()
702
- {
703
- asio::error_code ec;
704
- native_handle_type s = impl_.get_service().release(
705
- impl_.get_implementation(), ec);
706
- asio::detail::throw_error(ec, "release");
707
- return s;
708
- }
709
-
710
- /// Release ownership of the underlying native acceptor.
711
- /**
712
- * This function causes all outstanding asynchronous accept operations to
713
- * finish immediately, and the handlers for cancelled operations will be
714
- * passed the asio::error::operation_aborted error. Ownership of the
715
- * native acceptor is then transferred to the caller.
716
- *
717
- * @param ec Set to indicate what error occurred, if any.
718
- *
719
- * @note This function is unsupported on Windows versions prior to Windows
720
- * 8.1, and will fail with asio::error::operation_not_supported on
721
- * these platforms.
722
- */
723
- #if defined(ASIO_MSVC) && (ASIO_MSVC >= 1400) \
724
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0603)
725
- __declspec(deprecated("This function always fails with "
726
- "operation_not_supported when used on Windows versions "
727
- "prior to Windows 8.1."))
728
- #endif
729
- native_handle_type release(asio::error_code& ec)
730
- {
731
- return impl_.get_service().release(impl_.get_implementation(), ec);
732
- }
733
-
734
- /// Get the native acceptor representation.
735
- /**
736
- * This function may be used to obtain the underlying representation of the
737
- * acceptor. This is intended to allow access to native acceptor functionality
738
- * that is not otherwise provided.
739
- */
740
- native_handle_type native_handle()
741
- {
742
- return impl_.get_service().native_handle(impl_.get_implementation());
743
- }
744
-
745
- /// Cancel all asynchronous operations associated with the acceptor.
746
- /**
747
- * This function causes all outstanding asynchronous connect, send and receive
748
- * operations to finish immediately, and the handlers for cancelled operations
749
- * will be passed the asio::error::operation_aborted error.
750
- *
751
- * @throws asio::system_error Thrown on failure.
752
- */
753
- void cancel()
754
- {
755
- asio::error_code ec;
756
- impl_.get_service().cancel(impl_.get_implementation(), ec);
757
- asio::detail::throw_error(ec, "cancel");
758
- }
759
-
760
- /// Cancel all asynchronous operations associated with the acceptor.
761
- /**
762
- * This function causes all outstanding asynchronous connect, send and receive
763
- * operations to finish immediately, and the handlers for cancelled operations
764
- * will be passed the asio::error::operation_aborted error.
765
- *
766
- * @param ec Set to indicate what error occurred, if any.
767
- */
768
- ASIO_SYNC_OP_VOID cancel(asio::error_code& ec)
769
- {
770
- impl_.get_service().cancel(impl_.get_implementation(), ec);
771
- ASIO_SYNC_OP_VOID_RETURN(ec);
772
- }
773
-
774
- /// Set an option on the acceptor.
775
- /**
776
- * This function is used to set an option on the acceptor.
777
- *
778
- * @param option The new option value to be set on the acceptor.
779
- *
780
- * @throws asio::system_error Thrown on failure.
781
- *
782
- * @sa SettableSocketOption @n
783
- * asio::socket_base::reuse_address
784
- * asio::socket_base::enable_connection_aborted
785
- *
786
- * @par Example
787
- * Setting the SOL_SOCKET/SO_REUSEADDR option:
788
- * @code
789
- * asio::ip::tcp::acceptor acceptor(my_context);
790
- * ...
791
- * asio::ip::tcp::acceptor::reuse_address option(true);
792
- * acceptor.set_option(option);
793
- * @endcode
794
- */
795
- template <typename SettableSocketOption>
796
- void set_option(const SettableSocketOption& option)
797
- {
798
- asio::error_code ec;
799
- impl_.get_service().set_option(impl_.get_implementation(), option, ec);
800
- asio::detail::throw_error(ec, "set_option");
801
- }
802
-
803
- /// Set an option on the acceptor.
804
- /**
805
- * This function is used to set an option on the acceptor.
806
- *
807
- * @param option The new option value to be set on the acceptor.
808
- *
809
- * @param ec Set to indicate what error occurred, if any.
810
- *
811
- * @sa SettableSocketOption @n
812
- * asio::socket_base::reuse_address
813
- * asio::socket_base::enable_connection_aborted
814
- *
815
- * @par Example
816
- * Setting the SOL_SOCKET/SO_REUSEADDR option:
817
- * @code
818
- * asio::ip::tcp::acceptor acceptor(my_context);
819
- * ...
820
- * asio::ip::tcp::acceptor::reuse_address option(true);
821
- * asio::error_code ec;
822
- * acceptor.set_option(option, ec);
823
- * if (ec)
824
- * {
825
- * // An error occurred.
826
- * }
827
- * @endcode
828
- */
829
- template <typename SettableSocketOption>
830
- ASIO_SYNC_OP_VOID set_option(const SettableSocketOption& option,
831
- asio::error_code& ec)
832
- {
833
- impl_.get_service().set_option(impl_.get_implementation(), option, ec);
834
- ASIO_SYNC_OP_VOID_RETURN(ec);
835
- }
836
-
837
- /// Get an option from the acceptor.
838
- /**
839
- * This function is used to get the current value of an option on the
840
- * acceptor.
841
- *
842
- * @param option The option value to be obtained from the acceptor.
843
- *
844
- * @throws asio::system_error Thrown on failure.
845
- *
846
- * @sa GettableSocketOption @n
847
- * asio::socket_base::reuse_address
848
- *
849
- * @par Example
850
- * Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
851
- * @code
852
- * asio::ip::tcp::acceptor acceptor(my_context);
853
- * ...
854
- * asio::ip::tcp::acceptor::reuse_address option;
855
- * acceptor.get_option(option);
856
- * bool is_set = option.get();
857
- * @endcode
858
- */
859
- template <typename GettableSocketOption>
860
- void get_option(GettableSocketOption& option) const
861
- {
862
- asio::error_code ec;
863
- impl_.get_service().get_option(impl_.get_implementation(), option, ec);
864
- asio::detail::throw_error(ec, "get_option");
865
- }
866
-
867
- /// Get an option from the acceptor.
868
- /**
869
- * This function is used to get the current value of an option on the
870
- * acceptor.
871
- *
872
- * @param option The option value to be obtained from the acceptor.
873
- *
874
- * @param ec Set to indicate what error occurred, if any.
875
- *
876
- * @sa GettableSocketOption @n
877
- * asio::socket_base::reuse_address
878
- *
879
- * @par Example
880
- * Getting the value of the SOL_SOCKET/SO_REUSEADDR option:
881
- * @code
882
- * asio::ip::tcp::acceptor acceptor(my_context);
883
- * ...
884
- * asio::ip::tcp::acceptor::reuse_address option;
885
- * asio::error_code ec;
886
- * acceptor.get_option(option, ec);
887
- * if (ec)
888
- * {
889
- * // An error occurred.
890
- * }
891
- * bool is_set = option.get();
892
- * @endcode
893
- */
894
- template <typename GettableSocketOption>
895
- ASIO_SYNC_OP_VOID get_option(GettableSocketOption& option,
896
- asio::error_code& ec) const
897
- {
898
- impl_.get_service().get_option(impl_.get_implementation(), option, ec);
899
- ASIO_SYNC_OP_VOID_RETURN(ec);
900
- }
901
-
902
- /// Perform an IO control command on the acceptor.
903
- /**
904
- * This function is used to execute an IO control command on the acceptor.
905
- *
906
- * @param command The IO control command to be performed on the acceptor.
907
- *
908
- * @throws asio::system_error Thrown on failure.
909
- *
910
- * @sa IoControlCommand @n
911
- * asio::socket_base::non_blocking_io
912
- *
913
- * @par Example
914
- * Getting the number of bytes ready to read:
915
- * @code
916
- * asio::ip::tcp::acceptor acceptor(my_context);
917
- * ...
918
- * asio::ip::tcp::acceptor::non_blocking_io command(true);
919
- * socket.io_control(command);
920
- * @endcode
921
- */
922
- template <typename IoControlCommand>
923
- void io_control(IoControlCommand& command)
924
- {
925
- asio::error_code ec;
926
- impl_.get_service().io_control(impl_.get_implementation(), command, ec);
927
- asio::detail::throw_error(ec, "io_control");
928
- }
929
-
930
- /// Perform an IO control command on the acceptor.
931
- /**
932
- * This function is used to execute an IO control command on the acceptor.
933
- *
934
- * @param command The IO control command to be performed on the acceptor.
935
- *
936
- * @param ec Set to indicate what error occurred, if any.
937
- *
938
- * @sa IoControlCommand @n
939
- * asio::socket_base::non_blocking_io
940
- *
941
- * @par Example
942
- * Getting the number of bytes ready to read:
943
- * @code
944
- * asio::ip::tcp::acceptor acceptor(my_context);
945
- * ...
946
- * asio::ip::tcp::acceptor::non_blocking_io command(true);
947
- * asio::error_code ec;
948
- * socket.io_control(command, ec);
949
- * if (ec)
950
- * {
951
- * // An error occurred.
952
- * }
953
- * @endcode
954
- */
955
- template <typename IoControlCommand>
956
- ASIO_SYNC_OP_VOID io_control(IoControlCommand& command,
957
- asio::error_code& ec)
958
- {
959
- impl_.get_service().io_control(impl_.get_implementation(), command, ec);
960
- ASIO_SYNC_OP_VOID_RETURN(ec);
961
- }
962
-
963
- /// Gets the non-blocking mode of the acceptor.
964
- /**
965
- * @returns @c true if the acceptor's synchronous operations will fail with
966
- * asio::error::would_block if they are unable to perform the requested
967
- * operation immediately. If @c false, synchronous operations will block
968
- * until complete.
969
- *
970
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
971
- * operations. Asynchronous operations will never fail with the error
972
- * asio::error::would_block.
973
- */
974
- bool non_blocking() const
975
- {
976
- return impl_.get_service().non_blocking(impl_.get_implementation());
977
- }
978
-
979
- /// Sets the non-blocking mode of the acceptor.
980
- /**
981
- * @param mode If @c true, the acceptor's synchronous operations will fail
982
- * with asio::error::would_block if they are unable to perform the
983
- * requested operation immediately. If @c false, synchronous operations will
984
- * block until complete.
985
- *
986
- * @throws asio::system_error Thrown on failure.
987
- *
988
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
989
- * operations. Asynchronous operations will never fail with the error
990
- * asio::error::would_block.
991
- */
992
- void non_blocking(bool mode)
993
- {
994
- asio::error_code ec;
995
- impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
996
- asio::detail::throw_error(ec, "non_blocking");
997
- }
998
-
999
- /// Sets the non-blocking mode of the acceptor.
1000
- /**
1001
- * @param mode If @c true, the acceptor's synchronous operations will fail
1002
- * with asio::error::would_block if they are unable to perform the
1003
- * requested operation immediately. If @c false, synchronous operations will
1004
- * block until complete.
1005
- *
1006
- * @param ec Set to indicate what error occurred, if any.
1007
- *
1008
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
1009
- * operations. Asynchronous operations will never fail with the error
1010
- * asio::error::would_block.
1011
- */
1012
- ASIO_SYNC_OP_VOID non_blocking(
1013
- bool mode, asio::error_code& ec)
1014
- {
1015
- impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
1016
- ASIO_SYNC_OP_VOID_RETURN(ec);
1017
- }
1018
-
1019
- /// Gets the non-blocking mode of the native acceptor implementation.
1020
- /**
1021
- * This function is used to retrieve the non-blocking mode of the underlying
1022
- * native acceptor. This mode has no effect on the behaviour of the acceptor
1023
- * object's synchronous operations.
1024
- *
1025
- * @returns @c true if the underlying acceptor is in non-blocking mode and
1026
- * direct system calls may fail with asio::error::would_block (or the
1027
- * equivalent system error).
1028
- *
1029
- * @note The current non-blocking mode is cached by the acceptor object.
1030
- * Consequently, the return value may be incorrect if the non-blocking mode
1031
- * was set directly on the native acceptor.
1032
- */
1033
- bool native_non_blocking() const
1034
- {
1035
- return impl_.get_service().native_non_blocking(impl_.get_implementation());
1036
- }
1037
-
1038
- /// Sets the non-blocking mode of the native acceptor implementation.
1039
- /**
1040
- * This function is used to modify the non-blocking mode of the underlying
1041
- * native acceptor. It has no effect on the behaviour of the acceptor object's
1042
- * synchronous operations.
1043
- *
1044
- * @param mode If @c true, the underlying acceptor is put into non-blocking
1045
- * mode and direct system calls may fail with asio::error::would_block
1046
- * (or the equivalent system error).
1047
- *
1048
- * @throws asio::system_error Thrown on failure. If the @c mode is
1049
- * @c false, but the current value of @c non_blocking() is @c true, this
1050
- * function fails with asio::error::invalid_argument, as the
1051
- * combination does not make sense.
1052
- */
1053
- void native_non_blocking(bool mode)
1054
- {
1055
- asio::error_code ec;
1056
- impl_.get_service().native_non_blocking(
1057
- impl_.get_implementation(), mode, ec);
1058
- asio::detail::throw_error(ec, "native_non_blocking");
1059
- }
1060
-
1061
- /// Sets the non-blocking mode of the native acceptor implementation.
1062
- /**
1063
- * This function is used to modify the non-blocking mode of the underlying
1064
- * native acceptor. It has no effect on the behaviour of the acceptor object's
1065
- * synchronous operations.
1066
- *
1067
- * @param mode If @c true, the underlying acceptor is put into non-blocking
1068
- * mode and direct system calls may fail with asio::error::would_block
1069
- * (or the equivalent system error).
1070
- *
1071
- * @param ec Set to indicate what error occurred, if any. If the @c mode is
1072
- * @c false, but the current value of @c non_blocking() is @c true, this
1073
- * function fails with asio::error::invalid_argument, as the
1074
- * combination does not make sense.
1075
- */
1076
- ASIO_SYNC_OP_VOID native_non_blocking(
1077
- bool mode, asio::error_code& ec)
1078
- {
1079
- impl_.get_service().native_non_blocking(
1080
- impl_.get_implementation(), mode, ec);
1081
- ASIO_SYNC_OP_VOID_RETURN(ec);
1082
- }
1083
-
1084
- /// Get the local endpoint of the acceptor.
1085
- /**
1086
- * This function is used to obtain the locally bound endpoint of the acceptor.
1087
- *
1088
- * @returns An object that represents the local endpoint of the acceptor.
1089
- *
1090
- * @throws asio::system_error Thrown on failure.
1091
- *
1092
- * @par Example
1093
- * @code
1094
- * asio::ip::tcp::acceptor acceptor(my_context);
1095
- * ...
1096
- * asio::ip::tcp::endpoint endpoint = acceptor.local_endpoint();
1097
- * @endcode
1098
- */
1099
- endpoint_type local_endpoint() const
1100
- {
1101
- asio::error_code ec;
1102
- endpoint_type ep = impl_.get_service().local_endpoint(
1103
- impl_.get_implementation(), ec);
1104
- asio::detail::throw_error(ec, "local_endpoint");
1105
- return ep;
1106
- }
1107
-
1108
- /// Get the local endpoint of the acceptor.
1109
- /**
1110
- * This function is used to obtain the locally bound endpoint of the acceptor.
1111
- *
1112
- * @param ec Set to indicate what error occurred, if any.
1113
- *
1114
- * @returns An object that represents the local endpoint of the acceptor.
1115
- * Returns a default-constructed endpoint object if an error occurred and the
1116
- * error handler did not throw an exception.
1117
- *
1118
- * @par Example
1119
- * @code
1120
- * asio::ip::tcp::acceptor acceptor(my_context);
1121
- * ...
1122
- * asio::error_code ec;
1123
- * asio::ip::tcp::endpoint endpoint = acceptor.local_endpoint(ec);
1124
- * if (ec)
1125
- * {
1126
- * // An error occurred.
1127
- * }
1128
- * @endcode
1129
- */
1130
- endpoint_type local_endpoint(asio::error_code& ec) const
1131
- {
1132
- return impl_.get_service().local_endpoint(impl_.get_implementation(), ec);
1133
- }
1134
-
1135
- /// Wait for the acceptor to become ready to read, ready to write, or to have
1136
- /// pending error conditions.
1137
- /**
1138
- * This function is used to perform a blocking wait for an acceptor to enter
1139
- * a ready to read, write or error condition state.
1140
- *
1141
- * @param w Specifies the desired acceptor state.
1142
- *
1143
- * @par Example
1144
- * Waiting for an acceptor to become readable.
1145
- * @code
1146
- * asio::ip::tcp::acceptor acceptor(my_context);
1147
- * ...
1148
- * acceptor.wait(asio::ip::tcp::acceptor::wait_read);
1149
- * @endcode
1150
- */
1151
- void wait(wait_type w)
1152
- {
1153
- asio::error_code ec;
1154
- impl_.get_service().wait(impl_.get_implementation(), w, ec);
1155
- asio::detail::throw_error(ec, "wait");
1156
- }
1157
-
1158
- /// Wait for the acceptor to become ready to read, ready to write, or to have
1159
- /// pending error conditions.
1160
- /**
1161
- * This function is used to perform a blocking wait for an acceptor to enter
1162
- * a ready to read, write or error condition state.
1163
- *
1164
- * @param w Specifies the desired acceptor state.
1165
- *
1166
- * @param ec Set to indicate what error occurred, if any.
1167
- *
1168
- * @par Example
1169
- * Waiting for an acceptor to become readable.
1170
- * @code
1171
- * asio::ip::tcp::acceptor acceptor(my_context);
1172
- * ...
1173
- * asio::error_code ec;
1174
- * acceptor.wait(asio::ip::tcp::acceptor::wait_read, ec);
1175
- * @endcode
1176
- */
1177
- ASIO_SYNC_OP_VOID wait(wait_type w, asio::error_code& ec)
1178
- {
1179
- impl_.get_service().wait(impl_.get_implementation(), w, ec);
1180
- ASIO_SYNC_OP_VOID_RETURN(ec);
1181
- }
1182
-
1183
- /// Asynchronously wait for the acceptor to become ready to read, ready to
1184
- /// write, or to have pending error conditions.
1185
- /**
1186
- * This function is used to perform an asynchronous wait for an acceptor to
1187
- * enter a ready to read, write or error condition state.
1188
- *
1189
- * @param w Specifies the desired acceptor state.
1190
- *
1191
- * @param handler The handler to be called when the wait operation completes.
1192
- * Copies will be made of the handler as required. The function signature of
1193
- * the handler must be:
1194
- * @code void handler(
1195
- * const asio::error_code& error // Result of operation
1196
- * ); @endcode
1197
- * Regardless of whether the asynchronous operation completes immediately or
1198
- * not, the handler will not be invoked from within this function. On
1199
- * immediate completion, invocation of the handler will be performed in a
1200
- * manner equivalent to using asio::post().
1201
- *
1202
- * @par Example
1203
- * @code
1204
- * void wait_handler(const asio::error_code& error)
1205
- * {
1206
- * if (!error)
1207
- * {
1208
- * // Wait succeeded.
1209
- * }
1210
- * }
1211
- *
1212
- * ...
1213
- *
1214
- * asio::ip::tcp::acceptor acceptor(my_context);
1215
- * ...
1216
- * acceptor.async_wait(
1217
- * asio::ip::tcp::acceptor::wait_read,
1218
- * wait_handler);
1219
- * @endcode
1220
- */
1221
- template <
1222
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code))
1223
- WaitHandler ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1224
- ASIO_INITFN_AUTO_RESULT_TYPE(WaitHandler,
1225
- void (asio::error_code))
1226
- async_wait(wait_type w,
1227
- ASIO_MOVE_ARG(WaitHandler) handler
1228
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1229
- {
1230
- return async_initiate<WaitHandler, void (asio::error_code)>(
1231
- initiate_async_wait(this), handler, w);
1232
- }
1233
-
1234
- #if !defined(ASIO_NO_EXTENSIONS)
1235
- /// Accept a new connection.
1236
- /**
1237
- * This function is used to accept a new connection from a peer into the
1238
- * given socket. The function call will block until a new connection has been
1239
- * accepted successfully or an error occurs.
1240
- *
1241
- * @param peer The socket into which the new connection will be accepted.
1242
- *
1243
- * @throws asio::system_error Thrown on failure.
1244
- *
1245
- * @par Example
1246
- * @code
1247
- * asio::ip::tcp::acceptor acceptor(my_context);
1248
- * ...
1249
- * asio::ip::tcp::socket socket(my_context);
1250
- * acceptor.accept(socket);
1251
- * @endcode
1252
- */
1253
- template <typename Protocol1, typename Executor1>
1254
- void accept(basic_socket<Protocol1, Executor1>& peer,
1255
- typename enable_if<
1256
- is_convertible<Protocol, Protocol1>::value
1257
- >::type* = 0)
1258
- {
1259
- asio::error_code ec;
1260
- impl_.get_service().accept(impl_.get_implementation(),
1261
- peer, static_cast<endpoint_type*>(0), ec);
1262
- asio::detail::throw_error(ec, "accept");
1263
- }
1264
-
1265
- /// Accept a new connection.
1266
- /**
1267
- * This function is used to accept a new connection from a peer into the
1268
- * given socket. The function call will block until a new connection has been
1269
- * accepted successfully or an error occurs.
1270
- *
1271
- * @param peer The socket into which the new connection will be accepted.
1272
- *
1273
- * @param ec Set to indicate what error occurred, if any.
1274
- *
1275
- * @par Example
1276
- * @code
1277
- * asio::ip::tcp::acceptor acceptor(my_context);
1278
- * ...
1279
- * asio::ip::tcp::socket socket(my_context);
1280
- * asio::error_code ec;
1281
- * acceptor.accept(socket, ec);
1282
- * if (ec)
1283
- * {
1284
- * // An error occurred.
1285
- * }
1286
- * @endcode
1287
- */
1288
- template <typename Protocol1, typename Executor1>
1289
- ASIO_SYNC_OP_VOID accept(
1290
- basic_socket<Protocol1, Executor1>& peer, asio::error_code& ec,
1291
- typename enable_if<
1292
- is_convertible<Protocol, Protocol1>::value
1293
- >::type* = 0)
1294
- {
1295
- impl_.get_service().accept(impl_.get_implementation(),
1296
- peer, static_cast<endpoint_type*>(0), ec);
1297
- ASIO_SYNC_OP_VOID_RETURN(ec);
1298
- }
1299
-
1300
- /// Start an asynchronous accept.
1301
- /**
1302
- * This function is used to asynchronously accept a new connection into a
1303
- * socket. The function call always returns immediately.
1304
- *
1305
- * @param peer The socket into which the new connection will be accepted.
1306
- * Ownership of the peer object is retained by the caller, which must
1307
- * guarantee that it is valid until the handler is called.
1308
- *
1309
- * @param handler The handler to be called when the accept operation
1310
- * completes. Copies will be made of the handler as required. The function
1311
- * signature of the handler must be:
1312
- * @code void handler(
1313
- * const asio::error_code& error // Result of operation.
1314
- * ); @endcode
1315
- * Regardless of whether the asynchronous operation completes immediately or
1316
- * not, the handler will not be invoked from within this function. On
1317
- * immediate completion, invocation of the handler will be performed in a
1318
- * manner equivalent to using asio::post().
1319
- *
1320
- * @par Example
1321
- * @code
1322
- * void accept_handler(const asio::error_code& error)
1323
- * {
1324
- * if (!error)
1325
- * {
1326
- * // Accept succeeded.
1327
- * }
1328
- * }
1329
- *
1330
- * ...
1331
- *
1332
- * asio::ip::tcp::acceptor acceptor(my_context);
1333
- * ...
1334
- * asio::ip::tcp::socket socket(my_context);
1335
- * acceptor.async_accept(socket, accept_handler);
1336
- * @endcode
1337
- */
1338
- template <typename Protocol1, typename Executor1,
1339
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code))
1340
- AcceptHandler ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1341
- ASIO_INITFN_AUTO_RESULT_TYPE(AcceptHandler,
1342
- void (asio::error_code))
1343
- async_accept(basic_socket<Protocol1, Executor1>& peer,
1344
- ASIO_MOVE_ARG(AcceptHandler) handler
1345
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
1346
- typename enable_if<
1347
- is_convertible<Protocol, Protocol1>::value
1348
- >::type* = 0)
1349
- {
1350
- return async_initiate<AcceptHandler, void (asio::error_code)>(
1351
- initiate_async_accept(this), handler,
1352
- &peer, static_cast<endpoint_type*>(0));
1353
- }
1354
-
1355
- /// Accept a new connection and obtain the endpoint of the peer
1356
- /**
1357
- * This function is used to accept a new connection from a peer into the
1358
- * given socket, and additionally provide the endpoint of the remote peer.
1359
- * The function call will block until a new connection has been accepted
1360
- * successfully or an error occurs.
1361
- *
1362
- * @param peer The socket into which the new connection will be accepted.
1363
- *
1364
- * @param peer_endpoint An endpoint object which will receive the endpoint of
1365
- * the remote peer.
1366
- *
1367
- * @throws asio::system_error Thrown on failure.
1368
- *
1369
- * @par Example
1370
- * @code
1371
- * asio::ip::tcp::acceptor acceptor(my_context);
1372
- * ...
1373
- * asio::ip::tcp::socket socket(my_context);
1374
- * asio::ip::tcp::endpoint endpoint;
1375
- * acceptor.accept(socket, endpoint);
1376
- * @endcode
1377
- */
1378
- template <typename Executor1>
1379
- void accept(basic_socket<protocol_type, Executor1>& peer,
1380
- endpoint_type& peer_endpoint)
1381
- {
1382
- asio::error_code ec;
1383
- impl_.get_service().accept(impl_.get_implementation(),
1384
- peer, &peer_endpoint, ec);
1385
- asio::detail::throw_error(ec, "accept");
1386
- }
1387
-
1388
- /// Accept a new connection and obtain the endpoint of the peer
1389
- /**
1390
- * This function is used to accept a new connection from a peer into the
1391
- * given socket, and additionally provide the endpoint of the remote peer.
1392
- * The function call will block until a new connection has been accepted
1393
- * successfully or an error occurs.
1394
- *
1395
- * @param peer The socket into which the new connection will be accepted.
1396
- *
1397
- * @param peer_endpoint An endpoint object which will receive the endpoint of
1398
- * the remote peer.
1399
- *
1400
- * @param ec Set to indicate what error occurred, if any.
1401
- *
1402
- * @par Example
1403
- * @code
1404
- * asio::ip::tcp::acceptor acceptor(my_context);
1405
- * ...
1406
- * asio::ip::tcp::socket socket(my_context);
1407
- * asio::ip::tcp::endpoint endpoint;
1408
- * asio::error_code ec;
1409
- * acceptor.accept(socket, endpoint, ec);
1410
- * if (ec)
1411
- * {
1412
- * // An error occurred.
1413
- * }
1414
- * @endcode
1415
- */
1416
- template <typename Executor1>
1417
- ASIO_SYNC_OP_VOID accept(basic_socket<protocol_type, Executor1>& peer,
1418
- endpoint_type& peer_endpoint, asio::error_code& ec)
1419
- {
1420
- impl_.get_service().accept(
1421
- impl_.get_implementation(), peer, &peer_endpoint, ec);
1422
- ASIO_SYNC_OP_VOID_RETURN(ec);
1423
- }
1424
-
1425
- /// Start an asynchronous accept.
1426
- /**
1427
- * This function is used to asynchronously accept a new connection into a
1428
- * socket, and additionally obtain the endpoint of the remote peer. The
1429
- * function call always returns immediately.
1430
- *
1431
- * @param peer The socket into which the new connection will be accepted.
1432
- * Ownership of the peer object is retained by the caller, which must
1433
- * guarantee that it is valid until the handler is called.
1434
- *
1435
- * @param peer_endpoint An endpoint object into which the endpoint of the
1436
- * remote peer will be written. Ownership of the peer_endpoint object is
1437
- * retained by the caller, which must guarantee that it is valid until the
1438
- * handler is called.
1439
- *
1440
- * @param handler The handler to be called when the accept operation
1441
- * completes. Copies will be made of the handler as required. The function
1442
- * signature of the handler must be:
1443
- * @code void handler(
1444
- * const asio::error_code& error // Result of operation.
1445
- * ); @endcode
1446
- * Regardless of whether the asynchronous operation completes immediately or
1447
- * not, the handler will not be invoked from within this function. On
1448
- * immediate completion, invocation of the handler will be performed in a
1449
- * manner equivalent to using asio::post().
1450
- */
1451
- template <typename Executor1,
1452
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code))
1453
- AcceptHandler ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1454
- ASIO_INITFN_AUTO_RESULT_TYPE(AcceptHandler,
1455
- void (asio::error_code))
1456
- async_accept(basic_socket<protocol_type, Executor1>& peer,
1457
- endpoint_type& peer_endpoint,
1458
- ASIO_MOVE_ARG(AcceptHandler) handler
1459
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1460
- {
1461
- return async_initiate<AcceptHandler, void (asio::error_code)>(
1462
- initiate_async_accept(this), handler, &peer, &peer_endpoint);
1463
- }
1464
- #endif // !defined(ASIO_NO_EXTENSIONS)
1465
-
1466
- #if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
1467
- /// Accept a new connection.
1468
- /**
1469
- * This function is used to accept a new connection from a peer. The function
1470
- * call will block until a new connection has been accepted successfully or
1471
- * an error occurs.
1472
- *
1473
- * This overload requires that the Protocol template parameter satisfy the
1474
- * AcceptableProtocol type requirements.
1475
- *
1476
- * @returns A socket object representing the newly accepted connection.
1477
- *
1478
- * @throws asio::system_error Thrown on failure.
1479
- *
1480
- * @par Example
1481
- * @code
1482
- * asio::ip::tcp::acceptor acceptor(my_context);
1483
- * ...
1484
- * asio::ip::tcp::socket socket(acceptor.accept());
1485
- * @endcode
1486
- */
1487
- typename Protocol::socket::template rebind_executor<executor_type>::other
1488
- accept()
1489
- {
1490
- asio::error_code ec;
1491
- typename Protocol::socket::template rebind_executor<
1492
- executor_type>::other peer(impl_.get_executor());
1493
- impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
1494
- asio::detail::throw_error(ec, "accept");
1495
- return peer;
1496
- }
1497
-
1498
- /// Accept a new connection.
1499
- /**
1500
- * This function is used to accept a new connection from a peer. The function
1501
- * call will block until a new connection has been accepted successfully or
1502
- * an error occurs.
1503
- *
1504
- * This overload requires that the Protocol template parameter satisfy the
1505
- * AcceptableProtocol type requirements.
1506
- *
1507
- * @param ec Set to indicate what error occurred, if any.
1508
- *
1509
- * @returns On success, a socket object representing the newly accepted
1510
- * connection. On error, a socket object where is_open() is false.
1511
- *
1512
- * @par Example
1513
- * @code
1514
- * asio::ip::tcp::acceptor acceptor(my_context);
1515
- * ...
1516
- * asio::ip::tcp::socket socket(acceptor.accept(ec));
1517
- * if (ec)
1518
- * {
1519
- * // An error occurred.
1520
- * }
1521
- * @endcode
1522
- */
1523
- typename Protocol::socket::template rebind_executor<executor_type>::other
1524
- accept(asio::error_code& ec)
1525
- {
1526
- typename Protocol::socket::template rebind_executor<
1527
- executor_type>::other peer(impl_.get_executor());
1528
- impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
1529
- return peer;
1530
- }
1531
-
1532
- /// Start an asynchronous accept.
1533
- /**
1534
- * This function is used to asynchronously accept a new connection. The
1535
- * function call always returns immediately.
1536
- *
1537
- * This overload requires that the Protocol template parameter satisfy the
1538
- * AcceptableProtocol type requirements.
1539
- *
1540
- * @param handler The handler to be called when the accept operation
1541
- * completes. Copies will be made of the handler as required. The function
1542
- * signature of the handler must be:
1543
- * @code void handler(
1544
- * // Result of operation.
1545
- * const asio::error_code& error,
1546
- * // On success, the newly accepted socket.
1547
- * typename Protocol::socket::template
1548
- * rebind_executor<executor_type>::other peer
1549
- * ); @endcode
1550
- * Regardless of whether the asynchronous operation completes immediately or
1551
- * not, the handler will not be invoked from within this function. On
1552
- * immediate completion, invocation of the handler will be performed in a
1553
- * manner equivalent to using asio::post().
1554
- *
1555
- * @par Example
1556
- * @code
1557
- * void accept_handler(const asio::error_code& error,
1558
- * asio::ip::tcp::socket peer)
1559
- * {
1560
- * if (!error)
1561
- * {
1562
- * // Accept succeeded.
1563
- * }
1564
- * }
1565
- *
1566
- * ...
1567
- *
1568
- * asio::ip::tcp::acceptor acceptor(my_context);
1569
- * ...
1570
- * acceptor.async_accept(accept_handler);
1571
- * @endcode
1572
- */
1573
- template <
1574
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1575
- typename Protocol::socket::template rebind_executor<
1576
- executor_type>::other)) MoveAcceptHandler
1577
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1578
- ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
1579
- void (asio::error_code,
1580
- typename Protocol::socket::template
1581
- rebind_executor<executor_type>::other))
1582
- async_accept(
1583
- ASIO_MOVE_ARG(MoveAcceptHandler) handler
1584
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1585
- {
1586
- return async_initiate<MoveAcceptHandler,
1587
- void (asio::error_code, typename Protocol::socket::template
1588
- rebind_executor<executor_type>::other)>(
1589
- initiate_async_move_accept(this), handler,
1590
- impl_.get_executor(), static_cast<endpoint_type*>(0),
1591
- static_cast<typename Protocol::socket::template
1592
- rebind_executor<executor_type>::other*>(0));
1593
- }
1594
-
1595
- /// Accept a new connection.
1596
- /**
1597
- * This function is used to accept a new connection from a peer. The function
1598
- * call will block until a new connection has been accepted successfully or
1599
- * an error occurs.
1600
- *
1601
- * This overload requires that the Protocol template parameter satisfy the
1602
- * AcceptableProtocol type requirements.
1603
- *
1604
- * @param ex The I/O executor object to be used for the newly
1605
- * accepted socket.
1606
- *
1607
- * @returns A socket object representing the newly accepted connection.
1608
- *
1609
- * @throws asio::system_error Thrown on failure.
1610
- *
1611
- * @par Example
1612
- * @code
1613
- * asio::ip::tcp::acceptor acceptor(my_context);
1614
- * ...
1615
- * asio::ip::tcp::socket socket(acceptor.accept());
1616
- * @endcode
1617
- */
1618
- template <typename Executor1>
1619
- typename Protocol::socket::template rebind_executor<Executor1>::other
1620
- accept(const Executor1& ex,
1621
- typename enable_if<
1622
- is_executor<Executor1>::value
1623
- || execution::is_executor<Executor1>::value
1624
- >::type* = 0)
1625
- {
1626
- asio::error_code ec;
1627
- typename Protocol::socket::template
1628
- rebind_executor<Executor1>::other peer(ex);
1629
- impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
1630
- asio::detail::throw_error(ec, "accept");
1631
- return peer;
1632
- }
1633
-
1634
- /// Accept a new connection.
1635
- /**
1636
- * This function is used to accept a new connection from a peer. The function
1637
- * call will block until a new connection has been accepted successfully or
1638
- * an error occurs.
1639
- *
1640
- * This overload requires that the Protocol template parameter satisfy the
1641
- * AcceptableProtocol type requirements.
1642
- *
1643
- * @param context The I/O execution context object to be used for the newly
1644
- * accepted socket.
1645
- *
1646
- * @returns A socket object representing the newly accepted connection.
1647
- *
1648
- * @throws asio::system_error Thrown on failure.
1649
- *
1650
- * @par Example
1651
- * @code
1652
- * asio::ip::tcp::acceptor acceptor(my_context);
1653
- * ...
1654
- * asio::ip::tcp::socket socket(acceptor.accept());
1655
- * @endcode
1656
- */
1657
- template <typename ExecutionContext>
1658
- typename Protocol::socket::template rebind_executor<
1659
- typename ExecutionContext::executor_type>::other
1660
- accept(ExecutionContext& context,
1661
- typename enable_if<
1662
- is_convertible<ExecutionContext&, execution_context&>::value
1663
- >::type* = 0)
1664
- {
1665
- asio::error_code ec;
1666
- typename Protocol::socket::template rebind_executor<
1667
- typename ExecutionContext::executor_type>::other peer(context);
1668
- impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
1669
- asio::detail::throw_error(ec, "accept");
1670
- return peer;
1671
- }
1672
-
1673
- /// Accept a new connection.
1674
- /**
1675
- * This function is used to accept a new connection from a peer. The function
1676
- * call will block until a new connection has been accepted successfully or
1677
- * an error occurs.
1678
- *
1679
- * This overload requires that the Protocol template parameter satisfy the
1680
- * AcceptableProtocol type requirements.
1681
- *
1682
- * @param ex The I/O executor object to be used for the newly accepted
1683
- * socket.
1684
- *
1685
- * @param ec Set to indicate what error occurred, if any.
1686
- *
1687
- * @returns On success, a socket object representing the newly accepted
1688
- * connection. On error, a socket object where is_open() is false.
1689
- *
1690
- * @par Example
1691
- * @code
1692
- * asio::ip::tcp::acceptor acceptor(my_context);
1693
- * ...
1694
- * asio::ip::tcp::socket socket(acceptor.accept(my_context2, ec));
1695
- * if (ec)
1696
- * {
1697
- * // An error occurred.
1698
- * }
1699
- * @endcode
1700
- */
1701
- template <typename Executor1>
1702
- typename Protocol::socket::template rebind_executor<Executor1>::other
1703
- accept(const Executor1& ex, asio::error_code& ec,
1704
- typename enable_if<
1705
- is_executor<Executor1>::value
1706
- || execution::is_executor<Executor1>::value
1707
- >::type* = 0)
1708
- {
1709
- typename Protocol::socket::template
1710
- rebind_executor<Executor1>::other peer(ex);
1711
- impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
1712
- return peer;
1713
- }
1714
-
1715
- /// Accept a new connection.
1716
- /**
1717
- * This function is used to accept a new connection from a peer. The function
1718
- * call will block until a new connection has been accepted successfully or
1719
- * an error occurs.
1720
- *
1721
- * This overload requires that the Protocol template parameter satisfy the
1722
- * AcceptableProtocol type requirements.
1723
- *
1724
- * @param context The I/O execution context object to be used for the newly
1725
- * accepted socket.
1726
- *
1727
- * @param ec Set to indicate what error occurred, if any.
1728
- *
1729
- * @returns On success, a socket object representing the newly accepted
1730
- * connection. On error, a socket object where is_open() is false.
1731
- *
1732
- * @par Example
1733
- * @code
1734
- * asio::ip::tcp::acceptor acceptor(my_context);
1735
- * ...
1736
- * asio::ip::tcp::socket socket(acceptor.accept(my_context2, ec));
1737
- * if (ec)
1738
- * {
1739
- * // An error occurred.
1740
- * }
1741
- * @endcode
1742
- */
1743
- template <typename ExecutionContext>
1744
- typename Protocol::socket::template rebind_executor<
1745
- typename ExecutionContext::executor_type>::other
1746
- accept(ExecutionContext& context, asio::error_code& ec,
1747
- typename enable_if<
1748
- is_convertible<ExecutionContext&, execution_context&>::value
1749
- >::type* = 0)
1750
- {
1751
- typename Protocol::socket::template rebind_executor<
1752
- typename ExecutionContext::executor_type>::other peer(context);
1753
- impl_.get_service().accept(impl_.get_implementation(), peer, 0, ec);
1754
- return peer;
1755
- }
1756
-
1757
- /// Start an asynchronous accept.
1758
- /**
1759
- * This function is used to asynchronously accept a new connection. The
1760
- * function call always returns immediately.
1761
- *
1762
- * This overload requires that the Protocol template parameter satisfy the
1763
- * AcceptableProtocol type requirements.
1764
- *
1765
- * @param ex The I/O executor object to be used for the newly accepted
1766
- * socket.
1767
- *
1768
- * @param handler The handler to be called when the accept operation
1769
- * completes. Copies will be made of the handler as required. The function
1770
- * signature of the handler must be:
1771
- * @code void handler(
1772
- * const asio::error_code& error, // Result of operation.
1773
- * typename Protocol::socket::template rebind_executor<
1774
- * Executor1>::other peer // On success, the newly accepted socket.
1775
- * ); @endcode
1776
- * Regardless of whether the asynchronous operation completes immediately or
1777
- * not, the handler will not be invoked from within this function. On
1778
- * immediate completion, invocation of the handler will be performed in a
1779
- * manner equivalent to using asio::post().
1780
- *
1781
- * @par Example
1782
- * @code
1783
- * void accept_handler(const asio::error_code& error,
1784
- * asio::ip::tcp::socket peer)
1785
- * {
1786
- * if (!error)
1787
- * {
1788
- * // Accept succeeded.
1789
- * }
1790
- * }
1791
- *
1792
- * ...
1793
- *
1794
- * asio::ip::tcp::acceptor acceptor(my_context);
1795
- * ...
1796
- * acceptor.async_accept(my_context2, accept_handler);
1797
- * @endcode
1798
- */
1799
- template <typename Executor1,
1800
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1801
- typename Protocol::socket::template rebind_executor<
1802
- Executor1>::other)) MoveAcceptHandler
1803
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1804
- ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
1805
- void (asio::error_code,
1806
- typename Protocol::socket::template rebind_executor<
1807
- Executor1>::other))
1808
- async_accept(const Executor1& ex,
1809
- ASIO_MOVE_ARG(MoveAcceptHandler) handler
1810
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
1811
- typename enable_if<
1812
- is_executor<Executor1>::value
1813
- || execution::is_executor<Executor1>::value
1814
- >::type* = 0)
1815
- {
1816
- typedef typename Protocol::socket::template rebind_executor<
1817
- Executor1>::other other_socket_type;
1818
-
1819
- return async_initiate<MoveAcceptHandler,
1820
- void (asio::error_code, other_socket_type)>(
1821
- initiate_async_move_accept(this), handler,
1822
- ex, static_cast<endpoint_type*>(0),
1823
- static_cast<other_socket_type*>(0));
1824
- }
1825
-
1826
- /// Start an asynchronous accept.
1827
- /**
1828
- * This function is used to asynchronously accept a new connection. The
1829
- * function call always returns immediately.
1830
- *
1831
- * This overload requires that the Protocol template parameter satisfy the
1832
- * AcceptableProtocol type requirements.
1833
- *
1834
- * @param context The I/O execution context object to be used for the newly
1835
- * accepted socket.
1836
- *
1837
- * @param handler The handler to be called when the accept operation
1838
- * completes. Copies will be made of the handler as required. The function
1839
- * signature of the handler must be:
1840
- * @code void handler(
1841
- * const asio::error_code& error, // Result of operation.
1842
- * typename Protocol::socket::template rebind_executor<
1843
- * typename ExecutionContext::executor_type>::other peer
1844
- * // On success, the newly accepted socket.
1845
- * ); @endcode
1846
- * Regardless of whether the asynchronous operation completes immediately or
1847
- * not, the handler will not be invoked from within this function. On
1848
- * immediate completion, invocation of the handler will be performed in a
1849
- * manner equivalent to using asio::post().
1850
- *
1851
- * @par Example
1852
- * @code
1853
- * void accept_handler(const asio::error_code& error,
1854
- * asio::ip::tcp::socket peer)
1855
- * {
1856
- * if (!error)
1857
- * {
1858
- * // Accept succeeded.
1859
- * }
1860
- * }
1861
- *
1862
- * ...
1863
- *
1864
- * asio::ip::tcp::acceptor acceptor(my_context);
1865
- * ...
1866
- * acceptor.async_accept(my_context2, accept_handler);
1867
- * @endcode
1868
- */
1869
- template <typename ExecutionContext,
1870
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1871
- typename Protocol::socket::template rebind_executor<
1872
- typename ExecutionContext::executor_type>::other)) MoveAcceptHandler
1873
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1874
- ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
1875
- void (asio::error_code,
1876
- typename Protocol::socket::template rebind_executor<
1877
- typename ExecutionContext::executor_type>::other))
1878
- async_accept(ExecutionContext& context,
1879
- ASIO_MOVE_ARG(MoveAcceptHandler) handler
1880
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
1881
- typename enable_if<
1882
- is_convertible<ExecutionContext&, execution_context&>::value
1883
- >::type* = 0)
1884
- {
1885
- typedef typename Protocol::socket::template rebind_executor<
1886
- typename ExecutionContext::executor_type>::other other_socket_type;
1887
-
1888
- return async_initiate<MoveAcceptHandler,
1889
- void (asio::error_code, other_socket_type)>(
1890
- initiate_async_move_accept(this), handler,
1891
- context.get_executor(), static_cast<endpoint_type*>(0),
1892
- static_cast<other_socket_type*>(0));
1893
- }
1894
-
1895
- /// Accept a new connection.
1896
- /**
1897
- * This function is used to accept a new connection from a peer. The function
1898
- * call will block until a new connection has been accepted successfully or
1899
- * an error occurs.
1900
- *
1901
- * This overload requires that the Protocol template parameter satisfy the
1902
- * AcceptableProtocol type requirements.
1903
- *
1904
- * @param peer_endpoint An endpoint object into which the endpoint of the
1905
- * remote peer will be written.
1906
- *
1907
- * @returns A socket object representing the newly accepted connection.
1908
- *
1909
- * @throws asio::system_error Thrown on failure.
1910
- *
1911
- * @par Example
1912
- * @code
1913
- * asio::ip::tcp::acceptor acceptor(my_context);
1914
- * ...
1915
- * asio::ip::tcp::endpoint endpoint;
1916
- * asio::ip::tcp::socket socket(acceptor.accept(endpoint));
1917
- * @endcode
1918
- */
1919
- typename Protocol::socket::template rebind_executor<executor_type>::other
1920
- accept(endpoint_type& peer_endpoint)
1921
- {
1922
- asio::error_code ec;
1923
- typename Protocol::socket::template rebind_executor<
1924
- executor_type>::other peer(impl_.get_executor());
1925
- impl_.get_service().accept(impl_.get_implementation(),
1926
- peer, &peer_endpoint, ec);
1927
- asio::detail::throw_error(ec, "accept");
1928
- return peer;
1929
- }
1930
-
1931
- /// Accept a new connection.
1932
- /**
1933
- * This function is used to accept a new connection from a peer. The function
1934
- * call will block until a new connection has been accepted successfully or
1935
- * an error occurs.
1936
- *
1937
- * This overload requires that the Protocol template parameter satisfy the
1938
- * AcceptableProtocol type requirements.
1939
- *
1940
- * @param peer_endpoint An endpoint object into which the endpoint of the
1941
- * remote peer will be written.
1942
- *
1943
- * @param ec Set to indicate what error occurred, if any.
1944
- *
1945
- * @returns On success, a socket object representing the newly accepted
1946
- * connection. On error, a socket object where is_open() is false.
1947
- *
1948
- * @par Example
1949
- * @code
1950
- * asio::ip::tcp::acceptor acceptor(my_context);
1951
- * ...
1952
- * asio::ip::tcp::endpoint endpoint;
1953
- * asio::ip::tcp::socket socket(acceptor.accept(endpoint, ec));
1954
- * if (ec)
1955
- * {
1956
- * // An error occurred.
1957
- * }
1958
- * @endcode
1959
- */
1960
- typename Protocol::socket::template rebind_executor<executor_type>::other
1961
- accept(endpoint_type& peer_endpoint, asio::error_code& ec)
1962
- {
1963
- typename Protocol::socket::template rebind_executor<
1964
- executor_type>::other peer(impl_.get_executor());
1965
- impl_.get_service().accept(impl_.get_implementation(),
1966
- peer, &peer_endpoint, ec);
1967
- return peer;
1968
- }
1969
-
1970
- /// Start an asynchronous accept.
1971
- /**
1972
- * This function is used to asynchronously accept a new connection. The
1973
- * function call always returns immediately.
1974
- *
1975
- * This overload requires that the Protocol template parameter satisfy the
1976
- * AcceptableProtocol type requirements.
1977
- *
1978
- * @param peer_endpoint An endpoint object into which the endpoint of the
1979
- * remote peer will be written. Ownership of the peer_endpoint object is
1980
- * retained by the caller, which must guarantee that it is valid until the
1981
- * handler is called.
1982
- *
1983
- * @param handler The handler to be called when the accept operation
1984
- * completes. Copies will be made of the handler as required. The function
1985
- * signature of the handler must be:
1986
- * @code void handler(
1987
- * // Result of operation.
1988
- * const asio::error_code& error,
1989
- * // On success, the newly accepted socket.
1990
- * typename Protocol::socket::template
1991
- * rebind_executor<executor_type>::other peer
1992
- * ); @endcode
1993
- * Regardless of whether the asynchronous operation completes immediately or
1994
- * not, the handler will not be invoked from within this function. On
1995
- * immediate completion, invocation of the handler will be performed in a
1996
- * manner equivalent to using asio::post().
1997
- *
1998
- * @par Example
1999
- * @code
2000
- * void accept_handler(const asio::error_code& error,
2001
- * asio::ip::tcp::socket peer)
2002
- * {
2003
- * if (!error)
2004
- * {
2005
- * // Accept succeeded.
2006
- * }
2007
- * }
2008
- *
2009
- * ...
2010
- *
2011
- * asio::ip::tcp::acceptor acceptor(my_context);
2012
- * ...
2013
- * asio::ip::tcp::endpoint endpoint;
2014
- * acceptor.async_accept(endpoint, accept_handler);
2015
- * @endcode
2016
- */
2017
- template <
2018
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2019
- typename Protocol::socket::template rebind_executor<
2020
- executor_type>::other)) MoveAcceptHandler
2021
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
2022
- ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
2023
- void (asio::error_code,
2024
- typename Protocol::socket::template
2025
- rebind_executor<executor_type>::other))
2026
- async_accept(endpoint_type& peer_endpoint,
2027
- ASIO_MOVE_ARG(MoveAcceptHandler) handler
2028
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
2029
- {
2030
- return async_initiate<MoveAcceptHandler,
2031
- void (asio::error_code, typename Protocol::socket::template
2032
- rebind_executor<executor_type>::other)>(
2033
- initiate_async_move_accept(this), handler,
2034
- impl_.get_executor(), &peer_endpoint,
2035
- static_cast<typename Protocol::socket::template
2036
- rebind_executor<executor_type>::other*>(0));
2037
- }
2038
-
2039
- /// Accept a new connection.
2040
- /**
2041
- * This function is used to accept a new connection from a peer. The function
2042
- * call will block until a new connection has been accepted successfully or
2043
- * an error occurs.
2044
- *
2045
- * This overload requires that the Protocol template parameter satisfy the
2046
- * AcceptableProtocol type requirements.
2047
- *
2048
- * @param ex The I/O executor object to be used for the newly accepted
2049
- * socket.
2050
- *
2051
- * @param peer_endpoint An endpoint object into which the endpoint of the
2052
- * remote peer will be written.
2053
- *
2054
- * @returns A socket object representing the newly accepted connection.
2055
- *
2056
- * @throws asio::system_error Thrown on failure.
2057
- *
2058
- * @par Example
2059
- * @code
2060
- * asio::ip::tcp::acceptor acceptor(my_context);
2061
- * ...
2062
- * asio::ip::tcp::endpoint endpoint;
2063
- * asio::ip::tcp::socket socket(
2064
- * acceptor.accept(my_context2, endpoint));
2065
- * @endcode
2066
- */
2067
- template <typename Executor1>
2068
- typename Protocol::socket::template rebind_executor<Executor1>::other
2069
- accept(const Executor1& ex, endpoint_type& peer_endpoint,
2070
- typename enable_if<
2071
- is_executor<Executor1>::value
2072
- || execution::is_executor<Executor1>::value
2073
- >::type* = 0)
2074
- {
2075
- asio::error_code ec;
2076
- typename Protocol::socket::template
2077
- rebind_executor<Executor1>::other peer(ex);
2078
- impl_.get_service().accept(impl_.get_implementation(),
2079
- peer, &peer_endpoint, ec);
2080
- asio::detail::throw_error(ec, "accept");
2081
- return peer;
2082
- }
2083
-
2084
- /// Accept a new connection.
2085
- /**
2086
- * This function is used to accept a new connection from a peer. The function
2087
- * call will block until a new connection has been accepted successfully or
2088
- * an error occurs.
2089
- *
2090
- * This overload requires that the Protocol template parameter satisfy the
2091
- * AcceptableProtocol type requirements.
2092
- *
2093
- * @param context The I/O execution context object to be used for the newly
2094
- * accepted socket.
2095
- *
2096
- * @param peer_endpoint An endpoint object into which the endpoint of the
2097
- * remote peer will be written.
2098
- *
2099
- * @returns A socket object representing the newly accepted connection.
2100
- *
2101
- * @throws asio::system_error Thrown on failure.
2102
- *
2103
- * @par Example
2104
- * @code
2105
- * asio::ip::tcp::acceptor acceptor(my_context);
2106
- * ...
2107
- * asio::ip::tcp::endpoint endpoint;
2108
- * asio::ip::tcp::socket socket(
2109
- * acceptor.accept(my_context2, endpoint));
2110
- * @endcode
2111
- */
2112
- template <typename ExecutionContext>
2113
- typename Protocol::socket::template rebind_executor<
2114
- typename ExecutionContext::executor_type>::other
2115
- accept(ExecutionContext& context, endpoint_type& peer_endpoint,
2116
- typename enable_if<
2117
- is_convertible<ExecutionContext&, execution_context&>::value
2118
- >::type* = 0)
2119
- {
2120
- asio::error_code ec;
2121
- typename Protocol::socket::template rebind_executor<
2122
- typename ExecutionContext::executor_type>::other peer(context);
2123
- impl_.get_service().accept(impl_.get_implementation(),
2124
- peer, &peer_endpoint, ec);
2125
- asio::detail::throw_error(ec, "accept");
2126
- return peer;
2127
- }
2128
-
2129
- /// Accept a new connection.
2130
- /**
2131
- * This function is used to accept a new connection from a peer. The function
2132
- * call will block until a new connection has been accepted successfully or
2133
- * an error occurs.
2134
- *
2135
- * This overload requires that the Protocol template parameter satisfy the
2136
- * AcceptableProtocol type requirements.
2137
- *
2138
- * @param ex The I/O executor object to be used for the newly accepted
2139
- * socket.
2140
- *
2141
- * @param peer_endpoint An endpoint object into which the endpoint of the
2142
- * remote peer will be written.
2143
- *
2144
- * @param ec Set to indicate what error occurred, if any.
2145
- *
2146
- * @returns On success, a socket object representing the newly accepted
2147
- * connection. On error, a socket object where is_open() is false.
2148
- *
2149
- * @par Example
2150
- * @code
2151
- * asio::ip::tcp::acceptor acceptor(my_context);
2152
- * ...
2153
- * asio::ip::tcp::endpoint endpoint;
2154
- * asio::ip::tcp::socket socket(
2155
- * acceptor.accept(my_context2, endpoint, ec));
2156
- * if (ec)
2157
- * {
2158
- * // An error occurred.
2159
- * }
2160
- * @endcode
2161
- */
2162
- template <typename Executor1>
2163
- typename Protocol::socket::template rebind_executor<Executor1>::other
2164
- accept(const executor_type& ex,
2165
- endpoint_type& peer_endpoint, asio::error_code& ec,
2166
- typename enable_if<
2167
- is_executor<Executor1>::value
2168
- || execution::is_executor<Executor1>::value
2169
- >::type* = 0)
2170
- {
2171
- typename Protocol::socket::template
2172
- rebind_executor<Executor1>::other peer(ex);
2173
- impl_.get_service().accept(impl_.get_implementation(),
2174
- peer, &peer_endpoint, ec);
2175
- return peer;
2176
- }
2177
-
2178
- /// Accept a new connection.
2179
- /**
2180
- * This function is used to accept a new connection from a peer. The function
2181
- * call will block until a new connection has been accepted successfully or
2182
- * an error occurs.
2183
- *
2184
- * This overload requires that the Protocol template parameter satisfy the
2185
- * AcceptableProtocol type requirements.
2186
- *
2187
- * @param context The I/O execution context object to be used for the newly
2188
- * accepted socket.
2189
- *
2190
- * @param peer_endpoint An endpoint object into which the endpoint of the
2191
- * remote peer will be written.
2192
- *
2193
- * @param ec Set to indicate what error occurred, if any.
2194
- *
2195
- * @returns On success, a socket object representing the newly accepted
2196
- * connection. On error, a socket object where is_open() is false.
2197
- *
2198
- * @par Example
2199
- * @code
2200
- * asio::ip::tcp::acceptor acceptor(my_context);
2201
- * ...
2202
- * asio::ip::tcp::endpoint endpoint;
2203
- * asio::ip::tcp::socket socket(
2204
- * acceptor.accept(my_context2, endpoint, ec));
2205
- * if (ec)
2206
- * {
2207
- * // An error occurred.
2208
- * }
2209
- * @endcode
2210
- */
2211
- template <typename ExecutionContext>
2212
- typename Protocol::socket::template rebind_executor<
2213
- typename ExecutionContext::executor_type>::other
2214
- accept(ExecutionContext& context,
2215
- endpoint_type& peer_endpoint, asio::error_code& ec,
2216
- typename enable_if<
2217
- is_convertible<ExecutionContext&, execution_context&>::value
2218
- >::type* = 0)
2219
- {
2220
- typename Protocol::socket::template rebind_executor<
2221
- typename ExecutionContext::executor_type>::other peer(context);
2222
- impl_.get_service().accept(impl_.get_implementation(),
2223
- peer, &peer_endpoint, ec);
2224
- return peer;
2225
- }
2226
-
2227
- /// Start an asynchronous accept.
2228
- /**
2229
- * This function is used to asynchronously accept a new connection. The
2230
- * function call always returns immediately.
2231
- *
2232
- * This overload requires that the Protocol template parameter satisfy the
2233
- * AcceptableProtocol type requirements.
2234
- *
2235
- * @param ex The I/O executor object to be used for the newly accepted
2236
- * socket.
2237
- *
2238
- * @param peer_endpoint An endpoint object into which the endpoint of the
2239
- * remote peer will be written. Ownership of the peer_endpoint object is
2240
- * retained by the caller, which must guarantee that it is valid until the
2241
- * handler is called.
2242
- *
2243
- * @param handler The handler to be called when the accept operation
2244
- * completes. Copies will be made of the handler as required. The function
2245
- * signature of the handler must be:
2246
- * @code void handler(
2247
- * const asio::error_code& error, // Result of operation.
2248
- * typename Protocol::socket::template rebind_executor<
2249
- * Executor1>::other peer // On success, the newly accepted socket.
2250
- * ); @endcode
2251
- * Regardless of whether the asynchronous operation completes immediately or
2252
- * not, the handler will not be invoked from within this function. On
2253
- * immediate completion, invocation of the handler will be performed in a
2254
- * manner equivalent to using asio::post().
2255
- *
2256
- * @par Example
2257
- * @code
2258
- * void accept_handler(const asio::error_code& error,
2259
- * asio::ip::tcp::socket peer)
2260
- * {
2261
- * if (!error)
2262
- * {
2263
- * // Accept succeeded.
2264
- * }
2265
- * }
2266
- *
2267
- * ...
2268
- *
2269
- * asio::ip::tcp::acceptor acceptor(my_context);
2270
- * ...
2271
- * asio::ip::tcp::endpoint endpoint;
2272
- * acceptor.async_accept(my_context2, endpoint, accept_handler);
2273
- * @endcode
2274
- */
2275
- template <typename Executor1,
2276
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2277
- typename Protocol::socket::template rebind_executor<
2278
- Executor1>::other)) MoveAcceptHandler
2279
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
2280
- ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
2281
- void (asio::error_code,
2282
- typename Protocol::socket::template rebind_executor<
2283
- Executor1>::other))
2284
- async_accept(const Executor1& ex, endpoint_type& peer_endpoint,
2285
- ASIO_MOVE_ARG(MoveAcceptHandler) handler
2286
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
2287
- typename enable_if<
2288
- is_executor<Executor1>::value
2289
- || execution::is_executor<Executor1>::value
2290
- >::type* = 0)
2291
- {
2292
- typedef typename Protocol::socket::template rebind_executor<
2293
- Executor1>::other other_socket_type;
2294
-
2295
- return async_initiate<MoveAcceptHandler,
2296
- void (asio::error_code, other_socket_type)>(
2297
- initiate_async_move_accept(this), handler,
2298
- ex, &peer_endpoint,
2299
- static_cast<other_socket_type*>(0));
2300
- }
2301
-
2302
- /// Start an asynchronous accept.
2303
- /**
2304
- * This function is used to asynchronously accept a new connection. The
2305
- * function call always returns immediately.
2306
- *
2307
- * This overload requires that the Protocol template parameter satisfy the
2308
- * AcceptableProtocol type requirements.
2309
- *
2310
- * @param context The I/O execution context object to be used for the newly
2311
- * accepted socket.
2312
- *
2313
- * @param peer_endpoint An endpoint object into which the endpoint of the
2314
- * remote peer will be written. Ownership of the peer_endpoint object is
2315
- * retained by the caller, which must guarantee that it is valid until the
2316
- * handler is called.
2317
- *
2318
- * @param handler The handler to be called when the accept operation
2319
- * completes. Copies will be made of the handler as required. The function
2320
- * signature of the handler must be:
2321
- * @code void handler(
2322
- * const asio::error_code& error, // Result of operation.
2323
- * typename Protocol::socket::template rebind_executor<
2324
- * typename ExecutionContext::executor_type>::other peer
2325
- * // On success, the newly accepted socket.
2326
- * ); @endcode
2327
- * Regardless of whether the asynchronous operation completes immediately or
2328
- * not, the handler will not be invoked from within this function. On
2329
- * immediate completion, invocation of the handler will be performed in a
2330
- * manner equivalent to using asio::post().
2331
- *
2332
- * @par Example
2333
- * @code
2334
- * void accept_handler(const asio::error_code& error,
2335
- * asio::ip::tcp::socket peer)
2336
- * {
2337
- * if (!error)
2338
- * {
2339
- * // Accept succeeded.
2340
- * }
2341
- * }
2342
- *
2343
- * ...
2344
- *
2345
- * asio::ip::tcp::acceptor acceptor(my_context);
2346
- * ...
2347
- * asio::ip::tcp::endpoint endpoint;
2348
- * acceptor.async_accept(my_context2, endpoint, accept_handler);
2349
- * @endcode
2350
- */
2351
- template <typename ExecutionContext,
2352
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2353
- typename Protocol::socket::template rebind_executor<
2354
- typename ExecutionContext::executor_type>::other)) MoveAcceptHandler
2355
- ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
2356
- ASIO_INITFN_AUTO_RESULT_TYPE(MoveAcceptHandler,
2357
- void (asio::error_code,
2358
- typename Protocol::socket::template rebind_executor<
2359
- typename ExecutionContext::executor_type>::other))
2360
- async_accept(ExecutionContext& context,
2361
- endpoint_type& peer_endpoint,
2362
- ASIO_MOVE_ARG(MoveAcceptHandler) handler
2363
- ASIO_DEFAULT_COMPLETION_TOKEN(executor_type),
2364
- typename enable_if<
2365
- is_convertible<ExecutionContext&, execution_context&>::value
2366
- >::type* = 0)
2367
- {
2368
- typedef typename Protocol::socket::template rebind_executor<
2369
- typename ExecutionContext::executor_type>::other other_socket_type;
2370
-
2371
- return async_initiate<MoveAcceptHandler,
2372
- void (asio::error_code, other_socket_type)>(
2373
- initiate_async_move_accept(this), handler,
2374
- context.get_executor(), &peer_endpoint,
2375
- static_cast<other_socket_type*>(0));
2376
- }
2377
- #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
2378
-
2379
- private:
2380
- // Disallow copying and assignment.
2381
- basic_socket_acceptor(const basic_socket_acceptor&) ASIO_DELETED;
2382
- basic_socket_acceptor& operator=(
2383
- const basic_socket_acceptor&) ASIO_DELETED;
2384
-
2385
- class initiate_async_wait
2386
- {
2387
- public:
2388
- typedef Executor executor_type;
2389
-
2390
- explicit initiate_async_wait(basic_socket_acceptor* self)
2391
- : self_(self)
2392
- {
2393
- }
2394
-
2395
- executor_type get_executor() const ASIO_NOEXCEPT
2396
- {
2397
- return self_->get_executor();
2398
- }
2399
-
2400
- template <typename WaitHandler>
2401
- void operator()(ASIO_MOVE_ARG(WaitHandler) handler, wait_type w) const
2402
- {
2403
- // If you get an error on the following line it means that your handler
2404
- // does not meet the documented type requirements for a WaitHandler.
2405
- ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
2406
-
2407
- detail::non_const_lvalue<WaitHandler> handler2(handler);
2408
- self_->impl_.get_service().async_wait(
2409
- self_->impl_.get_implementation(), w,
2410
- handler2.value, self_->impl_.get_executor());
2411
- }
2412
-
2413
- private:
2414
- basic_socket_acceptor* self_;
2415
- };
2416
-
2417
- class initiate_async_accept
2418
- {
2419
- public:
2420
- typedef Executor executor_type;
2421
-
2422
- explicit initiate_async_accept(basic_socket_acceptor* self)
2423
- : self_(self)
2424
- {
2425
- }
2426
-
2427
- executor_type get_executor() const ASIO_NOEXCEPT
2428
- {
2429
- return self_->get_executor();
2430
- }
2431
-
2432
- template <typename AcceptHandler, typename Protocol1, typename Executor1>
2433
- void operator()(ASIO_MOVE_ARG(AcceptHandler) handler,
2434
- basic_socket<Protocol1, Executor1>* peer,
2435
- endpoint_type* peer_endpoint) const
2436
- {
2437
- // If you get an error on the following line it means that your handler
2438
- // does not meet the documented type requirements for a AcceptHandler.
2439
- ASIO_ACCEPT_HANDLER_CHECK(AcceptHandler, handler) type_check;
2440
-
2441
- detail::non_const_lvalue<AcceptHandler> handler2(handler);
2442
- self_->impl_.get_service().async_accept(
2443
- self_->impl_.get_implementation(), *peer, peer_endpoint,
2444
- handler2.value, self_->impl_.get_executor());
2445
- }
2446
-
2447
- private:
2448
- basic_socket_acceptor* self_;
2449
- };
2450
-
2451
- class initiate_async_move_accept
2452
- {
2453
- public:
2454
- typedef Executor executor_type;
2455
-
2456
- explicit initiate_async_move_accept(basic_socket_acceptor* self)
2457
- : self_(self)
2458
- {
2459
- }
2460
-
2461
- executor_type get_executor() const ASIO_NOEXCEPT
2462
- {
2463
- return self_->get_executor();
2464
- }
2465
-
2466
- template <typename MoveAcceptHandler, typename Executor1, typename Socket>
2467
- void operator()(ASIO_MOVE_ARG(MoveAcceptHandler) handler,
2468
- const Executor1& peer_ex, endpoint_type* peer_endpoint, Socket*) const
2469
- {
2470
- // If you get an error on the following line it means that your handler
2471
- // does not meet the documented type requirements for a MoveAcceptHandler.
2472
- ASIO_MOVE_ACCEPT_HANDLER_CHECK(
2473
- MoveAcceptHandler, handler, Socket) type_check;
2474
-
2475
- detail::non_const_lvalue<MoveAcceptHandler> handler2(handler);
2476
- self_->impl_.get_service().async_move_accept(
2477
- self_->impl_.get_implementation(), peer_ex, peer_endpoint,
2478
- handler2.value, self_->impl_.get_executor());
2479
- }
2480
-
2481
- private:
2482
- basic_socket_acceptor* self_;
2483
- };
2484
-
2485
- #if defined(ASIO_WINDOWS_RUNTIME)
2486
- detail::io_object_impl<
2487
- detail::null_socket_service<Protocol>, Executor> impl_;
2488
- #elif defined(ASIO_HAS_IOCP)
2489
- detail::io_object_impl<
2490
- detail::win_iocp_socket_service<Protocol>, Executor> impl_;
2491
- #else
2492
- detail::io_object_impl<
2493
- detail::reactive_socket_service<Protocol>, Executor> impl_;
2494
- #endif
2495
- };
2496
-
2497
- } // namespace asio
2498
-
2499
- #include "asio/detail/pop_options.hpp"
2500
-
2501
- #endif // ASIO_BASIC_SOCKET_ACCEPTOR_HPP