couchbase 3.0.0.alpha.5-x86_64-linux → 3.5.0-x86_64-linux

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