couchbase 3.0.0.alpha.4-universal-darwin-19 → 3.0.2-universal-darwin-19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +76 -5
  3. data/ext/extconf.rb +0 -47
  4. data/lib/couchbase.rb +1 -1
  5. data/lib/couchbase/analytics_options.rb +1 -59
  6. data/lib/couchbase/authenticator.rb +14 -0
  7. data/lib/couchbase/binary_collection.rb +61 -23
  8. data/lib/couchbase/binary_collection_options.rb +0 -74
  9. data/lib/couchbase/bucket.rb +47 -40
  10. data/lib/couchbase/cluster.rb +226 -133
  11. data/lib/couchbase/collection.rb +314 -86
  12. data/lib/couchbase/collection_options.rb +98 -231
  13. data/{bin/console → lib/couchbase/datastructures.rb} +4 -7
  14. data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
  15. data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
  16. data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
  17. data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
  18. data/lib/couchbase/diagnostics.rb +181 -0
  19. data/lib/couchbase/errors.rb +79 -66
  20. data/lib/couchbase/json_transcoder.rb +3 -3
  21. data/lib/couchbase/libcouchbase.bundle +0 -0
  22. data/lib/couchbase/{common_options.rb → logger.rb} +25 -12
  23. data/lib/couchbase/management/analytics_index_manager.rb +37 -37
  24. data/lib/couchbase/management/bucket_manager.rb +61 -28
  25. data/lib/couchbase/management/collection_manager.rb +3 -3
  26. data/lib/couchbase/management/query_index_manager.rb +60 -15
  27. data/lib/couchbase/management/search_index_manager.rb +57 -13
  28. data/lib/couchbase/management/user_manager.rb +160 -50
  29. data/lib/couchbase/management/view_index_manager.rb +11 -5
  30. data/lib/couchbase/mutation_state.rb +13 -0
  31. data/lib/couchbase/options.rb +2094 -0
  32. data/lib/couchbase/query_options.rb +6 -105
  33. data/lib/couchbase/scope.rb +45 -8
  34. data/lib/couchbase/search_options.rb +98 -103
  35. data/lib/couchbase/subdoc.rb +87 -23
  36. data/lib/couchbase/version.rb +21 -2
  37. data/lib/couchbase/view_options.rb +4 -94
  38. metadata +19 -2150
  39. data/.github/workflows/tests-6.0.3.yml +0 -52
  40. data/.github/workflows/tests-dev-preview.yml +0 -55
  41. data/.github/workflows/tests.yml +0 -50
  42. data/.gitignore +0 -20
  43. data/.gitmodules +0 -21
  44. data/.idea/.gitignore +0 -5
  45. data/.idea/dictionaries/gem_terms.xml +0 -18
  46. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  47. data/.idea/vcs.xml +0 -13
  48. data/.yardopts +0 -1
  49. data/Gemfile +0 -24
  50. data/Rakefile +0 -51
  51. data/bin/check-cluster +0 -31
  52. data/bin/init-cluster +0 -82
  53. data/bin/setup +0 -24
  54. data/couchbase.gemspec +0 -47
  55. data/examples/analytics.rb +0 -221
  56. data/examples/crud.rb +0 -20
  57. data/examples/managing_analytics_indexes.rb +0 -72
  58. data/examples/managing_buckets.rb +0 -47
  59. data/examples/managing_collections.rb +0 -58
  60. data/examples/managing_query_indexes.rb +0 -63
  61. data/examples/managing_search_indexes.rb +0 -62
  62. data/examples/managing_view_indexes.rb +0 -54
  63. data/examples/query.rb +0 -18
  64. data/examples/query_with_consistency.rb +0 -76
  65. data/examples/search.rb +0 -187
  66. data/examples/search_with_consistency.rb +0 -84
  67. data/examples/subdocument.rb +0 -51
  68. data/examples/view.rb +0 -50
  69. data/ext/.clang-format +0 -15
  70. data/ext/.clang-tidy +0 -22
  71. data/ext/.cmake-format.yaml +0 -8
  72. data/ext/.gitignore +0 -2
  73. data/ext/.idea/.name +0 -1
  74. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  75. data/ext/.idea/ext.iml +0 -2
  76. data/ext/.idea/misc.xml +0 -4
  77. data/ext/.idea/modules.xml +0 -8
  78. data/ext/.idea/vcs.xml +0 -12
  79. data/ext/CMakeLists.txt +0 -163
  80. data/ext/LICENSE.txt +0 -202
  81. data/ext/build_version.hxx.in +0 -26
  82. data/ext/couchbase/bucket.hxx +0 -95
  83. data/ext/couchbase/cbcrypto/cbcrypto.cc +0 -888
  84. data/ext/couchbase/cbcrypto/cbcrypto.h +0 -89
  85. data/ext/couchbase/cbsasl/client.cc +0 -48
  86. data/ext/couchbase/cbsasl/client.h +0 -127
  87. data/ext/couchbase/cbsasl/context.cc +0 -33
  88. data/ext/couchbase/cbsasl/context.h +0 -52
  89. data/ext/couchbase/cbsasl/error.h +0 -72
  90. data/ext/couchbase/cbsasl/mechanism.cc +0 -48
  91. data/ext/couchbase/cbsasl/mechanism.h +0 -55
  92. data/ext/couchbase/cbsasl/plain/plain.cc +0 -36
  93. data/ext/couchbase/cbsasl/plain/plain.h +0 -53
  94. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +0 -390
  95. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +0 -185
  96. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +0 -81
  97. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +0 -48
  98. data/ext/couchbase/cluster.hxx +0 -175
  99. data/ext/couchbase/collections_manifest.hxx +0 -88
  100. data/ext/couchbase/configuration.hxx +0 -256
  101. data/ext/couchbase/configuration_monitor.hxx +0 -93
  102. data/ext/couchbase/couchbase.cxx +0 -5336
  103. data/ext/couchbase/document_id.hxx +0 -38
  104. data/ext/couchbase/error_map.hxx +0 -61
  105. data/ext/couchbase/errors.hxx +0 -691
  106. data/ext/couchbase/io/dns_client.hxx +0 -215
  107. data/ext/couchbase/io/dns_codec.hxx +0 -207
  108. data/ext/couchbase/io/dns_config.hxx +0 -116
  109. data/ext/couchbase/io/dns_message.hxx +0 -558
  110. data/ext/couchbase/io/http_message.hxx +0 -38
  111. data/ext/couchbase/io/http_parser.hxx +0 -174
  112. data/ext/couchbase/io/http_session.hxx +0 -316
  113. data/ext/couchbase/io/mcbp_message.hxx +0 -41
  114. data/ext/couchbase/io/mcbp_parser.hxx +0 -101
  115. data/ext/couchbase/io/mcbp_session.hxx +0 -889
  116. data/ext/couchbase/io/session_manager.hxx +0 -127
  117. data/ext/couchbase/mutation_token.hxx +0 -38
  118. data/ext/couchbase/operations.hxx +0 -91
  119. data/ext/couchbase/operations/analytics_dataset_create.hxx +0 -117
  120. data/ext/couchbase/operations/analytics_dataset_drop.hxx +0 -103
  121. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +0 -107
  122. data/ext/couchbase/operations/analytics_dataverse_create.hxx +0 -104
  123. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +0 -104
  124. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +0 -91
  125. data/ext/couchbase/operations/analytics_index_create.hxx +0 -128
  126. data/ext/couchbase/operations/analytics_index_drop.hxx +0 -110
  127. data/ext/couchbase/operations/analytics_index_get_all.hxx +0 -106
  128. data/ext/couchbase/operations/analytics_link_connect.hxx +0 -102
  129. data/ext/couchbase/operations/analytics_link_disconnect.hxx +0 -101
  130. data/ext/couchbase/operations/bucket_create.hxx +0 -139
  131. data/ext/couchbase/operations/bucket_drop.hxx +0 -66
  132. data/ext/couchbase/operations/bucket_flush.hxx +0 -66
  133. data/ext/couchbase/operations/bucket_get.hxx +0 -70
  134. data/ext/couchbase/operations/bucket_get_all.hxx +0 -63
  135. data/ext/couchbase/operations/bucket_settings.hxx +0 -111
  136. data/ext/couchbase/operations/bucket_update.hxx +0 -116
  137. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +0 -61
  138. data/ext/couchbase/operations/collection_create.hxx +0 -91
  139. data/ext/couchbase/operations/collection_drop.hxx +0 -83
  140. data/ext/couchbase/operations/command.hxx +0 -152
  141. data/ext/couchbase/operations/design_document.hxx +0 -59
  142. data/ext/couchbase/operations/document_analytics.hxx +0 -293
  143. data/ext/couchbase/operations/document_decrement.hxx +0 -81
  144. data/ext/couchbase/operations/document_exists.hxx +0 -81
  145. data/ext/couchbase/operations/document_get.hxx +0 -63
  146. data/ext/couchbase/operations/document_get_and_lock.hxx +0 -65
  147. data/ext/couchbase/operations/document_get_and_touch.hxx +0 -65
  148. data/ext/couchbase/operations/document_get_projected.hxx +0 -243
  149. data/ext/couchbase/operations/document_increment.hxx +0 -83
  150. data/ext/couchbase/operations/document_insert.hxx +0 -75
  151. data/ext/couchbase/operations/document_lookup_in.hxx +0 -86
  152. data/ext/couchbase/operations/document_mutate_in.hxx +0 -97
  153. data/ext/couchbase/operations/document_query.hxx +0 -336
  154. data/ext/couchbase/operations/document_remove.hxx +0 -68
  155. data/ext/couchbase/operations/document_replace.hxx +0 -77
  156. data/ext/couchbase/operations/document_search.hxx +0 -355
  157. data/ext/couchbase/operations/document_touch.hxx +0 -61
  158. data/ext/couchbase/operations/document_unlock.hxx +0 -61
  159. data/ext/couchbase/operations/document_upsert.hxx +0 -75
  160. data/ext/couchbase/operations/document_view.hxx +0 -227
  161. data/ext/couchbase/operations/query_index_build_deferred.hxx +0 -86
  162. data/ext/couchbase/operations/query_index_create.hxx +0 -135
  163. data/ext/couchbase/operations/query_index_drop.hxx +0 -109
  164. data/ext/couchbase/operations/query_index_get_all.hxx +0 -107
  165. data/ext/couchbase/operations/scope_create.hxx +0 -82
  166. data/ext/couchbase/operations/scope_drop.hxx +0 -80
  167. data/ext/couchbase/operations/scope_get_all.hxx +0 -74
  168. data/ext/couchbase/operations/search_index.hxx +0 -79
  169. data/ext/couchbase/operations/search_index_analyze_document.hxx +0 -92
  170. data/ext/couchbase/operations/search_index_control_ingest.hxx +0 -80
  171. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +0 -80
  172. data/ext/couchbase/operations/search_index_control_query.hxx +0 -80
  173. data/ext/couchbase/operations/search_index_drop.hxx +0 -77
  174. data/ext/couchbase/operations/search_index_get.hxx +0 -80
  175. data/ext/couchbase/operations/search_index_get_all.hxx +0 -82
  176. data/ext/couchbase/operations/search_index_get_documents_count.hxx +0 -81
  177. data/ext/couchbase/operations/search_index_upsert.hxx +0 -106
  178. data/ext/couchbase/operations/view_index_drop.hxx +0 -67
  179. data/ext/couchbase/operations/view_index_get.hxx +0 -90
  180. data/ext/couchbase/operations/view_index_get_all.hxx +0 -125
  181. data/ext/couchbase/operations/view_index_upsert.hxx +0 -87
  182. data/ext/couchbase/platform/base64.cc +0 -234
  183. data/ext/couchbase/platform/base64.h +0 -47
  184. data/ext/couchbase/platform/random.cc +0 -119
  185. data/ext/couchbase/platform/random.h +0 -39
  186. data/ext/couchbase/platform/string_hex.cc +0 -99
  187. data/ext/couchbase/platform/string_hex.h +0 -50
  188. data/ext/couchbase/platform/uuid.cc +0 -96
  189. data/ext/couchbase/platform/uuid.h +0 -56
  190. data/ext/couchbase/protocol/client_opcode.hxx +0 -260
  191. data/ext/couchbase/protocol/client_request.hxx +0 -160
  192. data/ext/couchbase/protocol/client_response.hxx +0 -218
  193. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +0 -81
  194. data/ext/couchbase/protocol/cmd_decrement.hxx +0 -187
  195. data/ext/couchbase/protocol/cmd_exists.hxx +0 -171
  196. data/ext/couchbase/protocol/cmd_get.hxx +0 -122
  197. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +0 -142
  198. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +0 -142
  199. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +0 -124
  200. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +0 -117
  201. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +0 -99
  202. data/ext/couchbase/protocol/cmd_get_error_map.hxx +0 -126
  203. data/ext/couchbase/protocol/cmd_hello.hxx +0 -146
  204. data/ext/couchbase/protocol/cmd_increment.hxx +0 -187
  205. data/ext/couchbase/protocol/cmd_info.hxx +0 -36
  206. data/ext/couchbase/protocol/cmd_insert.hxx +0 -172
  207. data/ext/couchbase/protocol/cmd_lookup_in.hxx +0 -218
  208. data/ext/couchbase/protocol/cmd_mutate_in.hxx +0 -317
  209. data/ext/couchbase/protocol/cmd_remove.hxx +0 -134
  210. data/ext/couchbase/protocol/cmd_replace.hxx +0 -172
  211. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +0 -106
  212. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +0 -100
  213. data/ext/couchbase/protocol/cmd_sasl_step.hxx +0 -104
  214. data/ext/couchbase/protocol/cmd_select_bucket.hxx +0 -85
  215. data/ext/couchbase/protocol/cmd_touch.hxx +0 -102
  216. data/ext/couchbase/protocol/cmd_unlock.hxx +0 -95
  217. data/ext/couchbase/protocol/cmd_upsert.hxx +0 -172
  218. data/ext/couchbase/protocol/datatype.hxx +0 -48
  219. data/ext/couchbase/protocol/durability_level.hxx +0 -67
  220. data/ext/couchbase/protocol/frame_info_id.hxx +0 -187
  221. data/ext/couchbase/protocol/hello_feature.hxx +0 -255
  222. data/ext/couchbase/protocol/magic.hxx +0 -83
  223. data/ext/couchbase/protocol/server_opcode.hxx +0 -57
  224. data/ext/couchbase/protocol/server_request.hxx +0 -122
  225. data/ext/couchbase/protocol/status.hxx +0 -333
  226. data/ext/couchbase/protocol/unsigned_leb128.h +0 -195
  227. data/ext/couchbase/service_type.hxx +0 -60
  228. data/ext/couchbase/timeout_defaults.hxx +0 -34
  229. data/ext/couchbase/utils/byteswap.hxx +0 -33
  230. data/ext/couchbase/utils/connection_string.hxx +0 -231
  231. data/ext/couchbase/utils/crc32.hxx +0 -48
  232. data/ext/couchbase/utils/url_codec.hxx +0 -225
  233. data/ext/couchbase/version.hxx +0 -24
  234. data/ext/test/main.cxx +0 -58
  235. data/ext/third_party/asio/.appveyor.yml +0 -107
  236. data/ext/third_party/asio/.cirrus.yml +0 -16
  237. data/ext/third_party/asio/.gitignore +0 -3
  238. data/ext/third_party/asio/.travis.yml +0 -323
  239. data/ext/third_party/asio/asio/.gitignore +0 -23
  240. data/ext/third_party/asio/asio/COPYING +0 -4
  241. data/ext/third_party/asio/asio/INSTALL +0 -5
  242. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  243. data/ext/third_party/asio/asio/Makefile.am +0 -19
  244. data/ext/third_party/asio/asio/README +0 -4
  245. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  246. data/ext/third_party/asio/asio/autogen.sh +0 -55
  247. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  248. data/ext/third_party/asio/asio/boostify.pl +0 -603
  249. data/ext/third_party/asio/asio/configure.ac +0 -182
  250. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  251. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  252. data/ext/third_party/asio/asio/include/asio.hpp +0 -147
  253. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +0 -131
  254. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +0 -149
  255. data/ext/third_party/asio/asio/include/asio/async_result.hpp +0 -589
  256. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +0 -123
  257. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1210
  258. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +0 -693
  259. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +0 -290
  260. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +0 -1202
  261. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -756
  262. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +0 -907
  263. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +0 -568
  264. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +0 -1894
  265. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2495
  266. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +0 -407
  267. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -687
  268. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +0 -1049
  269. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +0 -452
  270. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  271. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +0 -763
  272. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +0 -580
  273. data/ext/third_party/asio/asio/include/asio/buffer.hpp +0 -2494
  274. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +0 -253
  275. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  276. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +0 -279
  277. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  278. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +0 -245
  279. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  280. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  281. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +0 -100
  282. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +0 -218
  283. data/ext/third_party/asio/asio/include/asio/compose.hpp +0 -136
  284. data/ext/third_party/asio/asio/include/asio/connect.hpp +0 -1076
  285. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +0 -328
  286. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +0 -38
  287. data/ext/third_party/asio/asio/include/asio/defer.hpp +0 -127
  288. data/ext/third_party/asio/asio/include/asio/detached.hpp +0 -62
  289. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +0 -38
  290. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +0 -34
  291. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +0 -32
  292. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +0 -45
  293. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  294. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +0 -816
  295. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  296. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -544
  297. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  298. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  299. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +0 -66
  300. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  301. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +0 -83
  302. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  303. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -112
  304. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  305. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +0 -1499
  306. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -414
  307. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +0 -31
  308. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +0 -60
  309. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  310. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -280
  311. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  312. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -121
  313. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -130
  314. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -130
  315. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -218
  316. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -266
  317. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +0 -48
  318. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  319. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +0 -104
  320. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  321. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  322. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +0 -80
  323. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +0 -38
  324. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +0 -33
  325. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +0 -91
  326. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +0 -68
  327. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +0 -65
  328. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +0 -99
  329. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +0 -52
  330. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -242
  331. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  332. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +0 -57
  333. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +0 -238
  334. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -556
  335. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +0 -113
  336. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  337. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  338. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -474
  339. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -91
  340. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -446
  341. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -89
  342. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -787
  343. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -169
  344. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -358
  345. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -93
  346. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -570
  347. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  348. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  349. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -59
  350. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  351. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  352. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  353. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -223
  354. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +0 -152
  355. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -300
  356. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  357. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -617
  358. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -100
  359. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -338
  360. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -94
  361. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  362. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -667
  363. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3575
  364. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  365. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -179
  366. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -134
  367. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -118
  368. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -177
  369. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -60
  370. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -91
  371. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  372. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  373. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -525
  374. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -103
  375. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -594
  376. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -192
  377. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -801
  378. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  379. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -448
  380. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  381. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  382. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  383. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  384. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  385. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  386. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  387. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +0 -84
  388. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  389. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +0 -193
  390. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -312
  391. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  392. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  393. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -242
  394. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +0 -26
  395. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  396. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +0 -62
  397. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +0 -70
  398. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +0 -48
  399. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -54
  400. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  401. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +0 -100
  402. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  403. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +0 -59
  404. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +0 -64
  405. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +0 -68
  406. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  407. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  408. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  409. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  410. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  411. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  412. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  413. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  414. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +0 -38
  415. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  416. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +0 -141
  417. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +0 -162
  418. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  419. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  420. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  421. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  422. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  423. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  424. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  425. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +0 -185
  426. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -391
  427. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -92
  428. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +0 -238
  429. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -230
  430. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -116
  431. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -137
  432. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -142
  433. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -135
  434. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -136
  435. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -134
  436. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -505
  437. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -518
  438. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -92
  439. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +0 -32
  440. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +0 -40
  441. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +0 -65
  442. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -168
  443. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -106
  444. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  445. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -138
  446. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  447. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -148
  448. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +0 -145
  449. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -143
  450. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +0 -224
  451. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  452. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  453. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  454. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  455. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  456. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +0 -238
  457. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +0 -164
  458. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  459. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +0 -88
  460. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  461. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +0 -49
  462. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +0 -229
  463. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  464. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +0 -337
  465. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  466. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  467. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +0 -416
  468. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +0 -62
  469. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +0 -52
  470. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +0 -176
  471. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -62
  472. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +0 -70
  473. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +0 -73
  474. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -81
  475. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +0 -71
  476. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -142
  477. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +0 -142
  478. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +0 -47
  479. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +0 -60
  480. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +0 -42
  481. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +0 -95
  482. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +0 -125
  483. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +0 -53
  484. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +0 -51
  485. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +0 -360
  486. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  487. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -99
  488. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  489. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -35
  490. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -40
  491. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  492. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +0 -89
  493. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +0 -151
  494. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +0 -87
  495. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +0 -45
  496. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +0 -151
  497. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  498. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +0 -90
  499. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +0 -71
  500. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -113
  501. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -335
  502. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -106
  503. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -338
  504. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -123
  505. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  506. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -92
  507. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -159
  508. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -232
  509. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -308
  510. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -130
  511. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -120
  512. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -129
  513. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -121
  514. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -114
  515. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -581
  516. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -600
  517. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  518. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -123
  519. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  520. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -195
  521. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  522. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  523. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  524. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  525. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  526. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  527. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  528. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -121
  529. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  530. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -94
  531. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -115
  532. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -106
  533. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  534. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  535. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  536. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  537. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  538. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -73
  539. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -291
  540. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +0 -118
  541. data/ext/third_party/asio/asio/include/asio/error.hpp +0 -356
  542. data/ext/third_party/asio/asio/include/asio/error_code.hpp +0 -202
  543. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +0 -412
  544. data/ext/third_party/asio/asio/include/asio/executor.hpp +0 -341
  545. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +0 -170
  546. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -193
  547. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  548. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  549. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  550. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  551. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  552. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  553. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +0 -81
  554. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  555. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +0 -85
  556. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +0 -44
  557. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +0 -422
  558. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -491
  559. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -471
  560. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +0 -160
  561. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +0 -533
  562. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +0 -872
  563. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +0 -113
  564. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +0 -130
  565. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +0 -113
  566. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +0 -128
  567. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +0 -206
  568. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +0 -109
  569. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  570. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +0 -387
  571. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +0 -38
  572. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +0 -52
  573. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +0 -353
  574. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +0 -175
  575. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +0 -113
  576. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +0 -1135
  577. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +0 -699
  578. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +0 -3150
  579. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +0 -372
  580. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  581. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  582. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +0 -490
  583. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  584. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +0 -82
  585. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +0 -34
  586. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +0 -80
  587. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +0 -85
  588. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +0 -127
  589. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +0 -87
  590. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +0 -276
  591. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +0 -887
  592. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +0 -1043
  593. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +0 -624
  594. data/ext/third_party/asio/asio/include/asio/io_context.hpp +0 -872
  595. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +0 -374
  596. data/ext/third_party/asio/asio/include/asio/io_service.hpp +0 -33
  597. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +0 -20
  598. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +0 -268
  599. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +0 -335
  600. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -162
  601. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +0 -134
  602. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +0 -341
  603. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -183
  604. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +0 -129
  605. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -53
  606. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -264
  607. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1030
  608. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  609. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -192
  610. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  611. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -311
  612. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  613. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -199
  614. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  615. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +0 -42
  616. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +0 -115
  617. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  618. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +0 -239
  619. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  620. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -210
  621. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  622. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -350
  623. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  624. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  625. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  626. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -216
  627. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  628. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -185
  629. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +0 -191
  630. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +0 -261
  631. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +0 -235
  632. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  633. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  634. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +0 -155
  635. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +0 -111
  636. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +0 -70
  637. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  638. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +0 -46
  639. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  640. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  641. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +0 -247
  642. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  643. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  644. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  645. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -136
  646. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  647. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +0 -126
  648. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +0 -151
  649. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -697
  650. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -470
  651. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  652. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  653. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  654. data/ext/third_party/asio/asio/include/asio/post.hpp +0 -123
  655. data/ext/third_party/asio/asio/include/asio/read.hpp +0 -1288
  656. data/ext/third_party/asio/asio/include/asio/read_at.hpp +0 -694
  657. data/ext/third_party/asio/asio/include/asio/read_until.hpp +0 -2863
  658. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +0 -66
  659. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +0 -36
  660. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +0 -167
  661. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +0 -28
  662. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +0 -559
  663. data/ext/third_party/asio/asio/include/asio/spawn.hpp +0 -336
  664. data/ext/third_party/asio/asio/include/asio/ssl.hpp +0 -28
  665. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +0 -761
  666. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  667. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -114
  668. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +0 -160
  669. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -62
  670. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -336
  671. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -165
  672. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +0 -381
  673. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  674. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  675. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  676. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -67
  677. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -64
  678. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -135
  679. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  680. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -67
  681. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +0 -125
  682. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  683. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  684. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +0 -1238
  685. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +0 -102
  686. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  687. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  688. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  689. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  690. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +0 -885
  691. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  692. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  693. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  694. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +0 -42
  695. data/ext/third_party/asio/asio/include/asio/strand.hpp +0 -314
  696. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +0 -33
  697. data/ext/third_party/asio/asio/include/asio/system_context.hpp +0 -81
  698. data/ext/third_party/asio/asio/include/asio/system_error.hpp +0 -131
  699. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +0 -129
  700. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +0 -42
  701. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +0 -45
  702. data/ext/third_party/asio/asio/include/asio/thread.hpp +0 -92
  703. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +0 -235
  704. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +0 -86
  705. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +0 -24
  706. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +0 -34
  707. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +0 -40
  708. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +0 -20
  709. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +0 -26
  710. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +0 -203
  711. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +0 -27
  712. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +0 -26
  713. data/ext/third_party/asio/asio/include/asio/unyield.hpp +0 -21
  714. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +0 -110
  715. data/ext/third_party/asio/asio/include/asio/use_future.hpp +0 -160
  716. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +0 -71
  717. data/ext/third_party/asio/asio/include/asio/version.hpp +0 -23
  718. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +0 -56
  719. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -435
  720. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -361
  721. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -490
  722. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -474
  723. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  724. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  725. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -143
  726. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  727. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  728. data/ext/third_party/asio/asio/include/asio/write.hpp +0 -1246
  729. data/ext/third_party/asio/asio/include/asio/write_at.hpp +0 -702
  730. data/ext/third_party/asio/asio/include/asio/yield.hpp +0 -23
  731. data/ext/third_party/asio/asio/release.pl +0 -440
  732. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  733. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  734. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  735. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  736. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  737. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  738. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  739. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  740. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  741. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  742. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  743. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  744. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  745. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  746. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  747. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  748. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  749. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  750. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  751. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  752. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  753. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  754. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  755. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  756. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  757. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  758. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  759. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  760. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  761. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  762. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  763. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  764. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  765. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  766. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  767. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  768. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  769. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  770. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  771. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  772. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  773. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  774. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  775. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  776. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  777. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  778. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  779. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  780. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  781. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  782. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  783. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  784. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  785. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  786. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  787. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  788. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  789. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  790. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  791. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  792. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  793. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  794. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  795. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  796. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  797. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  798. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  799. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  800. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  801. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  802. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  803. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  804. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  805. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  806. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  807. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  808. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  809. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  810. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  811. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  812. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  813. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  814. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  815. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  816. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  817. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  818. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  819. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  820. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  821. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  822. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  823. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  824. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  825. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  826. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  827. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  828. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  829. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  830. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  831. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  832. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  833. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  834. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  835. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  836. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  837. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  838. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  839. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  840. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  841. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  842. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  843. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  844. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  845. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  846. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  847. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  848. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  849. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  850. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  851. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  852. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  853. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  854. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  855. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  856. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  857. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  858. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  859. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  860. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  861. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  862. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  863. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  864. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  865. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  866. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  867. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  868. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  869. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  870. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  871. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  872. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  873. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  874. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  875. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  876. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  877. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  878. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  879. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  880. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  881. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  882. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  883. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  884. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  885. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  886. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  887. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  888. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  889. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  890. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  891. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  892. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  893. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  894. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  895. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  896. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  897. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  898. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  899. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  900. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  901. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  902. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  903. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  904. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  905. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  906. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  907. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  908. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  909. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  910. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  911. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  912. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  913. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  914. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  915. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  916. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  917. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  918. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  919. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  944. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  945. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  946. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  947. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  948. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  949. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  950. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  951. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  952. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  953. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  954. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  955. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  956. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  957. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  958. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  959. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  960. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  961. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  962. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  963. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  964. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  965. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  966. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  967. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  968. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  969. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  970. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  971. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  972. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  973. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  974. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  975. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  976. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  977. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  978. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  979. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  980. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  981. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  982. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  983. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  984. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  985. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  986. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  987. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  988. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  989. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  990. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  991. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  992. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  993. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  994. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  995. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  996. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  997. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  998. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  999. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1029. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1030. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1031. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1032. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1033. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1034. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1035. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1036. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1037. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1038. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1039. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1040. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1041. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1042. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1043. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1044. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1045. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1046. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1047. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1048. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1049. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1050. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1051. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1052. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1053. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1054. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1055. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1056. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1057. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1058. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1059. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1060. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1061. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1062. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1063. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1064. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1065. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1066. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1067. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1068. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1069. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1070. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1071. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1072. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1073. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1074. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1075. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1076. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1077. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1120. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1121. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1122. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1123. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1124. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1125. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1126. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1127. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1128. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1129. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1130. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1131. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1132. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1133. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1134. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1135. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1136. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1137. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1138. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1139. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1140. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1141. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1142. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1143. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1144. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1145. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1146. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1147. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1148. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1149. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1150. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1151. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1152. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1153. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1154. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1155. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1156. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1157. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1158. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1159. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1160. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1161. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1162. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1163. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1164. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1165. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1166. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1167. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1168. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1169. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1170. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1171. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1172. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1173. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1174. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1175. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1176. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1177. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1178. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1179. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1180. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1181. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1182. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1183. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1184. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1185. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1186. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1187. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1188. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1189. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1190. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1191. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1192. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1193. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1194. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1195. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1196. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1197. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1198. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1199. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1200. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1201. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1202. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1203. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1204. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1205. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1206. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1207. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1208. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1209. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1210. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1211. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1212. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1213. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1214. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1215. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1216. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1217. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1218. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1219. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1220. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1221. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1222. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1224. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1225. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1226. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1227. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1228. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1230. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1231. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1232. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1233. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1234. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1235. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1236. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1238. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1239. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1240. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1241. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1242. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1243. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1245. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1246. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1247. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1248. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1249. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1250. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1251. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1252. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1253. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1254. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1255. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1256. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1257. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1258. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1259. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1260. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1261. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1262. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1263. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1264. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1265. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1266. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1267. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1268. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1269. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1270. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1271. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1272. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1273. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1274. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1275. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1276. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1277. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1278. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1279. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1280. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1281. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1282. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1283. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1284. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1285. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1286. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1287. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1288. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1289. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1291. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1292. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1294. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1295. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1296. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1297. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1298. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1299. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1300. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1301. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1302. data/ext/third_party/gsl/.clang-format +0 -34
  1303. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1304. data/ext/third_party/gsl/.gitignore +0 -16
  1305. data/ext/third_party/gsl/.travis.yml +0 -551
  1306. data/ext/third_party/gsl/CMakeLists.txt +0 -119
  1307. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1308. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1309. data/ext/third_party/gsl/GSL.natvis +0 -98
  1310. data/ext/third_party/gsl/LICENSE +0 -21
  1311. data/ext/third_party/gsl/README.md +0 -124
  1312. data/ext/third_party/gsl/ThirdPartyNotices.txt +0 -41
  1313. data/ext/third_party/gsl/appveyor.yml +0 -128
  1314. data/ext/third_party/gsl/include/gsl/gsl +0 -29
  1315. data/ext/third_party/gsl/include/gsl/gsl_algorithm +0 -61
  1316. data/ext/third_party/gsl/include/gsl/gsl_assert +0 -133
  1317. data/ext/third_party/gsl/include/gsl/gsl_byte +0 -209
  1318. data/ext/third_party/gsl/include/gsl/gsl_util +0 -171
  1319. data/ext/third_party/gsl/include/gsl/multi_span +0 -2273
  1320. data/ext/third_party/gsl/include/gsl/pointers +0 -301
  1321. data/ext/third_party/gsl/include/gsl/span +0 -764
  1322. data/ext/third_party/gsl/include/gsl/span_ext +0 -198
  1323. data/ext/third_party/gsl/include/gsl/string_span +0 -716
  1324. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1325. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1326. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1327. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1328. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1329. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1330. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1331. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1332. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1333. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1334. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1335. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1336. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1337. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1338. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1339. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1340. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1341. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1342. data/ext/third_party/http_parser/.gitignore +0 -30
  1343. data/ext/third_party/http_parser/.mailmap +0 -8
  1344. data/ext/third_party/http_parser/.travis.yml +0 -13
  1345. data/ext/third_party/http_parser/AUTHORS +0 -68
  1346. data/ext/third_party/http_parser/LICENSE-MIT +0 -19
  1347. data/ext/third_party/http_parser/README.md +0 -246
  1348. data/ext/third_party/http_parser/bench.c +0 -128
  1349. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1350. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1351. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1352. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1353. data/ext/third_party/http_parser/http_parser.c +0 -2568
  1354. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1355. data/ext/third_party/http_parser/http_parser.h +0 -447
  1356. data/ext/third_party/http_parser/test.c +0 -4600
  1357. data/ext/third_party/json/.appveyor.yml +0 -44
  1358. data/ext/third_party/json/.clang-format +0 -84
  1359. data/ext/third_party/json/.conan/build.py +0 -80
  1360. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1361. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1362. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1363. data/ext/third_party/json/.gitignore +0 -3
  1364. data/ext/third_party/json/.travis.yml +0 -173
  1365. data/ext/third_party/json/CMakeLists.txt +0 -44
  1366. data/ext/third_party/json/LICENSE +0 -21
  1367. data/ext/third_party/json/LICENSE.double-conversion +0 -32
  1368. data/ext/third_party/json/LICENSE.itoa +0 -19
  1369. data/ext/third_party/json/LICENSE.ryu +0 -201
  1370. data/ext/third_party/json/README.md +0 -149
  1371. data/ext/third_party/json/conanfile.py +0 -28
  1372. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1373. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1374. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1375. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1376. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1377. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1378. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1379. data/ext/third_party/json/doc/Changelog.md +0 -31
  1380. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1381. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1382. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1383. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1384. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1385. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1386. data/ext/third_party/json/doc/Overview.md +0 -24
  1387. data/ext/third_party/json/doc/Overview.png +0 -0
  1388. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1389. data/ext/third_party/json/doc/README.md +0 -78
  1390. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1391. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1392. data/ext/third_party/json/doc/Types.png +0 -0
  1393. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1394. data/ext/third_party/json/include/tao/json.hpp +0 -45
  1395. data/ext/third_party/json/include/tao/json/basic_value.hpp +0 -941
  1396. data/ext/third_party/json/include/tao/json/binary.hpp +0 -103
  1397. data/ext/third_party/json/include/tao/json/binary_view.hpp +0 -31
  1398. data/ext/third_party/json/include/tao/json/binding.hpp +0 -71
  1399. data/ext/third_party/json/include/tao/json/binding/constant.hpp +0 -232
  1400. data/ext/third_party/json/include/tao/json/binding/element.hpp +0 -182
  1401. data/ext/third_party/json/include/tao/json/binding/factory.hpp +0 -250
  1402. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +0 -17
  1403. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +0 -17
  1404. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +0 -14
  1405. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +0 -103
  1406. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +0 -45
  1407. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +0 -267
  1408. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +0 -54
  1409. data/ext/third_party/json/include/tao/json/binding/member.hpp +0 -32
  1410. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +0 -17
  1411. data/ext/third_party/json/include/tao/json/binding/versions.hpp +0 -127
  1412. data/ext/third_party/json/include/tao/json/cbor.hpp +0 -18
  1413. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +0 -34
  1414. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +0 -32
  1415. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +0 -27
  1416. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +0 -43
  1417. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +0 -37
  1418. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +0 -161
  1419. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +0 -31
  1420. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +0 -33
  1421. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +0 -33
  1422. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +0 -32
  1423. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +0 -417
  1424. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +0 -28
  1425. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +0 -392
  1426. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +0 -27
  1427. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +0 -28
  1428. data/ext/third_party/json/include/tao/json/consume.hpp +0 -43
  1429. data/ext/third_party/json/include/tao/json/consume_file.hpp +0 -33
  1430. data/ext/third_party/json/include/tao/json/consume_string.hpp +0 -31
  1431. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +0 -43
  1432. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +0 -41
  1433. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +0 -106
  1434. data/ext/third_party/json/include/tao/json/contrib/get.hpp +0 -152
  1435. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +0 -92
  1436. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +0 -69
  1437. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +0 -105
  1438. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +0 -36
  1439. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +0 -41
  1440. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +0 -43
  1441. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +0 -43
  1442. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +0 -41
  1443. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +0 -21
  1444. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +0 -105
  1445. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +0 -59
  1446. data/ext/third_party/json/include/tao/json/contrib/position.hpp +0 -166
  1447. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +0 -115
  1448. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +0 -1851
  1449. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +0 -41
  1450. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +0 -90
  1451. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +0 -121
  1452. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +0 -51
  1453. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +0 -89
  1454. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +0 -43
  1455. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +0 -41
  1456. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +0 -45
  1457. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +0 -51
  1458. data/ext/third_party/json/include/tao/json/events.hpp +0 -47
  1459. data/ext/third_party/json/include/tao/json/events/apply.hpp +0 -20
  1460. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +0 -26
  1461. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +0 -28
  1462. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +0 -27
  1463. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +0 -26
  1464. data/ext/third_party/json/include/tao/json/events/compare.hpp +0 -265
  1465. data/ext/third_party/json/include/tao/json/events/debug.hpp +0 -145
  1466. data/ext/third_party/json/include/tao/json/events/discard.hpp +0 -43
  1467. data/ext/third_party/json/include/tao/json/events/from_file.hpp +0 -28
  1468. data/ext/third_party/json/include/tao/json/events/from_input.hpp +0 -45
  1469. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +0 -33
  1470. data/ext/third_party/json/include/tao/json/events/from_string.hpp +0 -38
  1471. data/ext/third_party/json/include/tao/json/events/from_value.hpp +0 -202
  1472. data/ext/third_party/json/include/tao/json/events/hash.hpp +0 -174
  1473. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +0 -50
  1474. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +0 -49
  1475. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +0 -48
  1476. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +0 -62
  1477. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +0 -57
  1478. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +0 -82
  1479. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +0 -46
  1480. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +0 -31
  1481. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +0 -32
  1482. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +0 -40
  1483. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +0 -32
  1484. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +0 -32
  1485. data/ext/third_party/json/include/tao/json/events/produce.hpp +0 -22
  1486. data/ext/third_party/json/include/tao/json/events/ref.hpp +0 -111
  1487. data/ext/third_party/json/include/tao/json/events/statistics.hpp +0 -112
  1488. data/ext/third_party/json/include/tao/json/events/tee.hpp +0 -386
  1489. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +0 -172
  1490. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +0 -142
  1491. data/ext/third_party/json/include/tao/json/events/to_string.hpp +0 -33
  1492. data/ext/third_party/json/include/tao/json/events/to_value.hpp +0 -137
  1493. data/ext/third_party/json/include/tao/json/events/transformer.hpp +0 -70
  1494. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +0 -411
  1495. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +0 -51
  1496. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +0 -192
  1497. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +0 -170
  1498. data/ext/third_party/json/include/tao/json/external/double.hpp +0 -1313
  1499. data/ext/third_party/json/include/tao/json/external/itoa.hpp +0 -149
  1500. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +0 -53
  1501. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1502. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1503. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1504. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1505. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1506. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1507. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1508. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1509. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1510. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +0 -19
  1511. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +0 -51
  1512. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +0 -67
  1513. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +0 -212
  1514. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +0 -38
  1515. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +0 -53
  1516. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +0 -62
  1517. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +0 -36
  1518. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +0 -50
  1519. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +0 -61
  1520. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +0 -11
  1521. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +0 -35
  1522. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +0 -67
  1523. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1524. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +0 -253
  1525. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +0 -68
  1526. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +0 -200
  1527. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +0 -200
  1528. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +0 -105
  1529. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +0 -55
  1530. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +0 -446
  1531. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +0 -88
  1532. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +0 -33
  1533. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +0 -561
  1534. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +0 -104
  1535. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +0 -225
  1536. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +0 -86
  1537. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +0 -62
  1538. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +0 -44
  1539. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +0 -38
  1540. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1541. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +0 -199
  1542. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +0 -106
  1543. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +0 -33
  1544. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +0 -35
  1545. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +0 -37
  1546. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +0 -39
  1547. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +0 -39
  1548. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +0 -35
  1549. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +0 -37
  1550. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +0 -18
  1551. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +0 -44
  1552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +0 -44
  1553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +0 -107
  1554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +0 -58
  1558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +0 -53
  1559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +0 -50
  1560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +0 -34
  1561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +0 -34
  1562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +0 -53
  1563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +0 -31
  1564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +0 -31
  1565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +0 -45
  1566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +0 -29
  1567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +0 -36
  1568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +0 -44
  1569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +0 -32
  1570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +0 -32
  1571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +0 -32
  1572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +0 -49
  1573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +0 -40
  1574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +0 -44
  1576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +0 -33
  1577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +0 -44
  1580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +0 -31
  1584. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +0 -31
  1585. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +0 -32
  1586. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +0 -83
  1587. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +0 -219
  1588. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1589. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +0 -114
  1590. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +0 -25
  1591. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +0 -25
  1592. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +0 -56
  1593. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +0 -22
  1594. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +0 -53
  1595. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +0 -48
  1596. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +0 -19
  1597. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +0 -51
  1598. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +0 -29
  1599. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +0 -40
  1600. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +0 -72
  1601. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +0 -52
  1602. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +0 -37
  1603. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +0 -32
  1604. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +0 -19
  1605. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +0 -20
  1606. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +0 -20
  1607. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +0 -22
  1608. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +0 -82
  1609. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +0 -25
  1610. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +0 -23
  1611. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +0 -72
  1612. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +0 -53
  1613. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +0 -44
  1614. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +0 -57
  1615. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +0 -19
  1616. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +0 -20
  1617. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +0 -32
  1618. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1619. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1620. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1621. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1622. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1623. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1624. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +0 -90
  1625. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +0 -90
  1626. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +0 -53
  1627. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +0 -53
  1628. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +0 -51
  1629. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +0 -93
  1630. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1631. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +0 -69
  1632. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +0 -66
  1633. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +0 -20
  1634. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +0 -79
  1635. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +0 -46
  1636. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +0 -42
  1637. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +0 -19
  1638. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +0 -61
  1639. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +0 -73
  1640. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1641. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +0 -60
  1642. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +0 -47
  1643. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +0 -19
  1644. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +0 -49
  1645. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +0 -58
  1646. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1647. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +0 -64
  1648. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +0 -84
  1649. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +0 -33
  1650. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +0 -73
  1651. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +0 -381
  1652. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +0 -79
  1653. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +0 -87
  1654. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +0 -20
  1655. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +0 -53
  1656. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +0 -69
  1657. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +0 -75
  1658. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +0 -74
  1659. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +0 -16
  1660. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +0 -16
  1661. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +0 -20
  1662. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +0 -67
  1663. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +0 -66
  1664. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +0 -19
  1665. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1666. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1667. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1668. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1669. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1670. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1671. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +0 -28
  1672. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +0 -13
  1673. data/ext/third_party/json/include/tao/json/external/ryu.hpp +0 -1216
  1674. data/ext/third_party/json/include/tao/json/forward.hpp +0 -44
  1675. data/ext/third_party/json/include/tao/json/from_file.hpp +0 -32
  1676. data/ext/third_party/json/include/tao/json/from_input.hpp +0 -32
  1677. data/ext/third_party/json/include/tao/json/from_stream.hpp +0 -45
  1678. data/ext/third_party/json/include/tao/json/from_string.hpp +0 -41
  1679. data/ext/third_party/json/include/tao/json/internal/action.hpp +0 -268
  1680. data/ext/third_party/json/include/tao/json/internal/base64.hpp +0 -55
  1681. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +0 -53
  1682. data/ext/third_party/json/include/tao/json/internal/endian.hpp +0 -60
  1683. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +0 -198
  1684. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +0 -103
  1685. data/ext/third_party/json/include/tao/json/internal/errors.hpp +0 -85
  1686. data/ext/third_party/json/include/tao/json/internal/escape.hpp +0 -77
  1687. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -59
  1688. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +0 -229
  1689. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +0 -31
  1690. data/ext/third_party/json/include/tao/json/internal/identity.hpp +0 -22
  1691. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +0 -80
  1692. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +0 -267
  1693. data/ext/third_party/json/include/tao/json/internal/pair.hpp +0 -42
  1694. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +0 -112
  1695. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +0 -218
  1696. data/ext/third_party/json/include/tao/json/internal/single.hpp +0 -40
  1697. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +0 -35
  1698. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +0 -113
  1699. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +0 -24
  1700. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +0 -182
  1701. data/ext/third_party/json/include/tao/json/jaxn.hpp +0 -19
  1702. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +0 -34
  1703. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +0 -32
  1704. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +0 -28
  1705. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +0 -45
  1706. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +0 -33
  1707. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +0 -39
  1708. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +0 -69
  1709. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +0 -67
  1710. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +0 -33
  1711. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +0 -33
  1712. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +0 -33
  1713. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +0 -48
  1714. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +0 -42
  1715. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +0 -355
  1716. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +0 -114
  1717. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +0 -108
  1718. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +0 -375
  1719. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +0 -256
  1720. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +0 -28
  1721. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +0 -27
  1722. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +0 -263
  1723. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +0 -36
  1724. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +0 -33
  1725. data/ext/third_party/json/include/tao/json/message_extension.hpp +0 -49
  1726. data/ext/third_party/json/include/tao/json/msgpack.hpp +0 -18
  1727. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +0 -34
  1728. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +0 -32
  1729. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +0 -27
  1730. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +0 -43
  1731. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +0 -37
  1732. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +0 -214
  1733. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +0 -31
  1734. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +0 -33
  1735. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +0 -33
  1736. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +0 -32
  1737. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +0 -57
  1738. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +0 -249
  1739. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +0 -311
  1740. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +0 -27
  1741. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +0 -28
  1742. data/ext/third_party/json/include/tao/json/operators.hpp +0 -494
  1743. data/ext/third_party/json/include/tao/json/parts_parser.hpp +0 -306
  1744. data/ext/third_party/json/include/tao/json/pointer.hpp +0 -432
  1745. data/ext/third_party/json/include/tao/json/produce.hpp +0 -61
  1746. data/ext/third_party/json/include/tao/json/self_contained.hpp +0 -143
  1747. data/ext/third_party/json/include/tao/json/span.hpp +0 -568
  1748. data/ext/third_party/json/include/tao/json/stream.hpp +0 -38
  1749. data/ext/third_party/json/include/tao/json/to_stream.hpp +0 -42
  1750. data/ext/third_party/json/include/tao/json/to_string.hpp +0 -23
  1751. data/ext/third_party/json/include/tao/json/traits.hpp +0 -971
  1752. data/ext/third_party/json/include/tao/json/type.hpp +0 -112
  1753. data/ext/third_party/json/include/tao/json/ubjson.hpp +0 -18
  1754. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +0 -34
  1755. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +0 -32
  1756. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +0 -27
  1757. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +0 -43
  1758. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +0 -37
  1759. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +0 -174
  1760. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +0 -31
  1761. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +0 -33
  1762. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +0 -33
  1763. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +0 -32
  1764. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +0 -413
  1765. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +0 -46
  1766. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +0 -393
  1767. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +0 -28
  1768. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +0 -29
  1769. data/ext/third_party/json/include/tao/json/utf8.hpp +0 -57
  1770. data/ext/third_party/json/include/tao/json/value.hpp +0 -12
  1771. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1772. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1773. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1774. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1775. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1776. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1777. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1778. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1779. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1780. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1781. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1782. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1783. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1784. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1785. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1786. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1787. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1788. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1789. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1790. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1791. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1792. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1793. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1794. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1795. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1796. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1797. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1798. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1799. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1800. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1801. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1802. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1803. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1804. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1805. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1806. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1807. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1808. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1809. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1810. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1811. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1812. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1813. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1814. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1815. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1816. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1817. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1818. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1819. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1820. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1821. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1822. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1823. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1824. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1825. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1826. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1827. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1828. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1829. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1830. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1831. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1832. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1833. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1834. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1835. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1836. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1837. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1838. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1839. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1840. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1841. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1842. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1843. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1844. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1845. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1846. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1847. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1848. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1849. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1850. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1851. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1852. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1853. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1854. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1855. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1856. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1857. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1858. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1859. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1860. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1861. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1862. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1863. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1864. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1865. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1866. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1867. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1868. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1869. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1870. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1871. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1872. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1873. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1874. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1875. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1876. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1877. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1878. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1879. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1880. data/ext/third_party/json/tests/blns.json +0 -496
  1881. data/ext/third_party/json/tests/canada.json +0 -9
  1882. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1883. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1884. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1885. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1886. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1887. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1888. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1889. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1890. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1891. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1892. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1893. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1894. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1895. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1896. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1897. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1898. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1899. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1900. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1901. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1902. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1903. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1904. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1905. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1906. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1907. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1908. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1909. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1910. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1911. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1912. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1913. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1914. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1915. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1916. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1917. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1918. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1919. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1920. data/ext/third_party/json/tests/twitter.json +0 -15482
  1921. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1922. data/ext/third_party/snappy/.gitignore +0 -8
  1923. data/ext/third_party/snappy/.travis.yml +0 -98
  1924. data/ext/third_party/snappy/AUTHORS +0 -1
  1925. data/ext/third_party/snappy/CMakeLists.txt +0 -345
  1926. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1927. data/ext/third_party/snappy/COPYING +0 -54
  1928. data/ext/third_party/snappy/NEWS +0 -188
  1929. data/ext/third_party/snappy/README.md +0 -148
  1930. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +0 -33
  1931. data/ext/third_party/snappy/cmake/config.h.in +0 -59
  1932. data/ext/third_party/snappy/docs/README.md +0 -72
  1933. data/ext/third_party/snappy/format_description.txt +0 -110
  1934. data/ext/third_party/snappy/framing_format.txt +0 -135
  1935. data/ext/third_party/snappy/snappy-c.cc +0 -90
  1936. data/ext/third_party/snappy/snappy-c.h +0 -138
  1937. data/ext/third_party/snappy/snappy-internal.h +0 -315
  1938. data/ext/third_party/snappy/snappy-sinksource.cc +0 -121
  1939. data/ext/third_party/snappy/snappy-sinksource.h +0 -182
  1940. data/ext/third_party/snappy/snappy-stubs-internal.cc +0 -42
  1941. data/ext/third_party/snappy/snappy-stubs-internal.h +0 -493
  1942. data/ext/third_party/snappy/snappy-stubs-public.h.in +0 -63
  1943. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1944. data/ext/third_party/snappy/snappy-test.h +0 -526
  1945. data/ext/third_party/snappy/snappy.cc +0 -1770
  1946. data/ext/third_party/snappy/snappy.h +0 -209
  1947. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1948. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1949. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1950. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1951. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1952. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1953. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1954. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1955. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1956. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1957. data/ext/third_party/snappy/testdata/html +0 -1
  1958. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1959. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1960. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1961. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1962. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1963. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1964. data/ext/third_party/spdlog/.clang-format +0 -108
  1965. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1966. data/ext/third_party/spdlog/.gitattributes +0 -1
  1967. data/ext/third_party/spdlog/.gitignore +0 -83
  1968. data/ext/third_party/spdlog/.travis.yml +0 -112
  1969. data/ext/third_party/spdlog/CMakeLists.txt +0 -324
  1970. data/ext/third_party/spdlog/INSTALL +0 -24
  1971. data/ext/third_party/spdlog/LICENSE +0 -26
  1972. data/ext/third_party/spdlog/README.md +0 -423
  1973. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1974. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1975. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1976. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1977. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1978. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1979. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1980. data/ext/third_party/spdlog/cmake/ide.cmake +0 -18
  1981. data/ext/third_party/spdlog/cmake/pch.h.in +0 -258
  1982. data/ext/third_party/spdlog/cmake/spdlog.pc.in +0 -13
  1983. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +0 -46
  1984. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +0 -15
  1985. data/ext/third_party/spdlog/cmake/utils.cmake +0 -61
  1986. data/ext/third_party/spdlog/cmake/version.rc.in +0 -42
  1987. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1988. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1989. data/ext/third_party/spdlog/include/spdlog/async.h +0 -93
  1990. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +0 -92
  1991. data/ext/third_party/spdlog/include/spdlog/async_logger.h +0 -68
  1992. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +0 -45
  1993. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +0 -36
  1994. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +0 -103
  1995. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +0 -28
  1996. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1997. data/ext/third_party/spdlog/include/spdlog/common-inl.h +0 -76
  1998. data/ext/third_party/spdlog/include/spdlog/common.h +0 -246
  1999. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +0 -69
  2000. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +0 -45
  2001. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +0 -141
  2002. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +0 -32
  2003. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +0 -132
  2004. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +0 -59
  2005. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +0 -108
  2006. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +0 -37
  2007. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +0 -36
  2008. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -58
  2009. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +0 -33
  2010. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -120
  2011. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +0 -49
  2012. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +0 -554
  2013. data/ext/third_party/spdlog/include/spdlog/details/os.h +0 -111
  2014. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -49
  2015. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +0 -40
  2016. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +0 -299
  2017. data/ext/third_party/spdlog/include/spdlog/details/registry.h +0 -112
  2018. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +0 -24
  2019. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +0 -175
  2020. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +0 -145
  2021. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +0 -124
  2022. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +0 -120
  2023. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +0 -11
  2024. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -216
  2025. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +0 -27
  2026. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -1119
  2027. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +0 -568
  2028. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +0 -595
  2029. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +0 -1789
  2030. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1403
  2031. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +0 -3648
  2032. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +0 -78
  2033. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -143
  2034. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +0 -2
  2035. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +0 -721
  2036. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -387
  2037. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +0 -25
  2038. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +0 -20
  2039. data/ext/third_party/spdlog/include/spdlog/formatter.h +0 -18
  2040. data/ext/third_party/spdlog/include/spdlog/fwd.h +0 -14
  2041. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +0 -253
  2042. data/ext/third_party/spdlog/include/spdlog/logger.h +0 -392
  2043. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1358
  2044. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +0 -126
  2045. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +0 -119
  2046. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -143
  2047. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -118
  2048. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -63
  2049. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +0 -52
  2050. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -43
  2051. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -58
  2052. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -204
  2053. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +0 -97
  2054. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -90
  2055. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +0 -49
  2056. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +0 -44
  2057. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +0 -50
  2058. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -72
  2059. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -131
  2060. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -78
  2061. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +0 -25
  2062. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +0 -35
  2063. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -38
  2064. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -45
  2065. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -94
  2066. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -80
  2067. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +0 -109
  2068. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +0 -103
  2069. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +0 -81
  2070. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -266
  2071. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -180
  2072. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -94
  2073. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +0 -115
  2074. data/ext/third_party/spdlog/include/spdlog/spdlog.h +0 -340
  2075. data/ext/third_party/spdlog/include/spdlog/tweakme.h +0 -116
  2076. data/ext/third_party/spdlog/include/spdlog/version.h +0 -10
  2077. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  2078. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  2079. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  2080. data/ext/third_party/spdlog/src/async.cpp +0 -13
  2081. data/ext/third_party/spdlog/src/cfg.cpp +0 -8
  2082. data/ext/third_party/spdlog/src/color_sinks.cpp +0 -51
  2083. data/ext/third_party/spdlog/src/file_sinks.cpp +0 -20
  2084. data/ext/third_party/spdlog/src/fmt.cpp +0 -189
  2085. data/ext/third_party/spdlog/src/spdlog.cpp +0 -26
  2086. data/ext/third_party/spdlog/src/stdout_sinks.cpp +0 -29
  2087. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  2088. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  2089. data/ext/third_party/spdlog/tests/catch.license +0 -23
  2090. data/ext/third_party/spdlog/tests/includes.h +0 -26
  2091. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  2092. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  2093. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  2094. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  2095. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  2096. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  2097. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  2098. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  2099. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  2100. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  2101. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  2102. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  2103. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  2104. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  2105. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  2106. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  2107. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  2108. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  2109. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  2110. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  2111. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  2112. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  2113. data/ext/third_party/spdlog/tests/utils.h +0 -18
  2114. data/rbi/couchbase.rbi +0 -79
@@ -1,3150 +0,0 @@
1
- //
2
- // impl/read_until.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_IMPL_READ_UNTIL_HPP
12
- #define ASIO_IMPL_READ_UNTIL_HPP
13
-
14
- #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
- # pragma once
16
- #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
-
18
- #include <algorithm>
19
- #include <string>
20
- #include <vector>
21
- #include <utility>
22
- #include "asio/associated_allocator.hpp"
23
- #include "asio/associated_executor.hpp"
24
- #include "asio/buffer.hpp"
25
- #include "asio/buffers_iterator.hpp"
26
- #include "asio/detail/bind_handler.hpp"
27
- #include "asio/detail/handler_alloc_helpers.hpp"
28
- #include "asio/detail/handler_cont_helpers.hpp"
29
- #include "asio/detail/handler_invoke_helpers.hpp"
30
- #include "asio/detail/handler_type_requirements.hpp"
31
- #include "asio/detail/limits.hpp"
32
- #include "asio/detail/non_const_lvalue.hpp"
33
- #include "asio/detail/throw_error.hpp"
34
-
35
- #include "asio/detail/push_options.hpp"
36
-
37
- namespace asio {
38
-
39
- namespace detail
40
- {
41
- // Algorithm that finds a subsequence of equal values in a sequence. Returns
42
- // (iterator,true) if a full match was found, in which case the iterator
43
- // points to the beginning of the match. Returns (iterator,false) if a
44
- // partial match was found at the end of the first sequence, in which case
45
- // the iterator points to the beginning of the partial match. Returns
46
- // (last1,false) if no full or partial match was found.
47
- template <typename Iterator1, typename Iterator2>
48
- std::pair<Iterator1, bool> partial_search(
49
- Iterator1 first1, Iterator1 last1, Iterator2 first2, Iterator2 last2)
50
- {
51
- for (Iterator1 iter1 = first1; iter1 != last1; ++iter1)
52
- {
53
- Iterator1 test_iter1 = iter1;
54
- Iterator2 test_iter2 = first2;
55
- for (;; ++test_iter1, ++test_iter2)
56
- {
57
- if (test_iter2 == last2)
58
- return std::make_pair(iter1, true);
59
- if (test_iter1 == last1)
60
- {
61
- if (test_iter2 != first2)
62
- return std::make_pair(iter1, false);
63
- else
64
- break;
65
- }
66
- if (*test_iter1 != *test_iter2)
67
- break;
68
- }
69
- }
70
- return std::make_pair(last1, false);
71
- }
72
- } // namespace detail
73
-
74
- #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
75
-
76
- template <typename SyncReadStream, typename DynamicBuffer_v1>
77
- inline std::size_t read_until(SyncReadStream& s,
78
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, char delim,
79
- typename enable_if<
80
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
81
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
82
- >::type*)
83
- {
84
- asio::error_code ec;
85
- std::size_t bytes_transferred = read_until(s,
86
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim, ec);
87
- asio::detail::throw_error(ec, "read_until");
88
- return bytes_transferred;
89
- }
90
-
91
- template <typename SyncReadStream, typename DynamicBuffer_v1>
92
- std::size_t read_until(SyncReadStream& s,
93
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
94
- char delim, asio::error_code& ec,
95
- typename enable_if<
96
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
97
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
98
- >::type*)
99
- {
100
- typename decay<DynamicBuffer_v1>::type b(
101
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
102
-
103
- std::size_t search_position = 0;
104
- for (;;)
105
- {
106
- // Determine the range of the data to be searched.
107
- typedef typename DynamicBuffer_v1::const_buffers_type buffers_type;
108
- typedef buffers_iterator<buffers_type> iterator;
109
- buffers_type data_buffers = b.data();
110
- iterator begin = iterator::begin(data_buffers);
111
- iterator start_pos = begin + search_position;
112
- iterator end = iterator::end(data_buffers);
113
-
114
- // Look for a match.
115
- iterator iter = std::find(start_pos, end, delim);
116
- if (iter != end)
117
- {
118
- // Found a match. We're done.
119
- ec = asio::error_code();
120
- return iter - begin + 1;
121
- }
122
- else
123
- {
124
- // No match. Next search can start with the new data.
125
- search_position = end - begin;
126
- }
127
-
128
- // Check if buffer is full.
129
- if (b.size() == b.max_size())
130
- {
131
- ec = error::not_found;
132
- return 0;
133
- }
134
-
135
- // Need more data.
136
- std::size_t bytes_to_read = std::min<std::size_t>(
137
- std::max<std::size_t>(512, b.capacity() - b.size()),
138
- std::min<std::size_t>(65536, b.max_size() - b.size()));
139
- b.commit(s.read_some(b.prepare(bytes_to_read), ec));
140
- if (ec)
141
- return 0;
142
- }
143
- }
144
-
145
- template <typename SyncReadStream, typename DynamicBuffer_v1>
146
- inline std::size_t read_until(SyncReadStream& s,
147
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
148
- ASIO_STRING_VIEW_PARAM delim,
149
- typename enable_if<
150
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
151
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
152
- >::type*)
153
- {
154
- asio::error_code ec;
155
- std::size_t bytes_transferred = read_until(s,
156
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim, ec);
157
- asio::detail::throw_error(ec, "read_until");
158
- return bytes_transferred;
159
- }
160
-
161
- template <typename SyncReadStream, typename DynamicBuffer_v1>
162
- std::size_t read_until(SyncReadStream& s,
163
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
164
- ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec,
165
- typename enable_if<
166
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
167
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
168
- >::type*)
169
- {
170
- typename decay<DynamicBuffer_v1>::type b(
171
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
172
-
173
- std::size_t search_position = 0;
174
- for (;;)
175
- {
176
- // Determine the range of the data to be searched.
177
- typedef typename DynamicBuffer_v1::const_buffers_type buffers_type;
178
- typedef buffers_iterator<buffers_type> iterator;
179
- buffers_type data_buffers = b.data();
180
- iterator begin = iterator::begin(data_buffers);
181
- iterator start_pos = begin + search_position;
182
- iterator end = iterator::end(data_buffers);
183
-
184
- // Look for a match.
185
- std::pair<iterator, bool> result = detail::partial_search(
186
- start_pos, end, delim.begin(), delim.end());
187
- if (result.first != end)
188
- {
189
- if (result.second)
190
- {
191
- // Full match. We're done.
192
- ec = asio::error_code();
193
- return result.first - begin + delim.length();
194
- }
195
- else
196
- {
197
- // Partial match. Next search needs to start from beginning of match.
198
- search_position = result.first - begin;
199
- }
200
- }
201
- else
202
- {
203
- // No match. Next search can start with the new data.
204
- search_position = end - begin;
205
- }
206
-
207
- // Check if buffer is full.
208
- if (b.size() == b.max_size())
209
- {
210
- ec = error::not_found;
211
- return 0;
212
- }
213
-
214
- // Need more data.
215
- std::size_t bytes_to_read = std::min<std::size_t>(
216
- std::max<std::size_t>(512, b.capacity() - b.size()),
217
- std::min<std::size_t>(65536, b.max_size() - b.size()));
218
- b.commit(s.read_some(b.prepare(bytes_to_read), ec));
219
- if (ec)
220
- return 0;
221
- }
222
- }
223
-
224
- #if !defined(ASIO_NO_EXTENSIONS)
225
- #if defined(ASIO_HAS_BOOST_REGEX)
226
-
227
- template <typename SyncReadStream, typename DynamicBuffer_v1>
228
- inline std::size_t read_until(SyncReadStream& s,
229
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
230
- const boost::regex& expr,
231
- typename enable_if<
232
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
233
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
234
- >::type*)
235
- {
236
- asio::error_code ec;
237
- std::size_t bytes_transferred = read_until(s,
238
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), expr, ec);
239
- asio::detail::throw_error(ec, "read_until");
240
- return bytes_transferred;
241
- }
242
-
243
- template <typename SyncReadStream, typename DynamicBuffer_v1>
244
- std::size_t read_until(SyncReadStream& s,
245
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
246
- const boost::regex& expr, asio::error_code& ec,
247
- typename enable_if<
248
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
249
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
250
- >::type*)
251
- {
252
- typename decay<DynamicBuffer_v1>::type b(
253
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
254
-
255
- std::size_t search_position = 0;
256
- for (;;)
257
- {
258
- // Determine the range of the data to be searched.
259
- typedef typename DynamicBuffer_v1::const_buffers_type buffers_type;
260
- typedef buffers_iterator<buffers_type> iterator;
261
- buffers_type data_buffers = b.data();
262
- iterator begin = iterator::begin(data_buffers);
263
- iterator start_pos = begin + search_position;
264
- iterator end = iterator::end(data_buffers);
265
-
266
- // Look for a match.
267
- boost::match_results<iterator,
268
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
269
- match_results;
270
- if (regex_search(start_pos, end, match_results, expr,
271
- boost::match_default | boost::match_partial))
272
- {
273
- if (match_results[0].matched)
274
- {
275
- // Full match. We're done.
276
- ec = asio::error_code();
277
- return match_results[0].second - begin;
278
- }
279
- else
280
- {
281
- // Partial match. Next search needs to start from beginning of match.
282
- search_position = match_results[0].first - begin;
283
- }
284
- }
285
- else
286
- {
287
- // No match. Next search can start with the new data.
288
- search_position = end - begin;
289
- }
290
-
291
- // Check if buffer is full.
292
- if (b.size() == b.max_size())
293
- {
294
- ec = error::not_found;
295
- return 0;
296
- }
297
-
298
- // Need more data.
299
- std::size_t bytes_to_read = std::min<std::size_t>(
300
- std::max<std::size_t>(512, b.capacity() - b.size()),
301
- std::min<std::size_t>(65536, b.max_size() - b.size()));
302
- b.commit(s.read_some(b.prepare(bytes_to_read), ec));
303
- if (ec)
304
- return 0;
305
- }
306
- }
307
-
308
- #endif // defined(ASIO_HAS_BOOST_REGEX)
309
-
310
- template <typename SyncReadStream,
311
- typename DynamicBuffer_v1, typename MatchCondition>
312
- inline std::size_t read_until(SyncReadStream& s,
313
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
314
- MatchCondition match_condition,
315
- typename enable_if<
316
- is_match_condition<MatchCondition>::value
317
- && is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
318
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
319
- >::type*)
320
- {
321
- asio::error_code ec;
322
- std::size_t bytes_transferred = read_until(s,
323
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
324
- match_condition, ec);
325
- asio::detail::throw_error(ec, "read_until");
326
- return bytes_transferred;
327
- }
328
-
329
- template <typename SyncReadStream,
330
- typename DynamicBuffer_v1, typename MatchCondition>
331
- std::size_t read_until(SyncReadStream& s,
332
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
333
- MatchCondition match_condition, asio::error_code& ec,
334
- typename enable_if<
335
- is_match_condition<MatchCondition>::value
336
- && is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
337
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
338
- >::type*)
339
- {
340
- typename decay<DynamicBuffer_v1>::type b(
341
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
342
-
343
- std::size_t search_position = 0;
344
- for (;;)
345
- {
346
- // Determine the range of the data to be searched.
347
- typedef typename DynamicBuffer_v1::const_buffers_type buffers_type;
348
- typedef buffers_iterator<buffers_type> iterator;
349
- buffers_type data_buffers = b.data();
350
- iterator begin = iterator::begin(data_buffers);
351
- iterator start_pos = begin + search_position;
352
- iterator end = iterator::end(data_buffers);
353
-
354
- // Look for a match.
355
- std::pair<iterator, bool> result = match_condition(start_pos, end);
356
- if (result.second)
357
- {
358
- // Full match. We're done.
359
- ec = asio::error_code();
360
- return result.first - begin;
361
- }
362
- else if (result.first != end)
363
- {
364
- // Partial match. Next search needs to start from beginning of match.
365
- search_position = result.first - begin;
366
- }
367
- else
368
- {
369
- // No match. Next search can start with the new data.
370
- search_position = end - begin;
371
- }
372
-
373
- // Check if buffer is full.
374
- if (b.size() == b.max_size())
375
- {
376
- ec = error::not_found;
377
- return 0;
378
- }
379
-
380
- // Need more data.
381
- std::size_t bytes_to_read = std::min<std::size_t>(
382
- std::max<std::size_t>(512, b.capacity() - b.size()),
383
- std::min<std::size_t>(65536, b.max_size() - b.size()));
384
- b.commit(s.read_some(b.prepare(bytes_to_read), ec));
385
- if (ec)
386
- return 0;
387
- }
388
- }
389
-
390
- #if !defined(ASIO_NO_IOSTREAM)
391
-
392
- template <typename SyncReadStream, typename Allocator>
393
- inline std::size_t read_until(SyncReadStream& s,
394
- asio::basic_streambuf<Allocator>& b, char delim)
395
- {
396
- return read_until(s, basic_streambuf_ref<Allocator>(b), delim);
397
- }
398
-
399
- template <typename SyncReadStream, typename Allocator>
400
- inline std::size_t read_until(SyncReadStream& s,
401
- asio::basic_streambuf<Allocator>& b, char delim,
402
- asio::error_code& ec)
403
- {
404
- return read_until(s, basic_streambuf_ref<Allocator>(b), delim, ec);
405
- }
406
-
407
- template <typename SyncReadStream, typename Allocator>
408
- inline std::size_t read_until(SyncReadStream& s,
409
- asio::basic_streambuf<Allocator>& b,
410
- ASIO_STRING_VIEW_PARAM delim)
411
- {
412
- return read_until(s, basic_streambuf_ref<Allocator>(b), delim);
413
- }
414
-
415
- template <typename SyncReadStream, typename Allocator>
416
- inline std::size_t read_until(SyncReadStream& s,
417
- asio::basic_streambuf<Allocator>& b,
418
- ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec)
419
- {
420
- return read_until(s, basic_streambuf_ref<Allocator>(b), delim, ec);
421
- }
422
-
423
- #if defined(ASIO_HAS_BOOST_REGEX)
424
-
425
- template <typename SyncReadStream, typename Allocator>
426
- inline std::size_t read_until(SyncReadStream& s,
427
- asio::basic_streambuf<Allocator>& b, const boost::regex& expr)
428
- {
429
- return read_until(s, basic_streambuf_ref<Allocator>(b), expr);
430
- }
431
-
432
- template <typename SyncReadStream, typename Allocator>
433
- inline std::size_t read_until(SyncReadStream& s,
434
- asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
435
- asio::error_code& ec)
436
- {
437
- return read_until(s, basic_streambuf_ref<Allocator>(b), expr, ec);
438
- }
439
-
440
- #endif // defined(ASIO_HAS_BOOST_REGEX)
441
-
442
- template <typename SyncReadStream, typename Allocator, typename MatchCondition>
443
- inline std::size_t read_until(SyncReadStream& s,
444
- asio::basic_streambuf<Allocator>& b, MatchCondition match_condition,
445
- typename enable_if<is_match_condition<MatchCondition>::value>::type*)
446
- {
447
- return read_until(s, basic_streambuf_ref<Allocator>(b), match_condition);
448
- }
449
-
450
- template <typename SyncReadStream, typename Allocator, typename MatchCondition>
451
- inline std::size_t read_until(SyncReadStream& s,
452
- asio::basic_streambuf<Allocator>& b,
453
- MatchCondition match_condition, asio::error_code& ec,
454
- typename enable_if<is_match_condition<MatchCondition>::value>::type*)
455
- {
456
- return read_until(s, basic_streambuf_ref<Allocator>(b), match_condition, ec);
457
- }
458
-
459
- #endif // !defined(ASIO_NO_IOSTREAM)
460
- #endif // !defined(ASIO_NO_EXTENSIONS)
461
- #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
462
-
463
- template <typename SyncReadStream, typename DynamicBuffer_v2>
464
- inline std::size_t read_until(SyncReadStream& s,
465
- DynamicBuffer_v2 buffers, char delim,
466
- typename enable_if<
467
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
468
- >::type*)
469
- {
470
- asio::error_code ec;
471
- std::size_t bytes_transferred = read_until(s,
472
- ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim, ec);
473
- asio::detail::throw_error(ec, "read_until");
474
- return bytes_transferred;
475
- }
476
-
477
- template <typename SyncReadStream, typename DynamicBuffer_v2>
478
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
479
- char delim, asio::error_code& ec,
480
- typename enable_if<
481
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
482
- >::type*)
483
- {
484
- DynamicBuffer_v2& b = buffers;
485
-
486
- std::size_t search_position = 0;
487
- for (;;)
488
- {
489
- // Determine the range of the data to be searched.
490
- typedef typename DynamicBuffer_v2::const_buffers_type buffers_type;
491
- typedef buffers_iterator<buffers_type> iterator;
492
- buffers_type data_buffers =
493
- const_cast<const DynamicBuffer_v2&>(b).data(0, b.size());
494
- iterator begin = iterator::begin(data_buffers);
495
- iterator start_pos = begin + search_position;
496
- iterator end = iterator::end(data_buffers);
497
-
498
- // Look for a match.
499
- iterator iter = std::find(start_pos, end, delim);
500
- if (iter != end)
501
- {
502
- // Found a match. We're done.
503
- ec = asio::error_code();
504
- return iter - begin + 1;
505
- }
506
- else
507
- {
508
- // No match. Next search can start with the new data.
509
- search_position = end - begin;
510
- }
511
-
512
- // Check if buffer is full.
513
- if (b.size() == b.max_size())
514
- {
515
- ec = error::not_found;
516
- return 0;
517
- }
518
-
519
- // Need more data.
520
- std::size_t bytes_to_read = std::min<std::size_t>(
521
- std::max<std::size_t>(512, b.capacity() - b.size()),
522
- std::min<std::size_t>(65536, b.max_size() - b.size()));
523
- std::size_t pos = b.size();
524
- b.grow(bytes_to_read);
525
- std::size_t bytes_transferred = s.read_some(b.data(pos, bytes_to_read), ec);
526
- b.shrink(bytes_to_read - bytes_transferred);
527
- if (ec)
528
- return 0;
529
- }
530
- }
531
-
532
- template <typename SyncReadStream, typename DynamicBuffer_v2>
533
- inline std::size_t read_until(SyncReadStream& s,
534
- DynamicBuffer_v2 buffers, ASIO_STRING_VIEW_PARAM delim,
535
- typename enable_if<
536
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
537
- >::type*)
538
- {
539
- asio::error_code ec;
540
- std::size_t bytes_transferred = read_until(s,
541
- ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim, ec);
542
- asio::detail::throw_error(ec, "read_until");
543
- return bytes_transferred;
544
- }
545
-
546
- template <typename SyncReadStream, typename DynamicBuffer_v2>
547
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
548
- ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec,
549
- typename enable_if<
550
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
551
- >::type*)
552
- {
553
- DynamicBuffer_v2& b = buffers;
554
-
555
- std::size_t search_position = 0;
556
- for (;;)
557
- {
558
- // Determine the range of the data to be searched.
559
- typedef typename DynamicBuffer_v2::const_buffers_type buffers_type;
560
- typedef buffers_iterator<buffers_type> iterator;
561
- buffers_type data_buffers =
562
- const_cast<const DynamicBuffer_v2&>(b).data(0, b.size());
563
- iterator begin = iterator::begin(data_buffers);
564
- iterator start_pos = begin + search_position;
565
- iterator end = iterator::end(data_buffers);
566
-
567
- // Look for a match.
568
- std::pair<iterator, bool> result = detail::partial_search(
569
- start_pos, end, delim.begin(), delim.end());
570
- if (result.first != end)
571
- {
572
- if (result.second)
573
- {
574
- // Full match. We're done.
575
- ec = asio::error_code();
576
- return result.first - begin + delim.length();
577
- }
578
- else
579
- {
580
- // Partial match. Next search needs to start from beginning of match.
581
- search_position = result.first - begin;
582
- }
583
- }
584
- else
585
- {
586
- // No match. Next search can start with the new data.
587
- search_position = end - begin;
588
- }
589
-
590
- // Check if buffer is full.
591
- if (b.size() == b.max_size())
592
- {
593
- ec = error::not_found;
594
- return 0;
595
- }
596
-
597
- // Need more data.
598
- std::size_t bytes_to_read = std::min<std::size_t>(
599
- std::max<std::size_t>(512, b.capacity() - b.size()),
600
- std::min<std::size_t>(65536, b.max_size() - b.size()));
601
- std::size_t pos = b.size();
602
- b.grow(bytes_to_read);
603
- std::size_t bytes_transferred = s.read_some(b.data(pos, bytes_to_read), ec);
604
- b.shrink(bytes_to_read - bytes_transferred);
605
- if (ec)
606
- return 0;
607
- }
608
- }
609
-
610
- #if !defined(ASIO_NO_EXTENSIONS)
611
- #if defined(ASIO_HAS_BOOST_REGEX)
612
-
613
- template <typename SyncReadStream, typename DynamicBuffer_v2>
614
- inline std::size_t read_until(SyncReadStream& s,
615
- DynamicBuffer_v2 buffers, const boost::regex& expr,
616
- typename enable_if<
617
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
618
- >::type*)
619
- {
620
- asio::error_code ec;
621
- std::size_t bytes_transferred = read_until(s,
622
- ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), expr, ec);
623
- asio::detail::throw_error(ec, "read_until");
624
- return bytes_transferred;
625
- }
626
-
627
- template <typename SyncReadStream, typename DynamicBuffer_v2>
628
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
629
- const boost::regex& expr, asio::error_code& ec,
630
- typename enable_if<
631
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
632
- >::type*)
633
- {
634
- DynamicBuffer_v2& b = buffers;
635
-
636
- std::size_t search_position = 0;
637
- for (;;)
638
- {
639
- // Determine the range of the data to be searched.
640
- typedef typename DynamicBuffer_v2::const_buffers_type buffers_type;
641
- typedef buffers_iterator<buffers_type> iterator;
642
- buffers_type data_buffers =
643
- const_cast<const DynamicBuffer_v2&>(b).data(0, b.size());
644
- iterator begin = iterator::begin(data_buffers);
645
- iterator start_pos = begin + search_position;
646
- iterator end = iterator::end(data_buffers);
647
-
648
- // Look for a match.
649
- boost::match_results<iterator,
650
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
651
- match_results;
652
- if (regex_search(start_pos, end, match_results, expr,
653
- boost::match_default | boost::match_partial))
654
- {
655
- if (match_results[0].matched)
656
- {
657
- // Full match. We're done.
658
- ec = asio::error_code();
659
- return match_results[0].second - begin;
660
- }
661
- else
662
- {
663
- // Partial match. Next search needs to start from beginning of match.
664
- search_position = match_results[0].first - begin;
665
- }
666
- }
667
- else
668
- {
669
- // No match. Next search can start with the new data.
670
- search_position = end - begin;
671
- }
672
-
673
- // Check if buffer is full.
674
- if (b.size() == b.max_size())
675
- {
676
- ec = error::not_found;
677
- return 0;
678
- }
679
-
680
- // Need more data.
681
- std::size_t bytes_to_read = std::min<std::size_t>(
682
- std::max<std::size_t>(512, b.capacity() - b.size()),
683
- std::min<std::size_t>(65536, b.max_size() - b.size()));
684
- std::size_t pos = b.size();
685
- b.grow(bytes_to_read);
686
- std::size_t bytes_transferred = s.read_some(b.data(pos, bytes_to_read), ec);
687
- b.shrink(bytes_to_read - bytes_transferred);
688
- if (ec)
689
- return 0;
690
- }
691
- }
692
-
693
- #endif // defined(ASIO_HAS_BOOST_REGEX)
694
-
695
- template <typename SyncReadStream,
696
- typename DynamicBuffer_v2, typename MatchCondition>
697
- inline std::size_t read_until(SyncReadStream& s,
698
- DynamicBuffer_v2 buffers, MatchCondition match_condition,
699
- typename enable_if<
700
- is_match_condition<MatchCondition>::value
701
- && is_dynamic_buffer_v2<DynamicBuffer_v2>::value
702
- >::type*)
703
- {
704
- asio::error_code ec;
705
- std::size_t bytes_transferred = read_until(s,
706
- ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
707
- match_condition, ec);
708
- asio::detail::throw_error(ec, "read_until");
709
- return bytes_transferred;
710
- }
711
-
712
- template <typename SyncReadStream,
713
- typename DynamicBuffer_v2, typename MatchCondition>
714
- std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
715
- MatchCondition match_condition, asio::error_code& ec,
716
- typename enable_if<
717
- is_match_condition<MatchCondition>::value
718
- && is_dynamic_buffer_v2<DynamicBuffer_v2>::value
719
- >::type*)
720
- {
721
- DynamicBuffer_v2& b = buffers;
722
-
723
- std::size_t search_position = 0;
724
- for (;;)
725
- {
726
- // Determine the range of the data to be searched.
727
- typedef typename DynamicBuffer_v2::const_buffers_type buffers_type;
728
- typedef buffers_iterator<buffers_type> iterator;
729
- buffers_type data_buffers =
730
- const_cast<const DynamicBuffer_v2&>(b).data(0, b.size());
731
- iterator begin = iterator::begin(data_buffers);
732
- iterator start_pos = begin + search_position;
733
- iterator end = iterator::end(data_buffers);
734
-
735
- // Look for a match.
736
- std::pair<iterator, bool> result = match_condition(start_pos, end);
737
- if (result.second)
738
- {
739
- // Full match. We're done.
740
- ec = asio::error_code();
741
- return result.first - begin;
742
- }
743
- else if (result.first != end)
744
- {
745
- // Partial match. Next search needs to start from beginning of match.
746
- search_position = result.first - begin;
747
- }
748
- else
749
- {
750
- // No match. Next search can start with the new data.
751
- search_position = end - begin;
752
- }
753
-
754
- // Check if buffer is full.
755
- if (b.size() == b.max_size())
756
- {
757
- ec = error::not_found;
758
- return 0;
759
- }
760
-
761
- // Need more data.
762
- std::size_t bytes_to_read = std::min<std::size_t>(
763
- std::max<std::size_t>(512, b.capacity() - b.size()),
764
- std::min<std::size_t>(65536, b.max_size() - b.size()));
765
- std::size_t pos = b.size();
766
- b.grow(bytes_to_read);
767
- std::size_t bytes_transferred = s.read_some(b.data(pos, bytes_to_read), ec);
768
- b.shrink(bytes_to_read - bytes_transferred);
769
- if (ec)
770
- return 0;
771
- }
772
- }
773
-
774
- #endif // !defined(ASIO_NO_EXTENSIONS)
775
-
776
- #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
777
-
778
- namespace detail
779
- {
780
- template <typename AsyncReadStream,
781
- typename DynamicBuffer_v1, typename ReadHandler>
782
- class read_until_delim_op_v1
783
- {
784
- public:
785
- template <typename BufferSequence>
786
- read_until_delim_op_v1(AsyncReadStream& stream,
787
- ASIO_MOVE_ARG(BufferSequence) buffers,
788
- char delim, ReadHandler& handler)
789
- : stream_(stream),
790
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
791
- delim_(delim),
792
- start_(0),
793
- search_position_(0),
794
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
795
- {
796
- }
797
-
798
- #if defined(ASIO_HAS_MOVE)
799
- read_until_delim_op_v1(const read_until_delim_op_v1& other)
800
- : stream_(other.stream_),
801
- buffers_(other.buffers_),
802
- delim_(other.delim_),
803
- start_(other.start_),
804
- search_position_(other.search_position_),
805
- handler_(other.handler_)
806
- {
807
- }
808
-
809
- read_until_delim_op_v1(read_until_delim_op_v1&& other)
810
- : stream_(other.stream_),
811
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
812
- delim_(other.delim_),
813
- start_(other.start_),
814
- search_position_(other.search_position_),
815
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
816
- {
817
- }
818
- #endif // defined(ASIO_HAS_MOVE)
819
-
820
- void operator()(const asio::error_code& ec,
821
- std::size_t bytes_transferred, int start = 0)
822
- {
823
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
824
- std::size_t bytes_to_read;
825
- switch (start_ = start)
826
- {
827
- case 1:
828
- for (;;)
829
- {
830
- {
831
- // Determine the range of the data to be searched.
832
- typedef typename DynamicBuffer_v1::const_buffers_type
833
- buffers_type;
834
- typedef buffers_iterator<buffers_type> iterator;
835
- buffers_type data_buffers = buffers_.data();
836
- iterator begin = iterator::begin(data_buffers);
837
- iterator start_pos = begin + search_position_;
838
- iterator end = iterator::end(data_buffers);
839
-
840
- // Look for a match.
841
- iterator iter = std::find(start_pos, end, delim_);
842
- if (iter != end)
843
- {
844
- // Found a match. We're done.
845
- search_position_ = iter - begin + 1;
846
- bytes_to_read = 0;
847
- }
848
-
849
- // No match yet. Check if buffer is full.
850
- else if (buffers_.size() == buffers_.max_size())
851
- {
852
- search_position_ = not_found;
853
- bytes_to_read = 0;
854
- }
855
-
856
- // Need to read some more data.
857
- else
858
- {
859
- // Next search can start with the new data.
860
- search_position_ = end - begin;
861
- bytes_to_read = std::min<std::size_t>(
862
- std::max<std::size_t>(512,
863
- buffers_.capacity() - buffers_.size()),
864
- std::min<std::size_t>(65536,
865
- buffers_.max_size() - buffers_.size()));
866
- }
867
- }
868
-
869
- // Check if we're done.
870
- if (!start && bytes_to_read == 0)
871
- break;
872
-
873
- // Start a new asynchronous read op_v1eration to obtain more data.
874
- stream_.async_read_some(buffers_.prepare(bytes_to_read),
875
- ASIO_MOVE_CAST(read_until_delim_op_v1)(*this));
876
- return; default:
877
- buffers_.commit(bytes_transferred);
878
- if (ec || bytes_transferred == 0)
879
- break;
880
- }
881
-
882
- const asio::error_code result_ec =
883
- (search_position_ == not_found)
884
- ? error::not_found : ec;
885
-
886
- const std::size_t result_n =
887
- (ec || search_position_ == not_found)
888
- ? 0 : search_position_;
889
-
890
- handler_(result_ec, result_n);
891
- }
892
- }
893
-
894
- //private:
895
- AsyncReadStream& stream_;
896
- DynamicBuffer_v1 buffers_;
897
- char delim_;
898
- int start_;
899
- std::size_t search_position_;
900
- ReadHandler handler_;
901
- };
902
-
903
- template <typename AsyncReadStream,
904
- typename DynamicBuffer_v1, typename ReadHandler>
905
- inline void* asio_handler_allocate(std::size_t size,
906
- read_until_delim_op_v1<AsyncReadStream,
907
- DynamicBuffer_v1, ReadHandler>* this_handler)
908
- {
909
- return asio_handler_alloc_helpers::allocate(
910
- size, this_handler->handler_);
911
- }
912
-
913
- template <typename AsyncReadStream,
914
- typename DynamicBuffer_v1, typename ReadHandler>
915
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
916
- read_until_delim_op_v1<AsyncReadStream,
917
- DynamicBuffer_v1, ReadHandler>* this_handler)
918
- {
919
- asio_handler_alloc_helpers::deallocate(
920
- pointer, size, this_handler->handler_);
921
- }
922
-
923
- template <typename AsyncReadStream,
924
- typename DynamicBuffer_v1, typename ReadHandler>
925
- inline bool asio_handler_is_continuation(
926
- read_until_delim_op_v1<AsyncReadStream,
927
- DynamicBuffer_v1, ReadHandler>* this_handler)
928
- {
929
- return this_handler->start_ == 0 ? true
930
- : asio_handler_cont_helpers::is_continuation(
931
- this_handler->handler_);
932
- }
933
-
934
- template <typename Function, typename AsyncReadStream,
935
- typename DynamicBuffer_v1, typename ReadHandler>
936
- inline void asio_handler_invoke(Function& function,
937
- read_until_delim_op_v1<AsyncReadStream,
938
- DynamicBuffer_v1, ReadHandler>* this_handler)
939
- {
940
- asio_handler_invoke_helpers::invoke(
941
- function, this_handler->handler_);
942
- }
943
-
944
- template <typename Function, typename AsyncReadStream,
945
- typename DynamicBuffer_v1, typename ReadHandler>
946
- inline void asio_handler_invoke(const Function& function,
947
- read_until_delim_op_v1<AsyncReadStream,
948
- DynamicBuffer_v1, ReadHandler>* this_handler)
949
- {
950
- asio_handler_invoke_helpers::invoke(
951
- function, this_handler->handler_);
952
- }
953
-
954
- template <typename AsyncReadStream>
955
- class initiate_async_read_until_delim_v1
956
- {
957
- public:
958
- typedef typename AsyncReadStream::executor_type executor_type;
959
-
960
- explicit initiate_async_read_until_delim_v1(AsyncReadStream& stream)
961
- : stream_(stream)
962
- {
963
- }
964
-
965
- executor_type get_executor() const ASIO_NOEXCEPT
966
- {
967
- return stream_.get_executor();
968
- }
969
-
970
- template <typename ReadHandler, typename DynamicBuffer_v1>
971
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
972
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
973
- char delim) const
974
- {
975
- // If you get an error on the following line it means that your handler
976
- // does not meet the documented type requirements for a ReadHandler.
977
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
978
-
979
- non_const_lvalue<ReadHandler> handler2(handler);
980
- read_until_delim_op_v1<AsyncReadStream,
981
- typename decay<DynamicBuffer_v1>::type,
982
- typename decay<ReadHandler>::type>(
983
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
984
- delim, handler2.value)(asio::error_code(), 0, 1);
985
- }
986
-
987
- private:
988
- AsyncReadStream& stream_;
989
- };
990
- } // namespace detail
991
-
992
- #if !defined(GENERATING_DOCUMENTATION)
993
-
994
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
995
- typename ReadHandler, typename Allocator>
996
- struct associated_allocator<
997
- detail::read_until_delim_op_v1<AsyncReadStream,
998
- DynamicBuffer_v1, ReadHandler>,
999
- Allocator>
1000
- {
1001
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
1002
-
1003
- static type get(
1004
- const detail::read_until_delim_op_v1<AsyncReadStream,
1005
- DynamicBuffer_v1, ReadHandler>& h,
1006
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
1007
- {
1008
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
1009
- }
1010
- };
1011
-
1012
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1013
- typename ReadHandler, typename Executor>
1014
- struct associated_executor<
1015
- detail::read_until_delim_op_v1<AsyncReadStream,
1016
- DynamicBuffer_v1, ReadHandler>,
1017
- Executor>
1018
- {
1019
- typedef typename associated_executor<ReadHandler, Executor>::type type;
1020
-
1021
- static type get(
1022
- const detail::read_until_delim_op_v1<AsyncReadStream,
1023
- DynamicBuffer_v1, ReadHandler>& h,
1024
- const Executor& ex = Executor()) ASIO_NOEXCEPT
1025
- {
1026
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
1027
- }
1028
- };
1029
-
1030
- #endif // !defined(GENERATING_DOCUMENTATION)
1031
-
1032
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1033
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1034
- std::size_t)) ReadHandler>
1035
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1036
- void (asio::error_code, std::size_t))
1037
- async_read_until(AsyncReadStream& s,
1038
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1039
- char delim, ASIO_MOVE_ARG(ReadHandler) handler,
1040
- typename enable_if<
1041
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1042
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1043
- >::type*)
1044
- {
1045
- return async_initiate<ReadHandler,
1046
- void (asio::error_code, std::size_t)>(
1047
- detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
1048
- handler, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim);
1049
- }
1050
-
1051
- namespace detail
1052
- {
1053
- template <typename AsyncReadStream,
1054
- typename DynamicBuffer_v1, typename ReadHandler>
1055
- class read_until_delim_string_op_v1
1056
- {
1057
- public:
1058
- template <typename BufferSequence>
1059
- read_until_delim_string_op_v1(AsyncReadStream& stream,
1060
- ASIO_MOVE_ARG(BufferSequence) buffers,
1061
- const std::string& delim, ReadHandler& handler)
1062
- : stream_(stream),
1063
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
1064
- delim_(delim),
1065
- start_(0),
1066
- search_position_(0),
1067
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
1068
- {
1069
- }
1070
-
1071
- #if defined(ASIO_HAS_MOVE)
1072
- read_until_delim_string_op_v1(const read_until_delim_string_op_v1& other)
1073
- : stream_(other.stream_),
1074
- buffers_(other.buffers_),
1075
- delim_(other.delim_),
1076
- start_(other.start_),
1077
- search_position_(other.search_position_),
1078
- handler_(other.handler_)
1079
- {
1080
- }
1081
-
1082
- read_until_delim_string_op_v1(read_until_delim_string_op_v1&& other)
1083
- : stream_(other.stream_),
1084
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
1085
- delim_(ASIO_MOVE_CAST(std::string)(other.delim_)),
1086
- start_(other.start_),
1087
- search_position_(other.search_position_),
1088
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1089
- {
1090
- }
1091
- #endif // defined(ASIO_HAS_MOVE)
1092
-
1093
- void operator()(const asio::error_code& ec,
1094
- std::size_t bytes_transferred, int start = 0)
1095
- {
1096
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
1097
- std::size_t bytes_to_read;
1098
- switch (start_ = start)
1099
- {
1100
- case 1:
1101
- for (;;)
1102
- {
1103
- {
1104
- // Determine the range of the data to be searched.
1105
- typedef typename DynamicBuffer_v1::const_buffers_type
1106
- buffers_type;
1107
- typedef buffers_iterator<buffers_type> iterator;
1108
- buffers_type data_buffers = buffers_.data();
1109
- iterator begin = iterator::begin(data_buffers);
1110
- iterator start_pos = begin + search_position_;
1111
- iterator end = iterator::end(data_buffers);
1112
-
1113
- // Look for a match.
1114
- std::pair<iterator, bool> result = detail::partial_search(
1115
- start_pos, end, delim_.begin(), delim_.end());
1116
- if (result.first != end && result.second)
1117
- {
1118
- // Full match. We're done.
1119
- search_position_ = result.first - begin + delim_.length();
1120
- bytes_to_read = 0;
1121
- }
1122
-
1123
- // No match yet. Check if buffer is full.
1124
- else if (buffers_.size() == buffers_.max_size())
1125
- {
1126
- search_position_ = not_found;
1127
- bytes_to_read = 0;
1128
- }
1129
-
1130
- // Need to read some more data.
1131
- else
1132
- {
1133
- if (result.first != end)
1134
- {
1135
- // Partial match. Next search needs to start from beginning of
1136
- // match.
1137
- search_position_ = result.first - begin;
1138
- }
1139
- else
1140
- {
1141
- // Next search can start with the new data.
1142
- search_position_ = end - begin;
1143
- }
1144
-
1145
- bytes_to_read = std::min<std::size_t>(
1146
- std::max<std::size_t>(512,
1147
- buffers_.capacity() - buffers_.size()),
1148
- std::min<std::size_t>(65536,
1149
- buffers_.max_size() - buffers_.size()));
1150
- }
1151
- }
1152
-
1153
- // Check if we're done.
1154
- if (!start && bytes_to_read == 0)
1155
- break;
1156
-
1157
- // Start a new asynchronous read op_v1eration to obtain more data.
1158
- stream_.async_read_some(buffers_.prepare(bytes_to_read),
1159
- ASIO_MOVE_CAST(read_until_delim_string_op_v1)(*this));
1160
- return; default:
1161
- buffers_.commit(bytes_transferred);
1162
- if (ec || bytes_transferred == 0)
1163
- break;
1164
- }
1165
-
1166
- const asio::error_code result_ec =
1167
- (search_position_ == not_found)
1168
- ? error::not_found : ec;
1169
-
1170
- const std::size_t result_n =
1171
- (ec || search_position_ == not_found)
1172
- ? 0 : search_position_;
1173
-
1174
- handler_(result_ec, result_n);
1175
- }
1176
- }
1177
-
1178
- //private:
1179
- AsyncReadStream& stream_;
1180
- DynamicBuffer_v1 buffers_;
1181
- std::string delim_;
1182
- int start_;
1183
- std::size_t search_position_;
1184
- ReadHandler handler_;
1185
- };
1186
-
1187
- template <typename AsyncReadStream,
1188
- typename DynamicBuffer_v1, typename ReadHandler>
1189
- inline void* asio_handler_allocate(std::size_t size,
1190
- read_until_delim_string_op_v1<AsyncReadStream,
1191
- DynamicBuffer_v1, ReadHandler>* this_handler)
1192
- {
1193
- return asio_handler_alloc_helpers::allocate(
1194
- size, this_handler->handler_);
1195
- }
1196
-
1197
- template <typename AsyncReadStream,
1198
- typename DynamicBuffer_v1, typename ReadHandler>
1199
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
1200
- read_until_delim_string_op_v1<AsyncReadStream,
1201
- DynamicBuffer_v1, ReadHandler>* this_handler)
1202
- {
1203
- asio_handler_alloc_helpers::deallocate(
1204
- pointer, size, this_handler->handler_);
1205
- }
1206
-
1207
- template <typename AsyncReadStream,
1208
- typename DynamicBuffer_v1, typename ReadHandler>
1209
- inline bool asio_handler_is_continuation(
1210
- read_until_delim_string_op_v1<AsyncReadStream,
1211
- DynamicBuffer_v1, ReadHandler>* this_handler)
1212
- {
1213
- return this_handler->start_ == 0 ? true
1214
- : asio_handler_cont_helpers::is_continuation(
1215
- this_handler->handler_);
1216
- }
1217
-
1218
- template <typename Function, typename AsyncReadStream,
1219
- typename DynamicBuffer_v1, typename ReadHandler>
1220
- inline void asio_handler_invoke(Function& function,
1221
- read_until_delim_string_op_v1<AsyncReadStream,
1222
- DynamicBuffer_v1, ReadHandler>* this_handler)
1223
- {
1224
- asio_handler_invoke_helpers::invoke(
1225
- function, this_handler->handler_);
1226
- }
1227
-
1228
- template <typename Function, typename AsyncReadStream,
1229
- typename DynamicBuffer_v1, typename ReadHandler>
1230
- inline void asio_handler_invoke(const Function& function,
1231
- read_until_delim_string_op_v1<AsyncReadStream,
1232
- DynamicBuffer_v1, ReadHandler>* this_handler)
1233
- {
1234
- asio_handler_invoke_helpers::invoke(
1235
- function, this_handler->handler_);
1236
- }
1237
-
1238
- template <typename AsyncReadStream>
1239
- class initiate_async_read_until_delim_string_v1
1240
- {
1241
- public:
1242
- typedef typename AsyncReadStream::executor_type executor_type;
1243
-
1244
- explicit initiate_async_read_until_delim_string_v1(AsyncReadStream& stream)
1245
- : stream_(stream)
1246
- {
1247
- }
1248
-
1249
- executor_type get_executor() const ASIO_NOEXCEPT
1250
- {
1251
- return stream_.get_executor();
1252
- }
1253
-
1254
- template <typename ReadHandler, typename DynamicBuffer_v1>
1255
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
1256
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1257
- const std::string& delim) const
1258
- {
1259
- // If you get an error on the following line it means that your handler
1260
- // does not meet the documented type requirements for a ReadHandler.
1261
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
1262
-
1263
- non_const_lvalue<ReadHandler> handler2(handler);
1264
- read_until_delim_string_op_v1<AsyncReadStream,
1265
- typename decay<DynamicBuffer_v1>::type,
1266
- typename decay<ReadHandler>::type>(
1267
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1268
- delim, handler2.value)(asio::error_code(), 0, 1);
1269
- }
1270
-
1271
- private:
1272
- AsyncReadStream& stream_;
1273
- };
1274
- } // namespace detail
1275
-
1276
- #if !defined(GENERATING_DOCUMENTATION)
1277
-
1278
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1279
- typename ReadHandler, typename Allocator>
1280
- struct associated_allocator<
1281
- detail::read_until_delim_string_op_v1<AsyncReadStream,
1282
- DynamicBuffer_v1, ReadHandler>,
1283
- Allocator>
1284
- {
1285
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
1286
-
1287
- static type get(
1288
- const detail::read_until_delim_string_op_v1<AsyncReadStream,
1289
- DynamicBuffer_v1, ReadHandler>& h,
1290
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
1291
- {
1292
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
1293
- }
1294
- };
1295
-
1296
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1297
- typename ReadHandler, typename Executor>
1298
- struct associated_executor<
1299
- detail::read_until_delim_string_op_v1<AsyncReadStream,
1300
- DynamicBuffer_v1, ReadHandler>,
1301
- Executor>
1302
- {
1303
- typedef typename associated_executor<ReadHandler, Executor>::type type;
1304
-
1305
- static type get(
1306
- const detail::read_until_delim_string_op_v1<AsyncReadStream,
1307
- DynamicBuffer_v1, ReadHandler>& h,
1308
- const Executor& ex = Executor()) ASIO_NOEXCEPT
1309
- {
1310
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
1311
- }
1312
- };
1313
-
1314
- #endif // !defined(GENERATING_DOCUMENTATION)
1315
-
1316
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1317
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1318
- std::size_t)) ReadHandler>
1319
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1320
- void (asio::error_code, std::size_t))
1321
- async_read_until(AsyncReadStream& s,
1322
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1323
- ASIO_STRING_VIEW_PARAM delim,
1324
- ASIO_MOVE_ARG(ReadHandler) handler,
1325
- typename enable_if<
1326
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1327
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1328
- >::type*)
1329
- {
1330
- return async_initiate<ReadHandler,
1331
- void (asio::error_code, std::size_t)>(
1332
- detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
1333
- handler, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1334
- static_cast<std::string>(delim));
1335
- }
1336
-
1337
- #if !defined(ASIO_NO_EXTENSIONS)
1338
- #if defined(ASIO_HAS_BOOST_REGEX)
1339
-
1340
- namespace detail
1341
- {
1342
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1343
- typename RegEx, typename ReadHandler>
1344
- class read_until_expr_op_v1
1345
- {
1346
- public:
1347
- template <typename BufferSequence>
1348
- read_until_expr_op_v1(AsyncReadStream& stream,
1349
- ASIO_MOVE_ARG(BufferSequence) buffers,
1350
- const boost::regex& expr, ReadHandler& handler)
1351
- : stream_(stream),
1352
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
1353
- expr_(expr),
1354
- start_(0),
1355
- search_position_(0),
1356
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
1357
- {
1358
- }
1359
-
1360
- #if defined(ASIO_HAS_MOVE)
1361
- read_until_expr_op_v1(const read_until_expr_op_v1& other)
1362
- : stream_(other.stream_),
1363
- buffers_(other.buffers_),
1364
- expr_(other.expr_),
1365
- start_(other.start_),
1366
- search_position_(other.search_position_),
1367
- handler_(other.handler_)
1368
- {
1369
- }
1370
-
1371
- read_until_expr_op_v1(read_until_expr_op_v1&& other)
1372
- : stream_(other.stream_),
1373
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
1374
- expr_(other.expr_),
1375
- start_(other.start_),
1376
- search_position_(other.search_position_),
1377
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1378
- {
1379
- }
1380
- #endif // defined(ASIO_HAS_MOVE)
1381
-
1382
- void operator()(const asio::error_code& ec,
1383
- std::size_t bytes_transferred, int start = 0)
1384
- {
1385
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
1386
- std::size_t bytes_to_read;
1387
- switch (start_ = start)
1388
- {
1389
- case 1:
1390
- for (;;)
1391
- {
1392
- {
1393
- // Determine the range of the data to be searched.
1394
- typedef typename DynamicBuffer_v1::const_buffers_type
1395
- buffers_type;
1396
- typedef buffers_iterator<buffers_type> iterator;
1397
- buffers_type data_buffers = buffers_.data();
1398
- iterator begin = iterator::begin(data_buffers);
1399
- iterator start_pos = begin + search_position_;
1400
- iterator end = iterator::end(data_buffers);
1401
-
1402
- // Look for a match.
1403
- boost::match_results<iterator,
1404
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
1405
- match_results;
1406
- bool match = regex_search(start_pos, end, match_results, expr_,
1407
- boost::match_default | boost::match_partial);
1408
- if (match && match_results[0].matched)
1409
- {
1410
- // Full match. We're done.
1411
- search_position_ = match_results[0].second - begin;
1412
- bytes_to_read = 0;
1413
- }
1414
-
1415
- // No match yet. Check if buffer is full.
1416
- else if (buffers_.size() == buffers_.max_size())
1417
- {
1418
- search_position_ = not_found;
1419
- bytes_to_read = 0;
1420
- }
1421
-
1422
- // Need to read some more data.
1423
- else
1424
- {
1425
- if (match)
1426
- {
1427
- // Partial match. Next search needs to start from beginning of
1428
- // match.
1429
- search_position_ = match_results[0].first - begin;
1430
- }
1431
- else
1432
- {
1433
- // Next search can start with the new data.
1434
- search_position_ = end - begin;
1435
- }
1436
-
1437
- bytes_to_read = std::min<std::size_t>(
1438
- std::max<std::size_t>(512,
1439
- buffers_.capacity() - buffers_.size()),
1440
- std::min<std::size_t>(65536,
1441
- buffers_.max_size() - buffers_.size()));
1442
- }
1443
- }
1444
-
1445
- // Check if we're done.
1446
- if (!start && bytes_to_read == 0)
1447
- break;
1448
-
1449
- // Start a new asynchronous read op_v1eration to obtain more data.
1450
- stream_.async_read_some(buffers_.prepare(bytes_to_read),
1451
- ASIO_MOVE_CAST(read_until_expr_op_v1)(*this));
1452
- return; default:
1453
- buffers_.commit(bytes_transferred);
1454
- if (ec || bytes_transferred == 0)
1455
- break;
1456
- }
1457
-
1458
- const asio::error_code result_ec =
1459
- (search_position_ == not_found)
1460
- ? error::not_found : ec;
1461
-
1462
- const std::size_t result_n =
1463
- (ec || search_position_ == not_found)
1464
- ? 0 : search_position_;
1465
-
1466
- handler_(result_ec, result_n);
1467
- }
1468
- }
1469
-
1470
- //private:
1471
- AsyncReadStream& stream_;
1472
- DynamicBuffer_v1 buffers_;
1473
- RegEx expr_;
1474
- int start_;
1475
- std::size_t search_position_;
1476
- ReadHandler handler_;
1477
- };
1478
-
1479
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1480
- typename RegEx, typename ReadHandler>
1481
- inline void* asio_handler_allocate(std::size_t size,
1482
- read_until_expr_op_v1<AsyncReadStream,
1483
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1484
- {
1485
- return asio_handler_alloc_helpers::allocate(
1486
- size, this_handler->handler_);
1487
- }
1488
-
1489
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1490
- typename RegEx, typename ReadHandler>
1491
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
1492
- read_until_expr_op_v1<AsyncReadStream,
1493
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1494
- {
1495
- asio_handler_alloc_helpers::deallocate(
1496
- pointer, size, this_handler->handler_);
1497
- }
1498
-
1499
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1500
- typename RegEx, typename ReadHandler>
1501
- inline bool asio_handler_is_continuation(
1502
- read_until_expr_op_v1<AsyncReadStream,
1503
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1504
- {
1505
- return this_handler->start_ == 0 ? true
1506
- : asio_handler_cont_helpers::is_continuation(
1507
- this_handler->handler_);
1508
- }
1509
-
1510
- template <typename Function, typename AsyncReadStream,
1511
- typename DynamicBuffer_v1, typename RegEx, typename ReadHandler>
1512
- inline void asio_handler_invoke(Function& function,
1513
- read_until_expr_op_v1<AsyncReadStream,
1514
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1515
- {
1516
- asio_handler_invoke_helpers::invoke(
1517
- function, this_handler->handler_);
1518
- }
1519
-
1520
- template <typename Function, typename AsyncReadStream,
1521
- typename DynamicBuffer_v1, typename RegEx, typename ReadHandler>
1522
- inline void asio_handler_invoke(const Function& function,
1523
- read_until_expr_op_v1<AsyncReadStream,
1524
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1525
- {
1526
- asio_handler_invoke_helpers::invoke(
1527
- function, this_handler->handler_);
1528
- }
1529
-
1530
- template <typename AsyncReadStream>
1531
- class initiate_async_read_until_expr_v1
1532
- {
1533
- public:
1534
- typedef typename AsyncReadStream::executor_type executor_type;
1535
-
1536
- explicit initiate_async_read_until_expr_v1(AsyncReadStream& stream)
1537
- : stream_(stream)
1538
- {
1539
- }
1540
-
1541
- executor_type get_executor() const ASIO_NOEXCEPT
1542
- {
1543
- return stream_.get_executor();
1544
- }
1545
-
1546
- template <typename ReadHandler, typename DynamicBuffer_v1, typename RegEx>
1547
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
1548
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, const RegEx& expr) const
1549
- {
1550
- // If you get an error on the following line it means that your handler
1551
- // does not meet the documented type requirements for a ReadHandler.
1552
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
1553
-
1554
- non_const_lvalue<ReadHandler> handler2(handler);
1555
- read_until_expr_op_v1<AsyncReadStream,
1556
- typename decay<DynamicBuffer_v1>::type,
1557
- RegEx, typename decay<ReadHandler>::type>(
1558
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1559
- expr, handler2.value)(asio::error_code(), 0, 1);
1560
- }
1561
-
1562
- private:
1563
- AsyncReadStream& stream_;
1564
- };
1565
- } // namespace detail
1566
-
1567
- #if !defined(GENERATING_DOCUMENTATION)
1568
-
1569
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1570
- typename RegEx, typename ReadHandler, typename Allocator>
1571
- struct associated_allocator<
1572
- detail::read_until_expr_op_v1<AsyncReadStream,
1573
- DynamicBuffer_v1, RegEx, ReadHandler>,
1574
- Allocator>
1575
- {
1576
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
1577
-
1578
- static type get(
1579
- const detail::read_until_expr_op_v1<AsyncReadStream,
1580
- DynamicBuffer_v1, RegEx, ReadHandler>& h,
1581
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
1582
- {
1583
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
1584
- }
1585
- };
1586
-
1587
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1588
- typename RegEx, typename ReadHandler, typename Executor>
1589
- struct associated_executor<
1590
- detail::read_until_expr_op_v1<AsyncReadStream,
1591
- DynamicBuffer_v1, RegEx, ReadHandler>,
1592
- Executor>
1593
- {
1594
- typedef typename associated_executor<ReadHandler, Executor>::type type;
1595
-
1596
- static type get(
1597
- const detail::read_until_expr_op_v1<AsyncReadStream,
1598
- DynamicBuffer_v1, RegEx, ReadHandler>& h,
1599
- const Executor& ex = Executor()) ASIO_NOEXCEPT
1600
- {
1601
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
1602
- }
1603
- };
1604
-
1605
- #endif // !defined(GENERATING_DOCUMENTATION)
1606
-
1607
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1608
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1609
- std::size_t)) ReadHandler>
1610
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1611
- void (asio::error_code, std::size_t))
1612
- async_read_until(AsyncReadStream& s,
1613
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1614
- const boost::regex& expr,
1615
- ASIO_MOVE_ARG(ReadHandler) handler,
1616
- typename enable_if<
1617
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1618
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1619
- >::type*)
1620
- {
1621
- return async_initiate<ReadHandler,
1622
- void (asio::error_code, std::size_t)>(
1623
- detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
1624
- handler, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), expr);
1625
- }
1626
-
1627
- #endif // defined(ASIO_HAS_BOOST_REGEX)
1628
-
1629
- namespace detail
1630
- {
1631
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1632
- typename MatchCondition, typename ReadHandler>
1633
- class read_until_match_op_v1
1634
- {
1635
- public:
1636
- template <typename BufferSequence>
1637
- read_until_match_op_v1(AsyncReadStream& stream,
1638
- ASIO_MOVE_ARG(BufferSequence) buffers,
1639
- MatchCondition match_condition, ReadHandler& handler)
1640
- : stream_(stream),
1641
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
1642
- match_condition_(match_condition),
1643
- start_(0),
1644
- search_position_(0),
1645
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
1646
- {
1647
- }
1648
-
1649
- #if defined(ASIO_HAS_MOVE)
1650
- read_until_match_op_v1(const read_until_match_op_v1& other)
1651
- : stream_(other.stream_),
1652
- buffers_(other.buffers_),
1653
- match_condition_(other.match_condition_),
1654
- start_(other.start_),
1655
- search_position_(other.search_position_),
1656
- handler_(other.handler_)
1657
- {
1658
- }
1659
-
1660
- read_until_match_op_v1(read_until_match_op_v1&& other)
1661
- : stream_(other.stream_),
1662
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
1663
- match_condition_(other.match_condition_),
1664
- start_(other.start_),
1665
- search_position_(other.search_position_),
1666
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1667
- {
1668
- }
1669
- #endif // defined(ASIO_HAS_MOVE)
1670
-
1671
- void operator()(const asio::error_code& ec,
1672
- std::size_t bytes_transferred, int start = 0)
1673
- {
1674
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
1675
- std::size_t bytes_to_read;
1676
- switch (start_ = start)
1677
- {
1678
- case 1:
1679
- for (;;)
1680
- {
1681
- {
1682
- // Determine the range of the data to be searched.
1683
- typedef typename DynamicBuffer_v1::const_buffers_type
1684
- buffers_type;
1685
- typedef buffers_iterator<buffers_type> iterator;
1686
- buffers_type data_buffers = buffers_.data();
1687
- iterator begin = iterator::begin(data_buffers);
1688
- iterator start_pos = begin + search_position_;
1689
- iterator end = iterator::end(data_buffers);
1690
-
1691
- // Look for a match.
1692
- std::pair<iterator, bool> result = match_condition_(start_pos, end);
1693
- if (result.second)
1694
- {
1695
- // Full match. We're done.
1696
- search_position_ = result.first - begin;
1697
- bytes_to_read = 0;
1698
- }
1699
-
1700
- // No match yet. Check if buffer is full.
1701
- else if (buffers_.size() == buffers_.max_size())
1702
- {
1703
- search_position_ = not_found;
1704
- bytes_to_read = 0;
1705
- }
1706
-
1707
- // Need to read some more data.
1708
- else
1709
- {
1710
- if (result.first != end)
1711
- {
1712
- // Partial match. Next search needs to start from beginning of
1713
- // match.
1714
- search_position_ = result.first - begin;
1715
- }
1716
- else
1717
- {
1718
- // Next search can start with the new data.
1719
- search_position_ = end - begin;
1720
- }
1721
-
1722
- bytes_to_read = std::min<std::size_t>(
1723
- std::max<std::size_t>(512,
1724
- buffers_.capacity() - buffers_.size()),
1725
- std::min<std::size_t>(65536,
1726
- buffers_.max_size() - buffers_.size()));
1727
- }
1728
- }
1729
-
1730
- // Check if we're done.
1731
- if (!start && bytes_to_read == 0)
1732
- break;
1733
-
1734
- // Start a new asynchronous read op_v1eration to obtain more data.
1735
- stream_.async_read_some(buffers_.prepare(bytes_to_read),
1736
- ASIO_MOVE_CAST(read_until_match_op_v1)(*this));
1737
- return; default:
1738
- buffers_.commit(bytes_transferred);
1739
- if (ec || bytes_transferred == 0)
1740
- break;
1741
- }
1742
-
1743
- const asio::error_code result_ec =
1744
- (search_position_ == not_found)
1745
- ? error::not_found : ec;
1746
-
1747
- const std::size_t result_n =
1748
- (ec || search_position_ == not_found)
1749
- ? 0 : search_position_;
1750
-
1751
- handler_(result_ec, result_n);
1752
- }
1753
- }
1754
-
1755
- //private:
1756
- AsyncReadStream& stream_;
1757
- DynamicBuffer_v1 buffers_;
1758
- MatchCondition match_condition_;
1759
- int start_;
1760
- std::size_t search_position_;
1761
- ReadHandler handler_;
1762
- };
1763
-
1764
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1765
- typename MatchCondition, typename ReadHandler>
1766
- inline void* asio_handler_allocate(std::size_t size,
1767
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1768
- MatchCondition, ReadHandler>* this_handler)
1769
- {
1770
- return asio_handler_alloc_helpers::allocate(
1771
- size, this_handler->handler_);
1772
- }
1773
-
1774
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1775
- typename MatchCondition, typename ReadHandler>
1776
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
1777
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1778
- MatchCondition, ReadHandler>* this_handler)
1779
- {
1780
- asio_handler_alloc_helpers::deallocate(
1781
- pointer, size, this_handler->handler_);
1782
- }
1783
-
1784
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1785
- typename MatchCondition, typename ReadHandler>
1786
- inline bool asio_handler_is_continuation(
1787
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1788
- MatchCondition, ReadHandler>* this_handler)
1789
- {
1790
- return this_handler->start_ == 0 ? true
1791
- : asio_handler_cont_helpers::is_continuation(
1792
- this_handler->handler_);
1793
- }
1794
-
1795
- template <typename Function, typename AsyncReadStream,
1796
- typename DynamicBuffer_v1, typename MatchCondition,
1797
- typename ReadHandler>
1798
- inline void asio_handler_invoke(Function& function,
1799
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1800
- MatchCondition, ReadHandler>* this_handler)
1801
- {
1802
- asio_handler_invoke_helpers::invoke(
1803
- function, this_handler->handler_);
1804
- }
1805
-
1806
- template <typename Function, typename AsyncReadStream,
1807
- typename DynamicBuffer_v1, typename MatchCondition,
1808
- typename ReadHandler>
1809
- inline void asio_handler_invoke(const Function& function,
1810
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1811
- MatchCondition, ReadHandler>* this_handler)
1812
- {
1813
- asio_handler_invoke_helpers::invoke(
1814
- function, this_handler->handler_);
1815
- }
1816
-
1817
- template <typename AsyncReadStream>
1818
- class initiate_async_read_until_match_v1
1819
- {
1820
- public:
1821
- typedef typename AsyncReadStream::executor_type executor_type;
1822
-
1823
- explicit initiate_async_read_until_match_v1(AsyncReadStream& stream)
1824
- : stream_(stream)
1825
- {
1826
- }
1827
-
1828
- executor_type get_executor() const ASIO_NOEXCEPT
1829
- {
1830
- return stream_.get_executor();
1831
- }
1832
-
1833
- template <typename ReadHandler,
1834
- typename DynamicBuffer_v1, typename MatchCondition>
1835
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
1836
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1837
- MatchCondition match_condition) const
1838
- {
1839
- // If you get an error on the following line it means that your handler
1840
- // does not meet the documented type requirements for a ReadHandler.
1841
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
1842
-
1843
- non_const_lvalue<ReadHandler> handler2(handler);
1844
- read_until_match_op_v1<AsyncReadStream,
1845
- typename decay<DynamicBuffer_v1>::type,
1846
- MatchCondition, typename decay<ReadHandler>::type>(
1847
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1848
- match_condition, handler2.value)(asio::error_code(), 0, 1);
1849
- }
1850
-
1851
- private:
1852
- AsyncReadStream& stream_;
1853
- };
1854
- } // namespace detail
1855
-
1856
- #if !defined(GENERATING_DOCUMENTATION)
1857
-
1858
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1859
- typename MatchCondition, typename ReadHandler, typename Allocator>
1860
- struct associated_allocator<
1861
- detail::read_until_match_op_v1<AsyncReadStream,
1862
- DynamicBuffer_v1, MatchCondition, ReadHandler>,
1863
- Allocator>
1864
- {
1865
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
1866
-
1867
- static type get(
1868
- const detail::read_until_match_op_v1<AsyncReadStream,
1869
- DynamicBuffer_v1, MatchCondition, ReadHandler>& h,
1870
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
1871
- {
1872
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
1873
- }
1874
- };
1875
-
1876
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1877
- typename MatchCondition, typename ReadHandler, typename Executor>
1878
- struct associated_executor<
1879
- detail::read_until_match_op_v1<AsyncReadStream,
1880
- DynamicBuffer_v1, MatchCondition, ReadHandler>,
1881
- Executor>
1882
- {
1883
- typedef typename associated_executor<ReadHandler, Executor>::type type;
1884
-
1885
- static type get(
1886
- const detail::read_until_match_op_v1<AsyncReadStream,
1887
- DynamicBuffer_v1, MatchCondition, ReadHandler>& h,
1888
- const Executor& ex = Executor()) ASIO_NOEXCEPT
1889
- {
1890
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
1891
- }
1892
- };
1893
-
1894
- #endif // !defined(GENERATING_DOCUMENTATION)
1895
-
1896
- template <typename AsyncReadStream,
1897
- typename DynamicBuffer_v1, typename MatchCondition,
1898
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1899
- std::size_t)) ReadHandler>
1900
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1901
- void (asio::error_code, std::size_t))
1902
- async_read_until(AsyncReadStream& s,
1903
- ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1904
- MatchCondition match_condition, ASIO_MOVE_ARG(ReadHandler) handler,
1905
- typename enable_if<
1906
- is_match_condition<MatchCondition>::value
1907
- && is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1908
- && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1909
- >::type*)
1910
- {
1911
- return async_initiate<ReadHandler,
1912
- void (asio::error_code, std::size_t)>(
1913
- detail::initiate_async_read_until_match_v1<AsyncReadStream>(s), handler,
1914
- ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), match_condition);
1915
- }
1916
-
1917
- #if !defined(ASIO_NO_IOSTREAM)
1918
-
1919
- template <typename AsyncReadStream, typename Allocator,
1920
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1921
- std::size_t)) ReadHandler>
1922
- inline ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1923
- void (asio::error_code, std::size_t))
1924
- async_read_until(AsyncReadStream& s,
1925
- asio::basic_streambuf<Allocator>& b,
1926
- char delim, ASIO_MOVE_ARG(ReadHandler) handler)
1927
- {
1928
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
1929
- delim, ASIO_MOVE_CAST(ReadHandler)(handler));
1930
- }
1931
-
1932
- template <typename AsyncReadStream, typename Allocator,
1933
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1934
- std::size_t)) ReadHandler>
1935
- inline ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1936
- void (asio::error_code, std::size_t))
1937
- async_read_until(AsyncReadStream& s,
1938
- asio::basic_streambuf<Allocator>& b,
1939
- ASIO_STRING_VIEW_PARAM delim,
1940
- ASIO_MOVE_ARG(ReadHandler) handler)
1941
- {
1942
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
1943
- delim, ASIO_MOVE_CAST(ReadHandler)(handler));
1944
- }
1945
-
1946
- #if defined(ASIO_HAS_BOOST_REGEX)
1947
-
1948
- template <typename AsyncReadStream, typename Allocator,
1949
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1950
- std::size_t)) ReadHandler>
1951
- inline ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1952
- void (asio::error_code, std::size_t))
1953
- async_read_until(AsyncReadStream& s,
1954
- asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
1955
- ASIO_MOVE_ARG(ReadHandler) handler)
1956
- {
1957
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
1958
- expr, ASIO_MOVE_CAST(ReadHandler)(handler));
1959
- }
1960
-
1961
- #endif // defined(ASIO_HAS_BOOST_REGEX)
1962
-
1963
- template <typename AsyncReadStream, typename Allocator, typename MatchCondition,
1964
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1965
- std::size_t)) ReadHandler>
1966
- inline ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1967
- void (asio::error_code, std::size_t))
1968
- async_read_until(AsyncReadStream& s,
1969
- asio::basic_streambuf<Allocator>& b,
1970
- MatchCondition match_condition, ASIO_MOVE_ARG(ReadHandler) handler,
1971
- typename enable_if<is_match_condition<MatchCondition>::value>::type*)
1972
- {
1973
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
1974
- match_condition, ASIO_MOVE_CAST(ReadHandler)(handler));
1975
- }
1976
-
1977
- #endif // !defined(ASIO_NO_IOSTREAM)
1978
- #endif // !defined(ASIO_NO_EXTENSIONS)
1979
- #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1980
-
1981
- namespace detail
1982
- {
1983
- template <typename AsyncReadStream,
1984
- typename DynamicBuffer_v2, typename ReadHandler>
1985
- class read_until_delim_op_v2
1986
- {
1987
- public:
1988
- template <typename BufferSequence>
1989
- read_until_delim_op_v2(AsyncReadStream& stream,
1990
- ASIO_MOVE_ARG(BufferSequence) buffers,
1991
- char delim, ReadHandler& handler)
1992
- : stream_(stream),
1993
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
1994
- delim_(delim),
1995
- start_(0),
1996
- search_position_(0),
1997
- bytes_to_read_(0),
1998
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
1999
- {
2000
- }
2001
-
2002
- #if defined(ASIO_HAS_MOVE)
2003
- read_until_delim_op_v2(const read_until_delim_op_v2& other)
2004
- : stream_(other.stream_),
2005
- buffers_(other.buffers_),
2006
- delim_(other.delim_),
2007
- start_(other.start_),
2008
- search_position_(other.search_position_),
2009
- bytes_to_read_(other.bytes_to_read_),
2010
- handler_(other.handler_)
2011
- {
2012
- }
2013
-
2014
- read_until_delim_op_v2(read_until_delim_op_v2&& other)
2015
- : stream_(other.stream_),
2016
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2017
- delim_(other.delim_),
2018
- start_(other.start_),
2019
- search_position_(other.search_position_),
2020
- bytes_to_read_(other.bytes_to_read_),
2021
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2022
- {
2023
- }
2024
- #endif // defined(ASIO_HAS_MOVE)
2025
-
2026
- void operator()(const asio::error_code& ec,
2027
- std::size_t bytes_transferred, int start = 0)
2028
- {
2029
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
2030
- std::size_t pos;
2031
- switch (start_ = start)
2032
- {
2033
- case 1:
2034
- for (;;)
2035
- {
2036
- {
2037
- // Determine the range of the data to be searched.
2038
- typedef typename DynamicBuffer_v2::const_buffers_type
2039
- buffers_type;
2040
- typedef buffers_iterator<buffers_type> iterator;
2041
- buffers_type data_buffers =
2042
- const_cast<const DynamicBuffer_v2&>(buffers_).data(
2043
- 0, buffers_.size());
2044
- iterator begin = iterator::begin(data_buffers);
2045
- iterator start_pos = begin + search_position_;
2046
- iterator end = iterator::end(data_buffers);
2047
-
2048
- // Look for a match.
2049
- iterator iter = std::find(start_pos, end, delim_);
2050
- if (iter != end)
2051
- {
2052
- // Found a match. We're done.
2053
- search_position_ = iter - begin + 1;
2054
- bytes_to_read_ = 0;
2055
- }
2056
-
2057
- // No match yet. Check if buffer is full.
2058
- else if (buffers_.size() == buffers_.max_size())
2059
- {
2060
- search_position_ = not_found;
2061
- bytes_to_read_ = 0;
2062
- }
2063
-
2064
- // Need to read some more data.
2065
- else
2066
- {
2067
- // Next search can start with the new data.
2068
- search_position_ = end - begin;
2069
- bytes_to_read_ = std::min<std::size_t>(
2070
- std::max<std::size_t>(512,
2071
- buffers_.capacity() - buffers_.size()),
2072
- std::min<std::size_t>(65536,
2073
- buffers_.max_size() - buffers_.size()));
2074
- }
2075
- }
2076
-
2077
- // Check if we're done.
2078
- if (!start && bytes_to_read_ == 0)
2079
- break;
2080
-
2081
- // Start a new asynchronous read op_v2eration to obtain more data.
2082
- pos = buffers_.size();
2083
- buffers_.grow(bytes_to_read_);
2084
- stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2085
- ASIO_MOVE_CAST(read_until_delim_op_v2)(*this));
2086
- return; default:
2087
- buffers_.shrink(bytes_to_read_ - bytes_transferred);
2088
- if (ec || bytes_transferred == 0)
2089
- break;
2090
- }
2091
-
2092
- const asio::error_code result_ec =
2093
- (search_position_ == not_found)
2094
- ? error::not_found : ec;
2095
-
2096
- const std::size_t result_n =
2097
- (ec || search_position_ == not_found)
2098
- ? 0 : search_position_;
2099
-
2100
- handler_(result_ec, result_n);
2101
- }
2102
- }
2103
-
2104
- //private:
2105
- AsyncReadStream& stream_;
2106
- DynamicBuffer_v2 buffers_;
2107
- char delim_;
2108
- int start_;
2109
- std::size_t search_position_;
2110
- std::size_t bytes_to_read_;
2111
- ReadHandler handler_;
2112
- };
2113
-
2114
- template <typename AsyncReadStream,
2115
- typename DynamicBuffer_v2, typename ReadHandler>
2116
- inline void* asio_handler_allocate(std::size_t size,
2117
- read_until_delim_op_v2<AsyncReadStream,
2118
- DynamicBuffer_v2, ReadHandler>* this_handler)
2119
- {
2120
- return asio_handler_alloc_helpers::allocate(
2121
- size, this_handler->handler_);
2122
- }
2123
-
2124
- template <typename AsyncReadStream,
2125
- typename DynamicBuffer_v2, typename ReadHandler>
2126
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
2127
- read_until_delim_op_v2<AsyncReadStream,
2128
- DynamicBuffer_v2, ReadHandler>* this_handler)
2129
- {
2130
- asio_handler_alloc_helpers::deallocate(
2131
- pointer, size, this_handler->handler_);
2132
- }
2133
-
2134
- template <typename AsyncReadStream,
2135
- typename DynamicBuffer_v2, typename ReadHandler>
2136
- inline bool asio_handler_is_continuation(
2137
- read_until_delim_op_v2<AsyncReadStream,
2138
- DynamicBuffer_v2, ReadHandler>* this_handler)
2139
- {
2140
- return this_handler->start_ == 0 ? true
2141
- : asio_handler_cont_helpers::is_continuation(
2142
- this_handler->handler_);
2143
- }
2144
-
2145
- template <typename Function, typename AsyncReadStream,
2146
- typename DynamicBuffer_v2, typename ReadHandler>
2147
- inline void asio_handler_invoke(Function& function,
2148
- read_until_delim_op_v2<AsyncReadStream,
2149
- DynamicBuffer_v2, ReadHandler>* this_handler)
2150
- {
2151
- asio_handler_invoke_helpers::invoke(
2152
- function, this_handler->handler_);
2153
- }
2154
-
2155
- template <typename Function, typename AsyncReadStream,
2156
- typename DynamicBuffer_v2, typename ReadHandler>
2157
- inline void asio_handler_invoke(const Function& function,
2158
- read_until_delim_op_v2<AsyncReadStream,
2159
- DynamicBuffer_v2, ReadHandler>* this_handler)
2160
- {
2161
- asio_handler_invoke_helpers::invoke(
2162
- function, this_handler->handler_);
2163
- }
2164
-
2165
- template <typename AsyncReadStream>
2166
- class initiate_async_read_until_delim_v2
2167
- {
2168
- public:
2169
- typedef typename AsyncReadStream::executor_type executor_type;
2170
-
2171
- explicit initiate_async_read_until_delim_v2(AsyncReadStream& stream)
2172
- : stream_(stream)
2173
- {
2174
- }
2175
-
2176
- executor_type get_executor() const ASIO_NOEXCEPT
2177
- {
2178
- return stream_.get_executor();
2179
- }
2180
-
2181
- template <typename ReadHandler, typename DynamicBuffer_v2>
2182
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
2183
- ASIO_MOVE_ARG(DynamicBuffer_v2) buffers, char delim) const
2184
- {
2185
- // If you get an error on the following line it means that your handler
2186
- // does not meet the documented type requirements for a ReadHandler.
2187
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
2188
-
2189
- non_const_lvalue<ReadHandler> handler2(handler);
2190
- read_until_delim_op_v2<AsyncReadStream,
2191
- typename decay<DynamicBuffer_v2>::type,
2192
- typename decay<ReadHandler>::type>(
2193
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2194
- delim, handler2.value)(asio::error_code(), 0, 1);
2195
- }
2196
-
2197
- private:
2198
- AsyncReadStream& stream_;
2199
- };
2200
- } // namespace detail
2201
-
2202
- #if !defined(GENERATING_DOCUMENTATION)
2203
-
2204
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2205
- typename ReadHandler, typename Allocator>
2206
- struct associated_allocator<
2207
- detail::read_until_delim_op_v2<AsyncReadStream,
2208
- DynamicBuffer_v2, ReadHandler>,
2209
- Allocator>
2210
- {
2211
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
2212
-
2213
- static type get(
2214
- const detail::read_until_delim_op_v2<AsyncReadStream,
2215
- DynamicBuffer_v2, ReadHandler>& h,
2216
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
2217
- {
2218
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
2219
- }
2220
- };
2221
-
2222
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2223
- typename ReadHandler, typename Executor>
2224
- struct associated_executor<
2225
- detail::read_until_delim_op_v2<AsyncReadStream,
2226
- DynamicBuffer_v2, ReadHandler>,
2227
- Executor>
2228
- {
2229
- typedef typename associated_executor<ReadHandler, Executor>::type type;
2230
-
2231
- static type get(
2232
- const detail::read_until_delim_op_v2<AsyncReadStream,
2233
- DynamicBuffer_v2, ReadHandler>& h,
2234
- const Executor& ex = Executor()) ASIO_NOEXCEPT
2235
- {
2236
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
2237
- }
2238
- };
2239
-
2240
- #endif // !defined(GENERATING_DOCUMENTATION)
2241
-
2242
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2243
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2244
- std::size_t)) ReadHandler>
2245
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2246
- void (asio::error_code, std::size_t))
2247
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2248
- char delim, ASIO_MOVE_ARG(ReadHandler) handler,
2249
- typename enable_if<
2250
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2251
- >::type*)
2252
- {
2253
- return async_initiate<ReadHandler,
2254
- void (asio::error_code, std::size_t)>(
2255
- detail::initiate_async_read_until_delim_v2<AsyncReadStream>(s),
2256
- handler, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim);
2257
- }
2258
-
2259
- namespace detail
2260
- {
2261
- template <typename AsyncReadStream,
2262
- typename DynamicBuffer_v2, typename ReadHandler>
2263
- class read_until_delim_string_op_v2
2264
- {
2265
- public:
2266
- template <typename BufferSequence>
2267
- read_until_delim_string_op_v2(AsyncReadStream& stream,
2268
- ASIO_MOVE_ARG(BufferSequence) buffers,
2269
- const std::string& delim, ReadHandler& handler)
2270
- : stream_(stream),
2271
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
2272
- delim_(delim),
2273
- start_(0),
2274
- search_position_(0),
2275
- bytes_to_read_(0),
2276
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
2277
- {
2278
- }
2279
-
2280
- #if defined(ASIO_HAS_MOVE)
2281
- read_until_delim_string_op_v2(const read_until_delim_string_op_v2& other)
2282
- : stream_(other.stream_),
2283
- buffers_(other.buffers_),
2284
- delim_(other.delim_),
2285
- start_(other.start_),
2286
- search_position_(other.search_position_),
2287
- bytes_to_read_(other.bytes_to_read_),
2288
- handler_(other.handler_)
2289
- {
2290
- }
2291
-
2292
- read_until_delim_string_op_v2(read_until_delim_string_op_v2&& other)
2293
- : stream_(other.stream_),
2294
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2295
- delim_(ASIO_MOVE_CAST(std::string)(other.delim_)),
2296
- start_(other.start_),
2297
- search_position_(other.search_position_),
2298
- bytes_to_read_(other.bytes_to_read_),
2299
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2300
- {
2301
- }
2302
- #endif // defined(ASIO_HAS_MOVE)
2303
-
2304
- void operator()(const asio::error_code& ec,
2305
- std::size_t bytes_transferred, int start = 0)
2306
- {
2307
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
2308
- std::size_t pos;
2309
- switch (start_ = start)
2310
- {
2311
- case 1:
2312
- for (;;)
2313
- {
2314
- {
2315
- // Determine the range of the data to be searched.
2316
- typedef typename DynamicBuffer_v2::const_buffers_type
2317
- buffers_type;
2318
- typedef buffers_iterator<buffers_type> iterator;
2319
- buffers_type data_buffers =
2320
- const_cast<const DynamicBuffer_v2&>(buffers_).data(
2321
- 0, buffers_.size());
2322
- iterator begin = iterator::begin(data_buffers);
2323
- iterator start_pos = begin + search_position_;
2324
- iterator end = iterator::end(data_buffers);
2325
-
2326
- // Look for a match.
2327
- std::pair<iterator, bool> result = detail::partial_search(
2328
- start_pos, end, delim_.begin(), delim_.end());
2329
- if (result.first != end && result.second)
2330
- {
2331
- // Full match. We're done.
2332
- search_position_ = result.first - begin + delim_.length();
2333
- bytes_to_read_ = 0;
2334
- }
2335
-
2336
- // No match yet. Check if buffer is full.
2337
- else if (buffers_.size() == buffers_.max_size())
2338
- {
2339
- search_position_ = not_found;
2340
- bytes_to_read_ = 0;
2341
- }
2342
-
2343
- // Need to read some more data.
2344
- else
2345
- {
2346
- if (result.first != end)
2347
- {
2348
- // Partial match. Next search needs to start from beginning of
2349
- // match.
2350
- search_position_ = result.first - begin;
2351
- }
2352
- else
2353
- {
2354
- // Next search can start with the new data.
2355
- search_position_ = end - begin;
2356
- }
2357
-
2358
- bytes_to_read_ = std::min<std::size_t>(
2359
- std::max<std::size_t>(512,
2360
- buffers_.capacity() - buffers_.size()),
2361
- std::min<std::size_t>(65536,
2362
- buffers_.max_size() - buffers_.size()));
2363
- }
2364
- }
2365
-
2366
- // Check if we're done.
2367
- if (!start && bytes_to_read_ == 0)
2368
- break;
2369
-
2370
- // Start a new asynchronous read op_v2eration to obtain more data.
2371
- pos = buffers_.size();
2372
- buffers_.grow(bytes_to_read_);
2373
- stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2374
- ASIO_MOVE_CAST(read_until_delim_string_op_v2)(*this));
2375
- return; default:
2376
- buffers_.shrink(bytes_to_read_ - bytes_transferred);
2377
- if (ec || bytes_transferred == 0)
2378
- break;
2379
- }
2380
-
2381
- const asio::error_code result_ec =
2382
- (search_position_ == not_found)
2383
- ? error::not_found : ec;
2384
-
2385
- const std::size_t result_n =
2386
- (ec || search_position_ == not_found)
2387
- ? 0 : search_position_;
2388
-
2389
- handler_(result_ec, result_n);
2390
- }
2391
- }
2392
-
2393
- //private:
2394
- AsyncReadStream& stream_;
2395
- DynamicBuffer_v2 buffers_;
2396
- std::string delim_;
2397
- int start_;
2398
- std::size_t search_position_;
2399
- std::size_t bytes_to_read_;
2400
- ReadHandler handler_;
2401
- };
2402
-
2403
- template <typename AsyncReadStream,
2404
- typename DynamicBuffer_v2, typename ReadHandler>
2405
- inline void* asio_handler_allocate(std::size_t size,
2406
- read_until_delim_string_op_v2<AsyncReadStream,
2407
- DynamicBuffer_v2, ReadHandler>* this_handler)
2408
- {
2409
- return asio_handler_alloc_helpers::allocate(
2410
- size, this_handler->handler_);
2411
- }
2412
-
2413
- template <typename AsyncReadStream,
2414
- typename DynamicBuffer_v2, typename ReadHandler>
2415
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
2416
- read_until_delim_string_op_v2<AsyncReadStream,
2417
- DynamicBuffer_v2, ReadHandler>* this_handler)
2418
- {
2419
- asio_handler_alloc_helpers::deallocate(
2420
- pointer, size, this_handler->handler_);
2421
- }
2422
-
2423
- template <typename AsyncReadStream,
2424
- typename DynamicBuffer_v2, typename ReadHandler>
2425
- inline bool asio_handler_is_continuation(
2426
- read_until_delim_string_op_v2<AsyncReadStream,
2427
- DynamicBuffer_v2, ReadHandler>* this_handler)
2428
- {
2429
- return this_handler->start_ == 0 ? true
2430
- : asio_handler_cont_helpers::is_continuation(
2431
- this_handler->handler_);
2432
- }
2433
-
2434
- template <typename Function, typename AsyncReadStream,
2435
- typename DynamicBuffer_v2, typename ReadHandler>
2436
- inline void asio_handler_invoke(Function& function,
2437
- read_until_delim_string_op_v2<AsyncReadStream,
2438
- DynamicBuffer_v2, ReadHandler>* this_handler)
2439
- {
2440
- asio_handler_invoke_helpers::invoke(
2441
- function, this_handler->handler_);
2442
- }
2443
-
2444
- template <typename Function, typename AsyncReadStream,
2445
- typename DynamicBuffer_v2, typename ReadHandler>
2446
- inline void asio_handler_invoke(const Function& function,
2447
- read_until_delim_string_op_v2<AsyncReadStream,
2448
- DynamicBuffer_v2, ReadHandler>* this_handler)
2449
- {
2450
- asio_handler_invoke_helpers::invoke(
2451
- function, this_handler->handler_);
2452
- }
2453
-
2454
- template <typename AsyncReadStream>
2455
- class initiate_async_read_until_delim_string_v2
2456
- {
2457
- public:
2458
- typedef typename AsyncReadStream::executor_type executor_type;
2459
-
2460
- explicit initiate_async_read_until_delim_string_v2(AsyncReadStream& stream)
2461
- : stream_(stream)
2462
- {
2463
- }
2464
-
2465
- executor_type get_executor() const ASIO_NOEXCEPT
2466
- {
2467
- return stream_.get_executor();
2468
- }
2469
-
2470
- template <typename ReadHandler, typename DynamicBuffer_v2>
2471
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
2472
- ASIO_MOVE_ARG(DynamicBuffer_v2) buffers,
2473
- const std::string& delim) const
2474
- {
2475
- // If you get an error on the following line it means that your handler
2476
- // does not meet the documented type requirements for a ReadHandler.
2477
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
2478
-
2479
- non_const_lvalue<ReadHandler> handler2(handler);
2480
- read_until_delim_string_op_v2<AsyncReadStream,
2481
- typename decay<DynamicBuffer_v2>::type,
2482
- typename decay<ReadHandler>::type>(
2483
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2484
- delim, handler2.value)(asio::error_code(), 0, 1);
2485
- }
2486
-
2487
- private:
2488
- AsyncReadStream& stream_;
2489
- };
2490
- } // namespace detail
2491
-
2492
- #if !defined(GENERATING_DOCUMENTATION)
2493
-
2494
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2495
- typename ReadHandler, typename Allocator>
2496
- struct associated_allocator<
2497
- detail::read_until_delim_string_op_v2<AsyncReadStream,
2498
- DynamicBuffer_v2, ReadHandler>,
2499
- Allocator>
2500
- {
2501
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
2502
-
2503
- static type get(
2504
- const detail::read_until_delim_string_op_v2<AsyncReadStream,
2505
- DynamicBuffer_v2, ReadHandler>& h,
2506
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
2507
- {
2508
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
2509
- }
2510
- };
2511
-
2512
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2513
- typename ReadHandler, typename Executor>
2514
- struct associated_executor<
2515
- detail::read_until_delim_string_op_v2<AsyncReadStream,
2516
- DynamicBuffer_v2, ReadHandler>,
2517
- Executor>
2518
- {
2519
- typedef typename associated_executor<ReadHandler, Executor>::type type;
2520
-
2521
- static type get(
2522
- const detail::read_until_delim_string_op_v2<AsyncReadStream,
2523
- DynamicBuffer_v2, ReadHandler>& h,
2524
- const Executor& ex = Executor()) ASIO_NOEXCEPT
2525
- {
2526
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
2527
- }
2528
- };
2529
-
2530
- #endif // !defined(GENERATING_DOCUMENTATION)
2531
-
2532
- template <typename AsyncReadStream,
2533
- typename DynamicBuffer_v2,
2534
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2535
- std::size_t)) ReadHandler>
2536
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2537
- void (asio::error_code, std::size_t))
2538
- async_read_until(AsyncReadStream& s,
2539
- DynamicBuffer_v2 buffers, ASIO_STRING_VIEW_PARAM delim,
2540
- ASIO_MOVE_ARG(ReadHandler) handler,
2541
- typename enable_if<
2542
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2543
- >::type*)
2544
- {
2545
- return async_initiate<ReadHandler,
2546
- void (asio::error_code, std::size_t)>(
2547
- detail::initiate_async_read_until_delim_string_v2<AsyncReadStream>(s),
2548
- handler, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2549
- static_cast<std::string>(delim));
2550
- }
2551
-
2552
- #if !defined(ASIO_NO_EXTENSIONS)
2553
- #if defined(ASIO_HAS_BOOST_REGEX)
2554
-
2555
- namespace detail
2556
- {
2557
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2558
- typename RegEx, typename ReadHandler>
2559
- class read_until_expr_op_v2
2560
- {
2561
- public:
2562
- template <typename BufferSequence>
2563
- read_until_expr_op_v2(AsyncReadStream& stream,
2564
- ASIO_MOVE_ARG(BufferSequence) buffers,
2565
- const boost::regex& expr, ReadHandler& handler)
2566
- : stream_(stream),
2567
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
2568
- expr_(expr),
2569
- start_(0),
2570
- search_position_(0),
2571
- bytes_to_read_(0),
2572
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
2573
- {
2574
- }
2575
-
2576
- #if defined(ASIO_HAS_MOVE)
2577
- read_until_expr_op_v2(const read_until_expr_op_v2& other)
2578
- : stream_(other.stream_),
2579
- buffers_(other.buffers_),
2580
- expr_(other.expr_),
2581
- start_(other.start_),
2582
- search_position_(other.search_position_),
2583
- bytes_to_read_(other.bytes_to_read_),
2584
- handler_(other.handler_)
2585
- {
2586
- }
2587
-
2588
- read_until_expr_op_v2(read_until_expr_op_v2&& other)
2589
- : stream_(other.stream_),
2590
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2591
- expr_(other.expr_),
2592
- start_(other.start_),
2593
- search_position_(other.search_position_),
2594
- bytes_to_read_(other.bytes_to_read_),
2595
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2596
- {
2597
- }
2598
- #endif // defined(ASIO_HAS_MOVE)
2599
-
2600
- void operator()(const asio::error_code& ec,
2601
- std::size_t bytes_transferred, int start = 0)
2602
- {
2603
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
2604
- std::size_t pos;
2605
- switch (start_ = start)
2606
- {
2607
- case 1:
2608
- for (;;)
2609
- {
2610
- {
2611
- // Determine the range of the data to be searched.
2612
- typedef typename DynamicBuffer_v2::const_buffers_type
2613
- buffers_type;
2614
- typedef buffers_iterator<buffers_type> iterator;
2615
- buffers_type data_buffers =
2616
- const_cast<const DynamicBuffer_v2&>(buffers_).data(
2617
- 0, buffers_.size());
2618
- iterator begin = iterator::begin(data_buffers);
2619
- iterator start_pos = begin + search_position_;
2620
- iterator end = iterator::end(data_buffers);
2621
-
2622
- // Look for a match.
2623
- boost::match_results<iterator,
2624
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
2625
- match_results;
2626
- bool match = regex_search(start_pos, end, match_results, expr_,
2627
- boost::match_default | boost::match_partial);
2628
- if (match && match_results[0].matched)
2629
- {
2630
- // Full match. We're done.
2631
- search_position_ = match_results[0].second - begin;
2632
- bytes_to_read_ = 0;
2633
- }
2634
-
2635
- // No match yet. Check if buffer is full.
2636
- else if (buffers_.size() == buffers_.max_size())
2637
- {
2638
- search_position_ = not_found;
2639
- bytes_to_read_ = 0;
2640
- }
2641
-
2642
- // Need to read some more data.
2643
- else
2644
- {
2645
- if (match)
2646
- {
2647
- // Partial match. Next search needs to start from beginning of
2648
- // match.
2649
- search_position_ = match_results[0].first - begin;
2650
- }
2651
- else
2652
- {
2653
- // Next search can start with the new data.
2654
- search_position_ = end - begin;
2655
- }
2656
-
2657
- bytes_to_read_ = std::min<std::size_t>(
2658
- std::max<std::size_t>(512,
2659
- buffers_.capacity() - buffers_.size()),
2660
- std::min<std::size_t>(65536,
2661
- buffers_.max_size() - buffers_.size()));
2662
- }
2663
- }
2664
-
2665
- // Check if we're done.
2666
- if (!start && bytes_to_read_ == 0)
2667
- break;
2668
-
2669
- // Start a new asynchronous read op_v2eration to obtain more data.
2670
- pos = buffers_.size();
2671
- buffers_.grow(bytes_to_read_);
2672
- stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2673
- ASIO_MOVE_CAST(read_until_expr_op_v2)(*this));
2674
- return; default:
2675
- buffers_.shrink(bytes_to_read_ - bytes_transferred);
2676
- if (ec || bytes_transferred == 0)
2677
- break;
2678
- }
2679
-
2680
- const asio::error_code result_ec =
2681
- (search_position_ == not_found)
2682
- ? error::not_found : ec;
2683
-
2684
- const std::size_t result_n =
2685
- (ec || search_position_ == not_found)
2686
- ? 0 : search_position_;
2687
-
2688
- handler_(result_ec, result_n);
2689
- }
2690
- }
2691
-
2692
- //private:
2693
- AsyncReadStream& stream_;
2694
- DynamicBuffer_v2 buffers_;
2695
- RegEx expr_;
2696
- int start_;
2697
- std::size_t search_position_;
2698
- std::size_t bytes_to_read_;
2699
- ReadHandler handler_;
2700
- };
2701
-
2702
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2703
- typename RegEx, typename ReadHandler>
2704
- inline void* asio_handler_allocate(std::size_t size,
2705
- read_until_expr_op_v2<AsyncReadStream,
2706
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2707
- {
2708
- return asio_handler_alloc_helpers::allocate(
2709
- size, this_handler->handler_);
2710
- }
2711
-
2712
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2713
- typename RegEx, typename ReadHandler>
2714
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
2715
- read_until_expr_op_v2<AsyncReadStream,
2716
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2717
- {
2718
- asio_handler_alloc_helpers::deallocate(
2719
- pointer, size, this_handler->handler_);
2720
- }
2721
-
2722
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2723
- typename RegEx, typename ReadHandler>
2724
- inline bool asio_handler_is_continuation(
2725
- read_until_expr_op_v2<AsyncReadStream,
2726
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2727
- {
2728
- return this_handler->start_ == 0 ? true
2729
- : asio_handler_cont_helpers::is_continuation(
2730
- this_handler->handler_);
2731
- }
2732
-
2733
- template <typename Function, typename AsyncReadStream,
2734
- typename DynamicBuffer_v2, typename RegEx, typename ReadHandler>
2735
- inline void asio_handler_invoke(Function& function,
2736
- read_until_expr_op_v2<AsyncReadStream,
2737
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2738
- {
2739
- asio_handler_invoke_helpers::invoke(
2740
- function, this_handler->handler_);
2741
- }
2742
-
2743
- template <typename Function, typename AsyncReadStream,
2744
- typename DynamicBuffer_v2, typename RegEx, typename ReadHandler>
2745
- inline void asio_handler_invoke(const Function& function,
2746
- read_until_expr_op_v2<AsyncReadStream,
2747
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2748
- {
2749
- asio_handler_invoke_helpers::invoke(
2750
- function, this_handler->handler_);
2751
- }
2752
-
2753
- template <typename AsyncReadStream>
2754
- class initiate_async_read_until_expr_v2
2755
- {
2756
- public:
2757
- typedef typename AsyncReadStream::executor_type executor_type;
2758
-
2759
- explicit initiate_async_read_until_expr_v2(AsyncReadStream& stream)
2760
- : stream_(stream)
2761
- {
2762
- }
2763
-
2764
- executor_type get_executor() const ASIO_NOEXCEPT
2765
- {
2766
- return stream_.get_executor();
2767
- }
2768
-
2769
- template <typename ReadHandler, typename DynamicBuffer_v2, typename RegEx>
2770
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
2771
- ASIO_MOVE_ARG(DynamicBuffer_v2) buffers,
2772
- const RegEx& expr) const
2773
- {
2774
- // If you get an error on the following line it means that your handler
2775
- // does not meet the documented type requirements for a ReadHandler.
2776
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
2777
-
2778
- non_const_lvalue<ReadHandler> handler2(handler);
2779
- read_until_expr_op_v2<AsyncReadStream,
2780
- typename decay<DynamicBuffer_v2>::type,
2781
- RegEx, typename decay<ReadHandler>::type>(
2782
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2783
- expr, handler2.value)(asio::error_code(), 0, 1);
2784
- }
2785
-
2786
- private:
2787
- AsyncReadStream& stream_;
2788
- };
2789
- } // namespace detail
2790
-
2791
- #if !defined(GENERATING_DOCUMENTATION)
2792
-
2793
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2794
- typename RegEx, typename ReadHandler, typename Allocator>
2795
- struct associated_allocator<
2796
- detail::read_until_expr_op_v2<AsyncReadStream,
2797
- DynamicBuffer_v2, RegEx, ReadHandler>,
2798
- Allocator>
2799
- {
2800
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
2801
-
2802
- static type get(
2803
- const detail::read_until_expr_op_v2<AsyncReadStream,
2804
- DynamicBuffer_v2, RegEx, ReadHandler>& h,
2805
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
2806
- {
2807
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
2808
- }
2809
- };
2810
-
2811
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2812
- typename RegEx, typename ReadHandler, typename Executor>
2813
- struct associated_executor<
2814
- detail::read_until_expr_op_v2<AsyncReadStream,
2815
- DynamicBuffer_v2, RegEx, ReadHandler>,
2816
- Executor>
2817
- {
2818
- typedef typename associated_executor<ReadHandler, Executor>::type type;
2819
-
2820
- static type get(
2821
- const detail::read_until_expr_op_v2<AsyncReadStream,
2822
- DynamicBuffer_v2, RegEx, ReadHandler>& h,
2823
- const Executor& ex = Executor()) ASIO_NOEXCEPT
2824
- {
2825
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
2826
- }
2827
- };
2828
-
2829
- #endif // !defined(GENERATING_DOCUMENTATION)
2830
-
2831
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2832
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2833
- std::size_t)) ReadHandler>
2834
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
2835
- void (asio::error_code, std::size_t))
2836
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2837
- const boost::regex& expr, ASIO_MOVE_ARG(ReadHandler) handler,
2838
- typename enable_if<
2839
- is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2840
- >::type*)
2841
- {
2842
- return async_initiate<ReadHandler,
2843
- void (asio::error_code, std::size_t)>(
2844
- detail::initiate_async_read_until_expr_v2<AsyncReadStream>(s),
2845
- handler, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), expr);
2846
- }
2847
-
2848
- #endif // defined(ASIO_HAS_BOOST_REGEX)
2849
-
2850
- namespace detail
2851
- {
2852
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2853
- typename MatchCondition, typename ReadHandler>
2854
- class read_until_match_op_v2
2855
- {
2856
- public:
2857
- template <typename BufferSequence>
2858
- read_until_match_op_v2(AsyncReadStream& stream,
2859
- ASIO_MOVE_ARG(BufferSequence) buffers,
2860
- MatchCondition match_condition, ReadHandler& handler)
2861
- : stream_(stream),
2862
- buffers_(ASIO_MOVE_CAST(BufferSequence)(buffers)),
2863
- match_condition_(match_condition),
2864
- start_(0),
2865
- search_position_(0),
2866
- bytes_to_read_(0),
2867
- handler_(ASIO_MOVE_CAST(ReadHandler)(handler))
2868
- {
2869
- }
2870
-
2871
- #if defined(ASIO_HAS_MOVE)
2872
- read_until_match_op_v2(const read_until_match_op_v2& other)
2873
- : stream_(other.stream_),
2874
- buffers_(other.buffers_),
2875
- match_condition_(other.match_condition_),
2876
- start_(other.start_),
2877
- search_position_(other.search_position_),
2878
- bytes_to_read_(other.bytes_to_read_),
2879
- handler_(other.handler_)
2880
- {
2881
- }
2882
-
2883
- read_until_match_op_v2(read_until_match_op_v2&& other)
2884
- : stream_(other.stream_),
2885
- buffers_(ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2886
- match_condition_(other.match_condition_),
2887
- start_(other.start_),
2888
- search_position_(other.search_position_),
2889
- bytes_to_read_(other.bytes_to_read_),
2890
- handler_(ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2891
- {
2892
- }
2893
- #endif // defined(ASIO_HAS_MOVE)
2894
-
2895
- void operator()(const asio::error_code& ec,
2896
- std::size_t bytes_transferred, int start = 0)
2897
- {
2898
- const std::size_t not_found = (std::numeric_limits<std::size_t>::max)();
2899
- std::size_t pos;
2900
- switch (start_ = start)
2901
- {
2902
- case 1:
2903
- for (;;)
2904
- {
2905
- {
2906
- // Determine the range of the data to be searched.
2907
- typedef typename DynamicBuffer_v2::const_buffers_type
2908
- buffers_type;
2909
- typedef buffers_iterator<buffers_type> iterator;
2910
- buffers_type data_buffers =
2911
- const_cast<const DynamicBuffer_v2&>(buffers_).data(
2912
- 0, buffers_.size());
2913
- iterator begin = iterator::begin(data_buffers);
2914
- iterator start_pos = begin + search_position_;
2915
- iterator end = iterator::end(data_buffers);
2916
-
2917
- // Look for a match.
2918
- std::pair<iterator, bool> result = match_condition_(start_pos, end);
2919
- if (result.second)
2920
- {
2921
- // Full match. We're done.
2922
- search_position_ = result.first - begin;
2923
- bytes_to_read_ = 0;
2924
- }
2925
-
2926
- // No match yet. Check if buffer is full.
2927
- else if (buffers_.size() == buffers_.max_size())
2928
- {
2929
- search_position_ = not_found;
2930
- bytes_to_read_ = 0;
2931
- }
2932
-
2933
- // Need to read some more data.
2934
- else
2935
- {
2936
- if (result.first != end)
2937
- {
2938
- // Partial match. Next search needs to start from beginning of
2939
- // match.
2940
- search_position_ = result.first - begin;
2941
- }
2942
- else
2943
- {
2944
- // Next search can start with the new data.
2945
- search_position_ = end - begin;
2946
- }
2947
-
2948
- bytes_to_read_ = std::min<std::size_t>(
2949
- std::max<std::size_t>(512,
2950
- buffers_.capacity() - buffers_.size()),
2951
- std::min<std::size_t>(65536,
2952
- buffers_.max_size() - buffers_.size()));
2953
- }
2954
- }
2955
-
2956
- // Check if we're done.
2957
- if (!start && bytes_to_read_ == 0)
2958
- break;
2959
-
2960
- // Start a new asynchronous read op_v2eration to obtain more data.
2961
- pos = buffers_.size();
2962
- buffers_.grow(bytes_to_read_);
2963
- stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2964
- ASIO_MOVE_CAST(read_until_match_op_v2)(*this));
2965
- return; default:
2966
- buffers_.shrink(bytes_to_read_ - bytes_transferred);
2967
- if (ec || bytes_transferred == 0)
2968
- break;
2969
- }
2970
-
2971
- const asio::error_code result_ec =
2972
- (search_position_ == not_found)
2973
- ? error::not_found : ec;
2974
-
2975
- const std::size_t result_n =
2976
- (ec || search_position_ == not_found)
2977
- ? 0 : search_position_;
2978
-
2979
- handler_(result_ec, result_n);
2980
- }
2981
- }
2982
-
2983
- //private:
2984
- AsyncReadStream& stream_;
2985
- DynamicBuffer_v2 buffers_;
2986
- MatchCondition match_condition_;
2987
- int start_;
2988
- std::size_t search_position_;
2989
- std::size_t bytes_to_read_;
2990
- ReadHandler handler_;
2991
- };
2992
-
2993
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2994
- typename MatchCondition, typename ReadHandler>
2995
- inline void* asio_handler_allocate(std::size_t size,
2996
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
2997
- MatchCondition, ReadHandler>* this_handler)
2998
- {
2999
- return asio_handler_alloc_helpers::allocate(
3000
- size, this_handler->handler_);
3001
- }
3002
-
3003
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
3004
- typename MatchCondition, typename ReadHandler>
3005
- inline void asio_handler_deallocate(void* pointer, std::size_t size,
3006
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3007
- MatchCondition, ReadHandler>* this_handler)
3008
- {
3009
- asio_handler_alloc_helpers::deallocate(
3010
- pointer, size, this_handler->handler_);
3011
- }
3012
-
3013
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
3014
- typename MatchCondition, typename ReadHandler>
3015
- inline bool asio_handler_is_continuation(
3016
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3017
- MatchCondition, ReadHandler>* this_handler)
3018
- {
3019
- return this_handler->start_ == 0 ? true
3020
- : asio_handler_cont_helpers::is_continuation(
3021
- this_handler->handler_);
3022
- }
3023
-
3024
- template <typename Function, typename AsyncReadStream,
3025
- typename DynamicBuffer_v2, typename MatchCondition,
3026
- typename ReadHandler>
3027
- inline void asio_handler_invoke(Function& function,
3028
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3029
- MatchCondition, ReadHandler>* this_handler)
3030
- {
3031
- asio_handler_invoke_helpers::invoke(
3032
- function, this_handler->handler_);
3033
- }
3034
-
3035
- template <typename Function, typename AsyncReadStream,
3036
- typename DynamicBuffer_v2, typename MatchCondition,
3037
- typename ReadHandler>
3038
- inline void asio_handler_invoke(const Function& function,
3039
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3040
- MatchCondition, ReadHandler>* this_handler)
3041
- {
3042
- asio_handler_invoke_helpers::invoke(
3043
- function, this_handler->handler_);
3044
- }
3045
-
3046
- template <typename AsyncReadStream>
3047
- class initiate_async_read_until_match_v2
3048
- {
3049
- public:
3050
- typedef typename AsyncReadStream::executor_type executor_type;
3051
-
3052
- explicit initiate_async_read_until_match_v2(AsyncReadStream& stream)
3053
- : stream_(stream)
3054
- {
3055
- }
3056
-
3057
- executor_type get_executor() const ASIO_NOEXCEPT
3058
- {
3059
- return stream_.get_executor();
3060
- }
3061
-
3062
- template <typename ReadHandler,
3063
- typename DynamicBuffer_v2, typename MatchCondition>
3064
- void operator()(ASIO_MOVE_ARG(ReadHandler) handler,
3065
- ASIO_MOVE_ARG(DynamicBuffer_v2) buffers,
3066
- MatchCondition match_condition) const
3067
- {
3068
- // If you get an error on the following line it means that your handler
3069
- // does not meet the documented type requirements for a ReadHandler.
3070
- ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
3071
-
3072
- non_const_lvalue<ReadHandler> handler2(handler);
3073
- read_until_match_op_v2<AsyncReadStream,
3074
- typename decay<DynamicBuffer_v2>::type,
3075
- MatchCondition, typename decay<ReadHandler>::type>(
3076
- stream_, ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
3077
- match_condition, handler2.value)(asio::error_code(), 0, 1);
3078
- }
3079
-
3080
- private:
3081
- AsyncReadStream& stream_;
3082
- };
3083
- } // namespace detail
3084
-
3085
- #if !defined(GENERATING_DOCUMENTATION)
3086
-
3087
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
3088
- typename MatchCondition, typename ReadHandler, typename Allocator>
3089
- struct associated_allocator<
3090
- detail::read_until_match_op_v2<AsyncReadStream,
3091
- DynamicBuffer_v2, MatchCondition, ReadHandler>,
3092
- Allocator>
3093
- {
3094
- typedef typename associated_allocator<ReadHandler, Allocator>::type type;
3095
-
3096
- static type get(
3097
- const detail::read_until_match_op_v2<AsyncReadStream,
3098
- DynamicBuffer_v2, MatchCondition, ReadHandler>& h,
3099
- const Allocator& a = Allocator()) ASIO_NOEXCEPT
3100
- {
3101
- return associated_allocator<ReadHandler, Allocator>::get(h.handler_, a);
3102
- }
3103
- };
3104
-
3105
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
3106
- typename MatchCondition, typename ReadHandler, typename Executor>
3107
- struct associated_executor<
3108
- detail::read_until_match_op_v2<AsyncReadStream,
3109
- DynamicBuffer_v2, MatchCondition, ReadHandler>,
3110
- Executor>
3111
- {
3112
- typedef typename associated_executor<ReadHandler, Executor>::type type;
3113
-
3114
- static type get(
3115
- const detail::read_until_match_op_v2<AsyncReadStream,
3116
- DynamicBuffer_v2, MatchCondition, ReadHandler>& h,
3117
- const Executor& ex = Executor()) ASIO_NOEXCEPT
3118
- {
3119
- return associated_executor<ReadHandler, Executor>::get(h.handler_, ex);
3120
- }
3121
- };
3122
-
3123
- #endif // !defined(GENERATING_DOCUMENTATION)
3124
-
3125
- template <typename AsyncReadStream,
3126
- typename DynamicBuffer_v2, typename MatchCondition,
3127
- ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
3128
- std::size_t)) ReadHandler>
3129
- ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
3130
- void (asio::error_code, std::size_t))
3131
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
3132
- MatchCondition match_condition, ASIO_MOVE_ARG(ReadHandler) handler,
3133
- typename enable_if<
3134
- is_match_condition<MatchCondition>::value
3135
- && is_dynamic_buffer_v2<DynamicBuffer_v2>::value
3136
- >::type*)
3137
- {
3138
- return async_initiate<ReadHandler,
3139
- void (asio::error_code, std::size_t)>(
3140
- detail::initiate_async_read_until_match_v2<AsyncReadStream>(s), handler,
3141
- ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), match_condition);
3142
- }
3143
-
3144
- #endif // !defined(ASIO_NO_EXTENSIONS)
3145
-
3146
- } // namespace asio
3147
-
3148
- #include "asio/detail/pop_options.hpp"
3149
-
3150
- #endif // ASIO_IMPL_READ_UNTIL_HPP