couchbase 3.0.0.alpha.1-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 (1964) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.gitmodules +15 -0
  4. data/.idea/.gitignore +5 -0
  5. data/.idea/dictionaries/gem_terms.xml +13 -0
  6. data/.idea/inspectionProfiles/Project_Default.xml +7 -0
  7. data/.idea/vcs.xml +11 -0
  8. data/.travis.yml +7 -0
  9. data/Gemfile +23 -0
  10. data/LICENSE.txt +202 -0
  11. data/README.md +7 -0
  12. data/Rakefile +29 -0
  13. data/bin/console +21 -0
  14. data/bin/setup +23 -0
  15. data/couchbase.gemspec +45 -0
  16. data/examples/crud.rb +21 -0
  17. data/examples/query.rb +17 -0
  18. data/examples/subdocument.rb +29 -0
  19. data/ext/.clang-format +15 -0
  20. data/ext/.clang-tidy +20 -0
  21. data/ext/.cmake-format.yaml +8 -0
  22. data/ext/.gitignore +2 -0
  23. data/ext/.idea/.name +1 -0
  24. data/ext/.idea/dictionaries/couchbase_terms.xml +12 -0
  25. data/ext/.idea/ext.iml +2 -0
  26. data/ext/.idea/misc.xml +4 -0
  27. data/ext/.idea/modules.xml +8 -0
  28. data/ext/.idea/vcs.xml +11 -0
  29. data/ext/CMakeLists.txt +145 -0
  30. data/ext/LICENSE.txt +202 -0
  31. data/ext/couchbase/bucket.hxx +75 -0
  32. data/ext/couchbase/cbcrypto/cbcrypto.cc +888 -0
  33. data/ext/couchbase/cbcrypto/cbcrypto.h +89 -0
  34. data/ext/couchbase/cbsasl/client.cc +48 -0
  35. data/ext/couchbase/cbsasl/client.h +127 -0
  36. data/ext/couchbase/cbsasl/context.cc +33 -0
  37. data/ext/couchbase/cbsasl/context.h +52 -0
  38. data/ext/couchbase/cbsasl/error.h +72 -0
  39. data/ext/couchbase/cbsasl/mechanism.cc +48 -0
  40. data/ext/couchbase/cbsasl/mechanism.h +55 -0
  41. data/ext/couchbase/cbsasl/plain/plain.cc +36 -0
  42. data/ext/couchbase/cbsasl/plain/plain.h +53 -0
  43. data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +390 -0
  44. data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +185 -0
  45. data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +81 -0
  46. data/ext/couchbase/cbsasl/scram-sha/stringutils.h +48 -0
  47. data/ext/couchbase/cluster.hxx +159 -0
  48. data/ext/couchbase/collections_manifest.hxx +88 -0
  49. data/ext/couchbase/configuration.hxx +242 -0
  50. data/ext/couchbase/configuration_monitor.hxx +93 -0
  51. data/ext/couchbase/couchbase.cxx +1099 -0
  52. data/ext/couchbase/error_map.hxx +61 -0
  53. data/ext/couchbase/errors.hxx +691 -0
  54. data/ext/couchbase/io/binary_message.hxx +38 -0
  55. data/ext/couchbase/io/binary_parser.hxx +64 -0
  56. data/ext/couchbase/io/http_message.hxx +34 -0
  57. data/ext/couchbase/io/http_parser.hxx +173 -0
  58. data/ext/couchbase/io/http_session.hxx +281 -0
  59. data/ext/couchbase/io/key_value_session.hxx +754 -0
  60. data/ext/couchbase/io/session_manager.hxx +107 -0
  61. data/ext/couchbase/mutation_token.hxx +37 -0
  62. data/ext/couchbase/operations.hxx +29 -0
  63. data/ext/couchbase/operations/command.hxx +77 -0
  64. data/ext/couchbase/operations/document_id.hxx +37 -0
  65. data/ext/couchbase/operations/get.hxx +60 -0
  66. data/ext/couchbase/operations/lookup_in.hxx +85 -0
  67. data/ext/couchbase/operations/mutate_in.hxx +87 -0
  68. data/ext/couchbase/operations/query.hxx +230 -0
  69. data/ext/couchbase/operations/remove.hxx +58 -0
  70. data/ext/couchbase/operations/upsert.hxx +60 -0
  71. data/ext/couchbase/platform/base64.cc +234 -0
  72. data/ext/couchbase/platform/base64.h +47 -0
  73. data/ext/couchbase/platform/random.cc +119 -0
  74. data/ext/couchbase/platform/random.h +39 -0
  75. data/ext/couchbase/platform/string_hex.cc +99 -0
  76. data/ext/couchbase/platform/string_hex.h +50 -0
  77. data/ext/couchbase/platform/uuid.cc +96 -0
  78. data/ext/couchbase/platform/uuid.h +56 -0
  79. data/ext/couchbase/protocol/client_opcode.hxx +215 -0
  80. data/ext/couchbase/protocol/client_request.hxx +113 -0
  81. data/ext/couchbase/protocol/client_response.hxx +181 -0
  82. data/ext/couchbase/protocol/cmd_get.hxx +99 -0
  83. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +111 -0
  84. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +86 -0
  85. data/ext/couchbase/protocol/cmd_get_error_map.hxx +113 -0
  86. data/ext/couchbase/protocol/cmd_hello.hxx +130 -0
  87. data/ext/couchbase/protocol/cmd_info.hxx +35 -0
  88. data/ext/couchbase/protocol/cmd_lookup_in.hxx +203 -0
  89. data/ext/couchbase/protocol/cmd_mutate_in.hxx +265 -0
  90. data/ext/couchbase/protocol/cmd_remove.hxx +79 -0
  91. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +94 -0
  92. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +88 -0
  93. data/ext/couchbase/protocol/cmd_sasl_step.hxx +92 -0
  94. data/ext/couchbase/protocol/cmd_select_bucket.hxx +73 -0
  95. data/ext/couchbase/protocol/cmd_upsert.hxx +136 -0
  96. data/ext/couchbase/protocol/datatype.hxx +48 -0
  97. data/ext/couchbase/protocol/hello_feature.hxx +118 -0
  98. data/ext/couchbase/protocol/magic.hxx +83 -0
  99. data/ext/couchbase/protocol/status.hxx +333 -0
  100. data/ext/couchbase/protocol/unsigned_leb128.h +195 -0
  101. data/ext/couchbase/service_type.hxx +23 -0
  102. data/ext/couchbase/utils/byteswap.hxx +34 -0
  103. data/ext/couchbase/utils/crc32.hxx +48 -0
  104. data/ext/couchbase/version.hxx +22 -0
  105. data/ext/extconf.rb +44 -0
  106. data/ext/test/main.cxx +143 -0
  107. data/ext/third_party/asio/.appveyor.yml +107 -0
  108. data/ext/third_party/asio/.cirrus.yml +16 -0
  109. data/ext/third_party/asio/.gitignore +3 -0
  110. data/ext/third_party/asio/.travis.yml +323 -0
  111. data/ext/third_party/asio/asio/.gitignore +23 -0
  112. data/ext/third_party/asio/asio/COPYING +4 -0
  113. data/ext/third_party/asio/asio/INSTALL +5 -0
  114. data/ext/third_party/asio/asio/LICENSE_1_0.txt +23 -0
  115. data/ext/third_party/asio/asio/Makefile.am +19 -0
  116. data/ext/third_party/asio/asio/README +4 -0
  117. data/ext/third_party/asio/asio/asio.manifest +4865 -0
  118. data/ext/third_party/asio/asio/autogen.sh +55 -0
  119. data/ext/third_party/asio/asio/boost_asio.manifest +5193 -0
  120. data/ext/third_party/asio/asio/boostify.pl +603 -0
  121. data/ext/third_party/asio/asio/configure.ac +182 -0
  122. data/ext/third_party/asio/asio/include/.gitignore +2 -0
  123. data/ext/third_party/asio/asio/include/Makefile.am +484 -0
  124. data/ext/third_party/asio/asio/include/asio.hpp +147 -0
  125. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +131 -0
  126. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +149 -0
  127. data/ext/third_party/asio/asio/include/asio/async_result.hpp +589 -0
  128. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +123 -0
  129. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +1210 -0
  130. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +693 -0
  131. data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +290 -0
  132. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +1202 -0
  133. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +756 -0
  134. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +907 -0
  135. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +568 -0
  136. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +1894 -0
  137. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +2495 -0
  138. data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +407 -0
  139. data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +687 -0
  140. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +1049 -0
  141. data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +452 -0
  142. data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +36 -0
  143. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +763 -0
  144. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +580 -0
  145. data/ext/third_party/asio/asio/include/asio/buffer.hpp +2494 -0
  146. data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +253 -0
  147. data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +25 -0
  148. data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +279 -0
  149. data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +25 -0
  150. data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +245 -0
  151. data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +25 -0
  152. data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +521 -0
  153. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +100 -0
  154. data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +218 -0
  155. data/ext/third_party/asio/asio/include/asio/compose.hpp +136 -0
  156. data/ext/third_party/asio/asio/include/asio/connect.hpp +1076 -0
  157. data/ext/third_party/asio/asio/include/asio/coroutine.hpp +328 -0
  158. data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +38 -0
  159. data/ext/third_party/asio/asio/include/asio/defer.hpp +127 -0
  160. data/ext/third_party/asio/asio/include/asio/detached.hpp +62 -0
  161. data/ext/third_party/asio/asio/include/asio/detail/array.hpp +38 -0
  162. data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +34 -0
  163. data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +32 -0
  164. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +45 -0
  165. data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +69 -0
  166. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +816 -0
  167. data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +66 -0
  168. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +544 -0
  169. data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +126 -0
  170. data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +125 -0
  171. data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +66 -0
  172. data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +190 -0
  173. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +83 -0
  174. data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +94 -0
  175. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +112 -0
  176. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +149 -0
  177. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +1499 -0
  178. data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +414 -0
  179. data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +31 -0
  180. data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +60 -0
  181. data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +34 -0
  182. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +280 -0
  183. data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +36 -0
  184. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +121 -0
  185. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +130 -0
  186. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +130 -0
  187. data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +218 -0
  188. data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +266 -0
  189. data/ext/third_party/asio/asio/include/asio/detail/event.hpp +48 -0
  190. data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +83 -0
  191. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +104 -0
  192. data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +84 -0
  193. data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +39 -0
  194. data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +80 -0
  195. data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +38 -0
  196. data/ext/third_party/asio/asio/include/asio/detail/future.hpp +33 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +91 -0
  198. data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +68 -0
  199. data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +65 -0
  200. data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +99 -0
  201. data/ext/third_party/asio/asio/include/asio/detail/global.hpp +52 -0
  202. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +242 -0
  203. data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +45 -0
  204. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +57 -0
  205. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +238 -0
  206. data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +556 -0
  207. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +113 -0
  208. data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +331 -0
  209. data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +118 -0
  210. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +474 -0
  211. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +91 -0
  212. data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +446 -0
  213. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +89 -0
  214. data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +787 -0
  215. data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +169 -0
  216. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +358 -0
  217. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +93 -0
  218. data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +570 -0
  219. data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +74 -0
  220. data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +129 -0
  221. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +59 -0
  222. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +46 -0
  223. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +84 -0
  224. data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +46 -0
  225. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +223 -0
  226. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +152 -0
  227. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +300 -0
  228. data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +158 -0
  229. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +617 -0
  230. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +100 -0
  231. data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +338 -0
  232. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +94 -0
  233. data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +197 -0
  234. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +667 -0
  235. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +3575 -0
  236. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +185 -0
  237. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +179 -0
  238. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +134 -0
  239. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +118 -0
  240. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +177 -0
  241. data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +60 -0
  242. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +91 -0
  243. data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +101 -0
  244. data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +76 -0
  245. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +525 -0
  246. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +103 -0
  247. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +594 -0
  248. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +192 -0
  249. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +801 -0
  250. data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +84 -0
  251. data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +448 -0
  252. data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +136 -0
  253. data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +150 -0
  254. data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +57 -0
  255. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +626 -0
  256. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +92 -0
  257. data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +121 -0
  258. data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +82 -0
  259. data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +84 -0
  260. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +167 -0
  261. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +193 -0
  262. data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +312 -0
  263. data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +126 -0
  264. data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +70 -0
  265. data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +242 -0
  266. data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +26 -0
  267. data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +59 -0
  268. data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +62 -0
  269. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +70 -0
  270. data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +48 -0
  271. data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +54 -0
  272. data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +43 -0
  273. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +100 -0
  274. data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +47 -0
  275. data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +59 -0
  276. data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +64 -0
  277. data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +68 -0
  278. data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +69 -0
  279. data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +519 -0
  280. data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +60 -0
  281. data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +67 -0
  282. data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +68 -0
  283. data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +171 -0
  284. data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +214 -0
  285. data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +162 -0
  286. data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +38 -0
  287. data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +89 -0
  288. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +141 -0
  289. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +162 -0
  290. data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +118 -0
  291. data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +80 -0
  292. data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +76 -0
  293. data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +85 -0
  294. data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +64 -0
  295. data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +109 -0
  296. data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +79 -0
  297. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +185 -0
  298. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +391 -0
  299. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +92 -0
  300. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +238 -0
  301. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +230 -0
  302. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +116 -0
  303. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +137 -0
  304. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +142 -0
  305. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +135 -0
  306. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +136 -0
  307. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +134 -0
  308. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +505 -0
  309. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +518 -0
  310. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +92 -0
  311. data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +32 -0
  312. data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +40 -0
  313. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +65 -0
  314. data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +168 -0
  315. data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +106 -0
  316. data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +35 -0
  317. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +138 -0
  318. data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +45 -0
  319. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +148 -0
  320. data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +145 -0
  321. data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +143 -0
  322. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +224 -0
  323. data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +78 -0
  324. data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +40 -0
  325. data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +101 -0
  326. data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +87 -0
  327. data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +46 -0
  328. data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +238 -0
  329. data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +164 -0
  330. data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +44 -0
  331. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +88 -0
  332. data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +47 -0
  333. data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +49 -0
  334. data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +229 -0
  335. data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +98 -0
  336. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +337 -0
  337. data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +316 -0
  338. data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +91 -0
  339. data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +416 -0
  340. data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +62 -0
  341. data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +52 -0
  342. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +176 -0
  343. data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +62 -0
  344. data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +70 -0
  345. data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +73 -0
  346. data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +81 -0
  347. data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +71 -0
  348. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +142 -0
  349. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +142 -0
  350. data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +47 -0
  351. data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +60 -0
  352. data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +42 -0
  353. data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +95 -0
  354. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +125 -0
  355. data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +53 -0
  356. data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +51 -0
  357. data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +360 -0
  358. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +68 -0
  359. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +99 -0
  360. data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +66 -0
  361. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +35 -0
  362. data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +40 -0
  363. data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +69 -0
  364. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +89 -0
  365. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +151 -0
  366. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +87 -0
  367. data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +45 -0
  368. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +151 -0
  369. data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +149 -0
  370. data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +90 -0
  371. data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +71 -0
  372. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +113 -0
  373. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +335 -0
  374. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +106 -0
  375. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +338 -0
  376. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +123 -0
  377. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +96 -0
  378. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +92 -0
  379. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +159 -0
  380. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +232 -0
  381. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +308 -0
  382. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +130 -0
  383. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +120 -0
  384. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +129 -0
  385. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +121 -0
  386. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +114 -0
  387. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +581 -0
  388. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +600 -0
  389. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +34 -0
  390. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +123 -0
  391. data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +78 -0
  392. data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +195 -0
  393. data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +74 -0
  394. data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +147 -0
  395. data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +79 -0
  396. data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +124 -0
  397. data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +124 -0
  398. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +305 -0
  399. data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +65 -0
  400. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +121 -0
  401. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +212 -0
  402. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +94 -0
  403. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +115 -0
  404. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +106 -0
  405. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +250 -0
  406. data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +362 -0
  407. data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +147 -0
  408. data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +106 -0
  409. data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +128 -0
  410. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +73 -0
  411. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +291 -0
  412. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +118 -0
  413. data/ext/third_party/asio/asio/include/asio/error.hpp +356 -0
  414. data/ext/third_party/asio/asio/include/asio/error_code.hpp +202 -0
  415. data/ext/third_party/asio/asio/include/asio/execution_context.hpp +412 -0
  416. data/ext/third_party/asio/asio/include/asio/executor.hpp +341 -0
  417. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +170 -0
  418. data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +193 -0
  419. data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +123 -0
  420. data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +133 -0
  421. data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +110 -0
  422. data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +121 -0
  423. data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +122 -0
  424. data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +127 -0
  425. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +81 -0
  426. data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +54 -0
  427. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +85 -0
  428. data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +44 -0
  429. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +422 -0
  430. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +491 -0
  431. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +471 -0
  432. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +160 -0
  433. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +533 -0
  434. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +872 -0
  435. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +113 -0
  436. data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +130 -0
  437. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +113 -0
  438. data/ext/third_party/asio/asio/include/asio/impl/error.ipp +128 -0
  439. data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +206 -0
  440. data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +109 -0
  441. data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +82 -0
  442. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +387 -0
  443. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +38 -0
  444. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +52 -0
  445. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +353 -0
  446. data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +175 -0
  447. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +113 -0
  448. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +1135 -0
  449. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +699 -0
  450. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +3150 -0
  451. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +372 -0
  452. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +59 -0
  453. data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +554 -0
  454. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +490 -0
  455. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +25 -0
  456. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +82 -0
  457. data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +34 -0
  458. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +80 -0
  459. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +85 -0
  460. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +127 -0
  461. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +87 -0
  462. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +276 -0
  463. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +887 -0
  464. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +1043 -0
  465. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +624 -0
  466. data/ext/third_party/asio/asio/include/asio/io_context.hpp +872 -0
  467. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +374 -0
  468. data/ext/third_party/asio/asio/include/asio/io_service.hpp +33 -0
  469. data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +20 -0
  470. data/ext/third_party/asio/asio/include/asio/ip/address.hpp +268 -0
  471. data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +335 -0
  472. data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +162 -0
  473. data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +134 -0
  474. data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +341 -0
  475. data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +183 -0
  476. data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +129 -0
  477. data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +53 -0
  478. data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +264 -0
  479. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +1030 -0
  480. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +113 -0
  481. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +192 -0
  482. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +244 -0
  483. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +311 -0
  484. data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +141 -0
  485. data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +199 -0
  486. data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +566 -0
  487. data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +42 -0
  488. data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +115 -0
  489. data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +67 -0
  490. data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +239 -0
  491. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +67 -0
  492. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +210 -0
  493. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +67 -0
  494. data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +350 -0
  495. data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +43 -0
  496. data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +54 -0
  497. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +54 -0
  498. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +216 -0
  499. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +53 -0
  500. data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +185 -0
  501. data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +191 -0
  502. data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +261 -0
  503. data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +235 -0
  504. data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +129 -0
  505. data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +43 -0
  506. data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +155 -0
  507. data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +111 -0
  508. data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +70 -0
  509. data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +69 -0
  510. data/ext/third_party/asio/asio/include/asio/is_executor.hpp +46 -0
  511. data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +59 -0
  512. data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +59 -0
  513. data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +247 -0
  514. data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +101 -0
  515. data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +80 -0
  516. data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +139 -0
  517. data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +136 -0
  518. data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +90 -0
  519. data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +126 -0
  520. data/ext/third_party/asio/asio/include/asio/placeholders.hpp +151 -0
  521. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +697 -0
  522. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +470 -0
  523. data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +37 -0
  524. data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +90 -0
  525. data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +37 -0
  526. data/ext/third_party/asio/asio/include/asio/post.hpp +123 -0
  527. data/ext/third_party/asio/asio/include/asio/read.hpp +1288 -0
  528. data/ext/third_party/asio/asio/include/asio/read_at.hpp +694 -0
  529. data/ext/third_party/asio/asio/include/asio/read_until.hpp +2863 -0
  530. data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +66 -0
  531. data/ext/third_party/asio/asio/include/asio/serial_port.hpp +36 -0
  532. data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +167 -0
  533. data/ext/third_party/asio/asio/include/asio/signal_set.hpp +28 -0
  534. data/ext/third_party/asio/asio/include/asio/socket_base.hpp +559 -0
  535. data/ext/third_party/asio/asio/include/asio/spawn.hpp +336 -0
  536. data/ext/third_party/asio/asio/include/asio/ssl.hpp +28 -0
  537. data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +761 -0
  538. data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +209 -0
  539. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +114 -0
  540. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +160 -0
  541. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +62 -0
  542. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +336 -0
  543. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +165 -0
  544. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +381 -0
  545. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +101 -0
  546. data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +34 -0
  547. data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +66 -0
  548. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +67 -0
  549. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +64 -0
  550. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +135 -0
  551. data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +62 -0
  552. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +67 -0
  553. data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +125 -0
  554. data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +90 -0
  555. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +67 -0
  556. data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +1238 -0
  557. data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +102 -0
  558. data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +73 -0
  559. data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +164 -0
  560. data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +29 -0
  561. data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +98 -0
  562. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +885 -0
  563. data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +52 -0
  564. data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +67 -0
  565. data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +63 -0
  566. data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +42 -0
  567. data/ext/third_party/asio/asio/include/asio/strand.hpp +314 -0
  568. data/ext/third_party/asio/asio/include/asio/streambuf.hpp +33 -0
  569. data/ext/third_party/asio/asio/include/asio/system_context.hpp +81 -0
  570. data/ext/third_party/asio/asio/include/asio/system_error.hpp +131 -0
  571. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +129 -0
  572. data/ext/third_party/asio/asio/include/asio/system_timer.hpp +42 -0
  573. data/ext/third_party/asio/asio/include/asio/this_coro.hpp +45 -0
  574. data/ext/third_party/asio/asio/include/asio/thread.hpp +92 -0
  575. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +235 -0
  576. data/ext/third_party/asio/asio/include/asio/time_traits.hpp +86 -0
  577. data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +24 -0
  578. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +34 -0
  579. data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +40 -0
  580. data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +20 -0
  581. data/ext/third_party/asio/asio/include/asio/ts/net.hpp +26 -0
  582. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +203 -0
  583. data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +27 -0
  584. data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +26 -0
  585. data/ext/third_party/asio/asio/include/asio/unyield.hpp +21 -0
  586. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +110 -0
  587. data/ext/third_party/asio/asio/include/asio/use_future.hpp +160 -0
  588. data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +71 -0
  589. data/ext/third_party/asio/asio/include/asio/version.hpp +23 -0
  590. data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +56 -0
  591. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +435 -0
  592. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +361 -0
  593. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +490 -0
  594. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +474 -0
  595. data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +38 -0
  596. data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +39 -0
  597. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +143 -0
  598. data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +37 -0
  599. data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +37 -0
  600. data/ext/third_party/asio/asio/include/asio/write.hpp +1246 -0
  601. data/ext/third_party/asio/asio/include/asio/write_at.hpp +702 -0
  602. data/ext/third_party/asio/asio/include/asio/yield.hpp +23 -0
  603. data/ext/third_party/asio/asio/release.pl +440 -0
  604. data/ext/third_party/asio/asio/src/.gitignore +11 -0
  605. data/ext/third_party/asio/asio/src/Makefile.am +23 -0
  606. data/ext/third_party/asio/asio/src/Makefile.mgw +204 -0
  607. data/ext/third_party/asio/asio/src/Makefile.msc +497 -0
  608. data/ext/third_party/asio/asio/src/asio.cpp +11 -0
  609. data/ext/third_party/asio/asio/src/asio_ssl.cpp +11 -0
  610. data/ext/third_party/asio/asio/src/doc/.gitignore +5 -0
  611. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +62 -0
  612. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  613. data/ext/third_party/asio/asio/src/doc/asio.qbk +127 -0
  614. data/ext/third_party/asio/asio/src/doc/asioref.sty +90 -0
  615. data/ext/third_party/asio/asio/src/doc/asioref.xsl +94 -0
  616. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +5 -0
  617. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +22 -0
  618. data/ext/third_party/asio/asio/src/doc/examples.qbk +564 -0
  619. data/ext/third_party/asio/asio/src/doc/history.qbk +1794 -0
  620. data/ext/third_party/asio/asio/src/doc/index.xml +13 -0
  621. data/ext/third_party/asio/asio/src/doc/makepdf.pl +26 -0
  622. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +479 -0
  623. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +3 -0
  624. data/ext/third_party/asio/asio/src/doc/overview.qbk +103 -0
  625. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +89 -0
  626. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +185 -0
  627. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +78 -0
  628. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  629. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +78 -0
  630. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  631. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +106 -0
  632. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +270 -0
  633. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +163 -0
  634. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +88 -0
  635. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +51 -0
  636. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +97 -0
  637. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +271 -0
  638. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +220 -0
  639. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +305 -0
  640. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +72 -0
  641. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +118 -0
  642. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +94 -0
  643. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +152 -0
  644. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +100 -0
  645. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  646. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +149 -0
  647. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +54 -0
  648. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +44 -0
  649. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +45 -0
  650. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +44 -0
  651. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +102 -0
  652. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +124 -0
  653. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +114 -0
  654. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +62 -0
  655. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +67 -0
  656. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  657. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +67 -0
  658. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +52 -0
  659. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +126 -0
  660. data/ext/third_party/asio/asio/src/doc/project-root.jam +1 -0
  661. data/ext/third_party/asio/asio/src/doc/quickref.xml +561 -0
  662. data/ext/third_party/asio/asio/src/doc/reference.dox +264 -0
  663. data/ext/third_party/asio/asio/src/doc/reference.qbk +125973 -0
  664. data/ext/third_party/asio/asio/src/doc/reference.xsl +1831 -0
  665. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +68 -0
  666. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +72 -0
  667. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +25 -0
  668. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +56 -0
  669. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +57 -0
  670. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +50 -0
  671. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +48 -0
  672. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +55 -0
  673. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +42 -0
  674. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +63 -0
  675. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +34 -0
  676. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +72 -0
  677. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +53 -0
  678. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +16 -0
  679. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +93 -0
  680. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +94 -0
  681. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +97 -0
  682. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +30 -0
  683. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +36 -0
  684. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +141 -0
  685. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +33 -0
  686. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +67 -0
  687. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +64 -0
  688. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +72 -0
  689. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +47 -0
  690. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +34 -0
  691. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +62 -0
  692. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +81 -0
  693. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +65 -0
  694. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +61 -0
  695. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +54 -0
  696. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +19 -0
  697. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +56 -0
  698. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +82 -0
  699. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +79 -0
  700. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +82 -0
  701. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +40 -0
  702. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +33 -0
  703. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +54 -0
  704. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +72 -0
  705. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +79 -0
  706. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +49 -0
  707. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +49 -0
  708. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +41 -0
  709. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +39 -0
  710. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +72 -0
  711. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +72 -0
  712. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +52 -0
  713. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +79 -0
  714. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +300 -0
  715. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +39 -0
  716. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +34 -0
  717. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +37 -0
  718. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +7 -0
  719. data/ext/third_party/asio/asio/src/doc/tutorial.dox +226 -0
  720. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +2387 -0
  721. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +437 -0
  722. data/ext/third_party/asio/asio/src/doc/using.qbk +309 -0
  723. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +251 -0
  724. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +10 -0
  725. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +285 -0
  726. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +10 -0
  727. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +131 -0
  728. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +11 -0
  729. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +177 -0
  730. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +93 -0
  731. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +249 -0
  732. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +204 -0
  733. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +11 -0
  734. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +137 -0
  735. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +92 -0
  736. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +59 -0
  737. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +79 -0
  738. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +59 -0
  739. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +53 -0
  740. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +11 -0
  741. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +190 -0
  742. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +161 -0
  743. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +10 -0
  744. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +204 -0
  745. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +106 -0
  746. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +28 -0
  747. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +49 -0
  748. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +91 -0
  749. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +175 -0
  750. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +11 -0
  751. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +99 -0
  752. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +83 -0
  753. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +38 -0
  754. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +44 -0
  755. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +28 -0
  756. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +44 -0
  757. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +46 -0
  758. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +27 -0
  759. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +256 -0
  760. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +64 -0
  761. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +34 -0
  762. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +122 -0
  763. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +46 -0
  764. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +315 -0
  765. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +95 -0
  766. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +94 -0
  767. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +69 -0
  768. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +11 -0
  769. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +93 -0
  770. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +75 -0
  771. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +28 -0
  772. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +69 -0
  773. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +58 -0
  774. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +46 -0
  775. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +46 -0
  776. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +27 -0
  777. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +256 -0
  778. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +64 -0
  779. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +34 -0
  780. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +122 -0
  781. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +46 -0
  782. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +315 -0
  783. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +95 -0
  784. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +77 -0
  785. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +68 -0
  786. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +11 -0
  787. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +94 -0
  788. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +78 -0
  789. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +28 -0
  790. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +46 -0
  791. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +46 -0
  792. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +27 -0
  793. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +256 -0
  794. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +64 -0
  795. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +34 -0
  796. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +122 -0
  797. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +46 -0
  798. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +315 -0
  799. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +95 -0
  800. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +89 -0
  801. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +70 -0
  802. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +11 -0
  803. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +122 -0
  804. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +44 -0
  805. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +28 -0
  806. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +58 -0
  807. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +46 -0
  808. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +27 -0
  809. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +256 -0
  810. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +64 -0
  811. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +46 -0
  812. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +226 -0
  813. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +78 -0
  814. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +122 -0
  815. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +73 -0
  816. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +10 -0
  817. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +94 -0
  818. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +102 -0
  819. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +163 -0
  820. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +10 -0
  821. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +171 -0
  822. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +11 -0
  823. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +44 -0
  824. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +51 -0
  825. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +91 -0
  826. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +13 -0
  827. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +141 -0
  828. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +62 -0
  829. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +61 -0
  830. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +141 -0
  831. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +11 -0
  832. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +93 -0
  833. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +98 -0
  834. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +10 -0
  835. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +240 -0
  836. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +11 -0
  837. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +192 -0
  838. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +156 -0
  839. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +187 -0
  840. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +11 -0
  841. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +125 -0
  842. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +188 -0
  843. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +123 -0
  844. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +50 -0
  845. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +11 -0
  846. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +83 -0
  847. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +97 -0
  848. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +24 -0
  849. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +11 -0
  850. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +145 -0
  851. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +10 -0
  852. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +144 -0
  853. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +94 -0
  854. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +12 -0
  855. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +122 -0
  856. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +89 -0
  857. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +11 -0
  858. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +8 -0
  859. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +49 -0
  860. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +157 -0
  861. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +8 -0
  862. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +170 -0
  863. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +71 -0
  864. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +11 -0
  865. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +311 -0
  866. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +191 -0
  867. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +200 -0
  868. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +154 -0
  869. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +433 -0
  870. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +10 -0
  871. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +106 -0
  872. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +10 -0
  873. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +57 -0
  874. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +10 -0
  875. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +50 -0
  876. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +10 -0
  877. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +119 -0
  878. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +10 -0
  879. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +52 -0
  880. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +10 -0
  881. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +53 -0
  882. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +10 -0
  883. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +89 -0
  884. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +10 -0
  885. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +160 -0
  886. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +500 -0
  887. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +48 -0
  888. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +10 -0
  889. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +24 -0
  890. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +10 -0
  891. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +29 -0
  892. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +10 -0
  893. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +43 -0
  894. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +10 -0
  895. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +54 -0
  896. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +10 -0
  897. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +80 -0
  898. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +378 -0
  899. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +10 -0
  900. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +177 -0
  901. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +161 -0
  902. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +10 -0
  903. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +255 -0
  904. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +10 -0
  905. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +122 -0
  906. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +11 -0
  907. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +167 -0
  908. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +91 -0
  909. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +227 -0
  910. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +11 -0
  911. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +114 -0
  912. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +82 -0
  913. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +55 -0
  914. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +74 -0
  915. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +58 -0
  916. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +52 -0
  917. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +5 -0
  918. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +286 -0
  919. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +54 -0
  920. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +54 -0
  921. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +328 -0
  922. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +299 -0
  923. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +174 -0
  924. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +11 -0
  925. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +189 -0
  926. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +162 -0
  927. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +11 -0
  928. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +94 -0
  929. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +201 -0
  930. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +11 -0
  931. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +94 -0
  932. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +79 -0
  933. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +40 -0
  934. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +48 -0
  935. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +28 -0
  936. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +43 -0
  937. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +45 -0
  938. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +27 -0
  939. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +255 -0
  940. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +64 -0
  941. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +34 -0
  942. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +121 -0
  943. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +47 -0
  944. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +315 -0
  945. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +96 -0
  946. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +94 -0
  947. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +64 -0
  948. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +10 -0
  949. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +202 -0
  950. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +11 -0
  951. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +91 -0
  952. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +13 -0
  953. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +129 -0
  954. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +61 -0
  955. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +60 -0
  956. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +121 -0
  957. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +11 -0
  958. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +88 -0
  959. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +91 -0
  960. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +10 -0
  961. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +212 -0
  962. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +10 -0
  963. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +113 -0
  964. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +131 -0
  965. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +192 -0
  966. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +207 -0
  967. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +243 -0
  968. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +302 -0
  969. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +222 -0
  970. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +217 -0
  971. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +10 -0
  972. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +143 -0
  973. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +93 -0
  974. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +12 -0
  975. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +111 -0
  976. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +84 -0
  977. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +11 -0
  978. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +8 -0
  979. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +49 -0
  980. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +165 -0
  981. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +8 -0
  982. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +143 -0
  983. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +71 -0
  984. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +11 -0
  985. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +311 -0
  986. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +192 -0
  987. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +197 -0
  988. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +155 -0
  989. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +433 -0
  990. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +10 -0
  991. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +106 -0
  992. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +64 -0
  993. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +11 -0
  994. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +117 -0
  995. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +83 -0
  996. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +55 -0
  997. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +77 -0
  998. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +59 -0
  999. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +53 -0
  1000. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +6 -0
  1001. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +281 -0
  1002. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +47 -0
  1003. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +68 -0
  1004. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +54 -0
  1005. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +53 -0
  1006. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +327 -0
  1007. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +294 -0
  1008. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +173 -0
  1009. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +11 -0
  1010. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +91 -0
  1011. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +10 -0
  1012. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +113 -0
  1013. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +131 -0
  1014. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +186 -0
  1015. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +201 -0
  1016. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +238 -0
  1017. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +298 -0
  1018. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +219 -0
  1019. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +212 -0
  1020. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +8 -0
  1021. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +225 -0
  1022. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +76 -0
  1023. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +78 -0
  1024. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +107 -0
  1025. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +85 -0
  1026. data/ext/third_party/asio/asio/src/tests/.gitignore +11 -0
  1027. data/ext/third_party/asio/asio/src/tests/Makefile.am +432 -0
  1028. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +11 -0
  1029. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +52 -0
  1030. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +53 -0
  1031. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +124 -0
  1032. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +114 -0
  1033. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +104 -0
  1034. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +125 -0
  1035. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +11 -0
  1036. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +286 -0
  1037. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +112 -0
  1038. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +233 -0
  1039. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +75 -0
  1040. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +415 -0
  1041. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +94 -0
  1042. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +54 -0
  1043. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +32 -0
  1044. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +49 -0
  1045. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +25 -0
  1046. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +25 -0
  1047. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +25 -0
  1048. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +25 -0
  1049. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +25 -0
  1050. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +25 -0
  1051. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +25 -0
  1052. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +25 -0
  1053. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +26 -0
  1054. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +25 -0
  1055. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +25 -0
  1056. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +25 -0
  1057. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +25 -0
  1058. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +25 -0
  1059. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +25 -0
  1060. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +25 -0
  1061. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +830 -0
  1062. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +338 -0
  1063. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +364 -0
  1064. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +353 -0
  1065. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +292 -0
  1066. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +25 -0
  1067. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +25 -0
  1068. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +185 -0
  1069. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +1190 -0
  1070. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +112 -0
  1071. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +392 -0
  1072. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +25 -0
  1073. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +25 -0
  1074. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +25 -0
  1075. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +89 -0
  1076. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +25 -0
  1077. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +25 -0
  1078. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +25 -0
  1079. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +14 -0
  1080. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +25 -0
  1081. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +263 -0
  1082. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +263 -0
  1083. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +205 -0
  1084. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +248 -0
  1085. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +30 -0
  1086. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +362 -0
  1087. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +325 -0
  1088. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +27 -0
  1089. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +144 -0
  1090. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +25 -0
  1091. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +25 -0
  1092. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +25 -0
  1093. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +25 -0
  1094. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +25 -0
  1095. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +55 -0
  1096. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +577 -0
  1097. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +363 -0
  1098. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +314 -0
  1099. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +238 -0
  1100. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +25 -0
  1101. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +1346 -0
  1102. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +673 -0
  1103. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +171 -0
  1104. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +135 -0
  1105. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +129 -0
  1106. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +129 -0
  1107. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +13 -0
  1108. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +25 -0
  1109. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +76 -0
  1110. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +242 -0
  1111. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +219 -0
  1112. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +25 -0
  1113. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +25 -0
  1114. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +14 -0
  1115. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +25 -0
  1116. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +25 -0
  1117. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +25 -0
  1118. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +25 -0
  1119. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +183 -0
  1120. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +25 -0
  1121. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +4997 -0
  1122. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +7502 -0
  1123. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +1658 -0
  1124. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +25 -0
  1125. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +173 -0
  1126. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +99 -0
  1127. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +95 -0
  1128. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +650 -0
  1129. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +15 -0
  1130. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +25 -0
  1131. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +25 -0
  1132. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +25 -0
  1133. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +25 -0
  1134. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +25 -0
  1135. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +191 -0
  1136. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +25 -0
  1137. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +30 -0
  1138. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +263 -0
  1139. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +62 -0
  1140. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +30 -0
  1141. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +30 -0
  1142. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +399 -0
  1143. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +25 -0
  1144. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +25 -0
  1145. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +25 -0
  1146. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +17 -0
  1147. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +30 -0
  1148. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +30 -0
  1149. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +30 -0
  1150. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +30 -0
  1151. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +30 -0
  1152. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +33 -0
  1153. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +30 -0
  1154. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +30 -0
  1155. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +175 -0
  1156. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +25 -0
  1157. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +670 -0
  1158. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +25 -0
  1159. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +25 -0
  1160. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +18 -0
  1161. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +25 -0
  1162. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +25 -0
  1163. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +25 -0
  1164. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +25 -0
  1165. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +130 -0
  1166. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +26 -0
  1167. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +107 -0
  1168. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +155 -0
  1169. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +148 -0
  1170. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +4904 -0
  1171. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +7563 -0
  1172. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +299 -0
  1173. data/ext/third_party/asio/asio/tsify.pl +574 -0
  1174. data/ext/third_party/gsl/.clang-format +34 -0
  1175. data/ext/third_party/gsl/.github/workflows/main.yml +94 -0
  1176. data/ext/third_party/gsl/.gitignore +16 -0
  1177. data/ext/third_party/gsl/.travis.yml +551 -0
  1178. data/ext/third_party/gsl/CMakeLists.txt +119 -0
  1179. data/ext/third_party/gsl/CMakeSettings.json +18 -0
  1180. data/ext/third_party/gsl/CONTRIBUTING.md +29 -0
  1181. data/ext/third_party/gsl/GSL.natvis +98 -0
  1182. data/ext/third_party/gsl/LICENSE +21 -0
  1183. data/ext/third_party/gsl/README.md +124 -0
  1184. data/ext/third_party/gsl/ThirdPartyNotices.txt +41 -0
  1185. data/ext/third_party/gsl/appveyor.yml +128 -0
  1186. data/ext/third_party/gsl/include/gsl/gsl +29 -0
  1187. data/ext/third_party/gsl/include/gsl/gsl_algorithm +61 -0
  1188. data/ext/third_party/gsl/include/gsl/gsl_assert +133 -0
  1189. data/ext/third_party/gsl/include/gsl/gsl_byte +209 -0
  1190. data/ext/third_party/gsl/include/gsl/gsl_util +171 -0
  1191. data/ext/third_party/gsl/include/gsl/multi_span +2273 -0
  1192. data/ext/third_party/gsl/include/gsl/pointers +301 -0
  1193. data/ext/third_party/gsl/include/gsl/span +764 -0
  1194. data/ext/third_party/gsl/include/gsl/span_ext +198 -0
  1195. data/ext/third_party/gsl/include/gsl/string_span +716 -0
  1196. data/ext/third_party/gsl/tests/CMakeLists.txt +267 -0
  1197. data/ext/third_party/gsl/tests/CMakeLists.txt.in +14 -0
  1198. data/ext/third_party/gsl/tests/algorithm_tests.cpp +227 -0
  1199. data/ext/third_party/gsl/tests/assertion_tests.cpp +61 -0
  1200. data/ext/third_party/gsl/tests/at_tests.cpp +135 -0
  1201. data/ext/third_party/gsl/tests/bounds_tests.cpp +102 -0
  1202. data/ext/third_party/gsl/tests/byte_tests.cpp +129 -0
  1203. data/ext/third_party/gsl/tests/multi_span_tests.cpp +1866 -0
  1204. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +48 -0
  1205. data/ext/third_party/gsl/tests/notnull_tests.cpp +535 -0
  1206. data/ext/third_party/gsl/tests/owner_tests.cpp +43 -0
  1207. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +1021 -0
  1208. data/ext/third_party/gsl/tests/span_ext_tests.cpp +360 -0
  1209. data/ext/third_party/gsl/tests/span_tests.cpp +1244 -0
  1210. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +190 -0
  1211. data/ext/third_party/gsl/tests/strided_span_tests.cpp +790 -0
  1212. data/ext/third_party/gsl/tests/string_span_tests.cpp +1217 -0
  1213. data/ext/third_party/gsl/tests/utils_tests.cpp +129 -0
  1214. data/ext/third_party/http_parser/.gitignore +30 -0
  1215. data/ext/third_party/http_parser/.mailmap +8 -0
  1216. data/ext/third_party/http_parser/.travis.yml +13 -0
  1217. data/ext/third_party/http_parser/AUTHORS +68 -0
  1218. data/ext/third_party/http_parser/LICENSE-MIT +19 -0
  1219. data/ext/third_party/http_parser/README.md +246 -0
  1220. data/ext/third_party/http_parser/bench.c +128 -0
  1221. data/ext/third_party/http_parser/contrib/parsertrace.c +157 -0
  1222. data/ext/third_party/http_parser/contrib/url_parser.c +47 -0
  1223. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +26 -0
  1224. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +14 -0
  1225. data/ext/third_party/http_parser/http_parser.c +2568 -0
  1226. data/ext/third_party/http_parser/http_parser.gyp +111 -0
  1227. data/ext/third_party/http_parser/http_parser.h +447 -0
  1228. data/ext/third_party/http_parser/test.c +4600 -0
  1229. data/ext/third_party/json/.appveyor.yml +44 -0
  1230. data/ext/third_party/json/.clang-format +84 -0
  1231. data/ext/third_party/json/.conan/build.py +80 -0
  1232. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +12 -0
  1233. data/ext/third_party/json/.conan/test_package/conanfile.py +24 -0
  1234. data/ext/third_party/json/.conan/test_package/test_package.cpp +16 -0
  1235. data/ext/third_party/json/.gitignore +3 -0
  1236. data/ext/third_party/json/.travis.yml +173 -0
  1237. data/ext/third_party/json/CMakeLists.txt +44 -0
  1238. data/ext/third_party/json/LICENSE +21 -0
  1239. data/ext/third_party/json/LICENSE.double-conversion +32 -0
  1240. data/ext/third_party/json/LICENSE.itoa +19 -0
  1241. data/ext/third_party/json/LICENSE.ryu +201 -0
  1242. data/ext/third_party/json/README.md +149 -0
  1243. data/ext/third_party/json/conanfile.py +28 -0
  1244. data/ext/third_party/json/contrib/nlohmann.cpp +48 -0
  1245. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +62 -0
  1246. data/ext/third_party/json/contrib/nlohmann/json.hpp +18928 -0
  1247. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +109 -0
  1248. data/ext/third_party/json/doc/Advanced-Use-Cases.md +83 -0
  1249. data/ext/third_party/json/doc/Batteries-Included.md +212 -0
  1250. data/ext/third_party/json/doc/Binding-Traits.md +319 -0
  1251. data/ext/third_party/json/doc/Changelog.md +31 -0
  1252. data/ext/third_party/json/doc/Common-Use-Cases.md +148 -0
  1253. data/ext/third_party/json/doc/Design-Decisions.md +36 -0
  1254. data/ext/third_party/json/doc/Events-Interface.md +140 -0
  1255. data/ext/third_party/json/doc/Getting-Started.md +19 -0
  1256. data/ext/third_party/json/doc/Instance-Sharing.md +163 -0
  1257. data/ext/third_party/json/doc/Interoperability.md +75 -0
  1258. data/ext/third_party/json/doc/Overview.md +24 -0
  1259. data/ext/third_party/json/doc/Overview.png +0 -0
  1260. data/ext/third_party/json/doc/Parser-Interface.md +84 -0
  1261. data/ext/third_party/json/doc/README.md +78 -0
  1262. data/ext/third_party/json/doc/Scratchpad.md +25 -0
  1263. data/ext/third_party/json/doc/Type-Traits.md +364 -0
  1264. data/ext/third_party/json/doc/Types.png +0 -0
  1265. data/ext/third_party/json/doc/Value-Class.md +525 -0
  1266. data/ext/third_party/json/include/tao/json.hpp +45 -0
  1267. data/ext/third_party/json/include/tao/json/basic_value.hpp +941 -0
  1268. data/ext/third_party/json/include/tao/json/binary.hpp +103 -0
  1269. data/ext/third_party/json/include/tao/json/binary_view.hpp +31 -0
  1270. data/ext/third_party/json/include/tao/json/binding.hpp +71 -0
  1271. data/ext/third_party/json/include/tao/json/binding/constant.hpp +232 -0
  1272. data/ext/third_party/json/include/tao/json/binding/element.hpp +182 -0
  1273. data/ext/third_party/json/include/tao/json/binding/factory.hpp +250 -0
  1274. data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +17 -0
  1275. data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +17 -0
  1276. data/ext/third_party/json/include/tao/json/binding/inherit.hpp +14 -0
  1277. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +103 -0
  1278. data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +45 -0
  1279. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +267 -0
  1280. data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +54 -0
  1281. data/ext/third_party/json/include/tao/json/binding/member.hpp +32 -0
  1282. data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +17 -0
  1283. data/ext/third_party/json/include/tao/json/binding/versions.hpp +127 -0
  1284. data/ext/third_party/json/include/tao/json/cbor.hpp +18 -0
  1285. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +34 -0
  1286. data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +32 -0
  1287. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +27 -0
  1288. data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +43 -0
  1289. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +37 -0
  1290. data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +161 -0
  1291. data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +31 -0
  1292. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +33 -0
  1293. data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +33 -0
  1294. data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +32 -0
  1295. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +417 -0
  1296. data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +28 -0
  1297. data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +392 -0
  1298. data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +27 -0
  1299. data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +28 -0
  1300. data/ext/third_party/json/include/tao/json/consume.hpp +43 -0
  1301. data/ext/third_party/json/include/tao/json/consume_file.hpp +33 -0
  1302. data/ext/third_party/json/include/tao/json/consume_string.hpp +31 -0
  1303. data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +43 -0
  1304. data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +41 -0
  1305. data/ext/third_party/json/include/tao/json/contrib/diff.hpp +106 -0
  1306. data/ext/third_party/json/include/tao/json/contrib/get.hpp +152 -0
  1307. data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +92 -0
  1308. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +69 -0
  1309. data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +105 -0
  1310. data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +36 -0
  1311. data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +41 -0
  1312. data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +43 -0
  1313. data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +43 -0
  1314. data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +41 -0
  1315. data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +21 -0
  1316. data/ext/third_party/json/include/tao/json/contrib/patch.hpp +105 -0
  1317. data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +59 -0
  1318. data/ext/third_party/json/include/tao/json/contrib/position.hpp +166 -0
  1319. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +115 -0
  1320. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +1851 -0
  1321. data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +41 -0
  1322. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +90 -0
  1323. data/ext/third_party/json/include/tao/json/contrib/traits.hpp +121 -0
  1324. data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +51 -0
  1325. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +89 -0
  1326. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +43 -0
  1327. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +41 -0
  1328. data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +45 -0
  1329. data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +51 -0
  1330. data/ext/third_party/json/include/tao/json/events.hpp +47 -0
  1331. data/ext/third_party/json/include/tao/json/events/apply.hpp +20 -0
  1332. data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +26 -0
  1333. data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +28 -0
  1334. data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +27 -0
  1335. data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +26 -0
  1336. data/ext/third_party/json/include/tao/json/events/compare.hpp +265 -0
  1337. data/ext/third_party/json/include/tao/json/events/debug.hpp +145 -0
  1338. data/ext/third_party/json/include/tao/json/events/discard.hpp +43 -0
  1339. data/ext/third_party/json/include/tao/json/events/from_file.hpp +28 -0
  1340. data/ext/third_party/json/include/tao/json/events/from_input.hpp +45 -0
  1341. data/ext/third_party/json/include/tao/json/events/from_stream.hpp +33 -0
  1342. data/ext/third_party/json/include/tao/json/events/from_string.hpp +38 -0
  1343. data/ext/third_party/json/include/tao/json/events/from_value.hpp +202 -0
  1344. data/ext/third_party/json/include/tao/json/events/hash.hpp +174 -0
  1345. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +50 -0
  1346. data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +49 -0
  1347. data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +48 -0
  1348. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +62 -0
  1349. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +57 -0
  1350. data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +82 -0
  1351. data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +46 -0
  1352. data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +31 -0
  1353. data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +32 -0
  1354. data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +40 -0
  1355. data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +32 -0
  1356. data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +32 -0
  1357. data/ext/third_party/json/include/tao/json/events/produce.hpp +22 -0
  1358. data/ext/third_party/json/include/tao/json/events/ref.hpp +111 -0
  1359. data/ext/third_party/json/include/tao/json/events/statistics.hpp +112 -0
  1360. data/ext/third_party/json/include/tao/json/events/tee.hpp +386 -0
  1361. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +172 -0
  1362. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +142 -0
  1363. data/ext/third_party/json/include/tao/json/events/to_string.hpp +33 -0
  1364. data/ext/third_party/json/include/tao/json/events/to_value.hpp +137 -0
  1365. data/ext/third_party/json/include/tao/json/events/transformer.hpp +70 -0
  1366. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +411 -0
  1367. data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +51 -0
  1368. data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +192 -0
  1369. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +170 -0
  1370. data/ext/third_party/json/include/tao/json/external/double.hpp +1313 -0
  1371. data/ext/third_party/json/include/tao/json/external/itoa.hpp +149 -0
  1372. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +53 -0
  1373. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +127 -0
  1374. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +23 -0
  1375. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +31 -0
  1376. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +32 -0
  1377. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +51 -0
  1378. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +25 -0
  1379. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +29 -0
  1380. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +21 -0
  1381. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +21 -0
  1382. data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +19 -0
  1383. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +51 -0
  1384. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +67 -0
  1385. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +212 -0
  1386. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +38 -0
  1387. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +53 -0
  1388. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +62 -0
  1389. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +36 -0
  1390. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +50 -0
  1391. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +61 -0
  1392. data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +11 -0
  1393. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +35 -0
  1394. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +67 -0
  1395. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +54 -0
  1396. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +253 -0
  1397. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +68 -0
  1398. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +200 -0
  1399. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +200 -0
  1400. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +105 -0
  1401. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +55 -0
  1402. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +446 -0
  1403. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +88 -0
  1404. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +33 -0
  1405. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +561 -0
  1406. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +104 -0
  1407. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +225 -0
  1408. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +86 -0
  1409. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +62 -0
  1410. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +44 -0
  1411. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +38 -0
  1412. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +158 -0
  1413. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +199 -0
  1414. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +106 -0
  1415. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +33 -0
  1416. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +35 -0
  1417. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +37 -0
  1418. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +39 -0
  1419. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +39 -0
  1420. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +35 -0
  1421. data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +37 -0
  1422. data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +18 -0
  1423. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +44 -0
  1424. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +44 -0
  1425. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +107 -0
  1426. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +18 -0
  1427. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +18 -0
  1428. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +21 -0
  1429. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +58 -0
  1430. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +53 -0
  1431. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +50 -0
  1432. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +34 -0
  1433. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +34 -0
  1434. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +53 -0
  1435. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +31 -0
  1436. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +31 -0
  1437. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +45 -0
  1438. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +29 -0
  1439. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +36 -0
  1440. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +44 -0
  1441. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +32 -0
  1442. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +32 -0
  1443. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +32 -0
  1444. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +49 -0
  1445. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +40 -0
  1446. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +140 -0
  1447. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +44 -0
  1448. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +33 -0
  1449. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +23 -0
  1450. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +187 -0
  1451. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +44 -0
  1452. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +62 -0
  1453. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +206 -0
  1454. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +106 -0
  1455. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +31 -0
  1456. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +31 -0
  1457. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +32 -0
  1458. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +83 -0
  1459. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +219 -0
  1460. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +72 -0
  1461. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +114 -0
  1462. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +25 -0
  1463. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +25 -0
  1464. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +56 -0
  1465. data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +22 -0
  1466. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +53 -0
  1467. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +48 -0
  1468. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +19 -0
  1469. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +51 -0
  1470. data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +29 -0
  1471. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +40 -0
  1472. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +72 -0
  1473. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +52 -0
  1474. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +37 -0
  1475. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +32 -0
  1476. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +19 -0
  1477. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +20 -0
  1478. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +20 -0
  1479. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +22 -0
  1480. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +82 -0
  1481. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +25 -0
  1482. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +23 -0
  1483. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +72 -0
  1484. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +53 -0
  1485. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +44 -0
  1486. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +57 -0
  1487. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +19 -0
  1488. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +20 -0
  1489. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +32 -0
  1490. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +54 -0
  1491. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +34 -0
  1492. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +45 -0
  1493. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +33 -0
  1494. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +54 -0
  1495. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +43 -0
  1496. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +90 -0
  1497. data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +90 -0
  1498. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +53 -0
  1499. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +53 -0
  1500. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +51 -0
  1501. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +93 -0
  1502. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +77 -0
  1503. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +69 -0
  1504. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +66 -0
  1505. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +20 -0
  1506. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +79 -0
  1507. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +46 -0
  1508. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +42 -0
  1509. data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +19 -0
  1510. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +61 -0
  1511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +73 -0
  1512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +25 -0
  1513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +60 -0
  1514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +47 -0
  1515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +19 -0
  1516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +49 -0
  1517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +58 -0
  1518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +32 -0
  1519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +64 -0
  1520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +84 -0
  1521. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +33 -0
  1522. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +73 -0
  1523. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +381 -0
  1524. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +79 -0
  1525. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +87 -0
  1526. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +20 -0
  1527. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +53 -0
  1528. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +69 -0
  1529. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +75 -0
  1530. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +74 -0
  1531. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +16 -0
  1532. data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +16 -0
  1533. data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +20 -0
  1534. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +67 -0
  1535. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +66 -0
  1536. data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +19 -0
  1537. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +62 -0
  1538. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +62 -0
  1539. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +63 -0
  1540. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +36 -0
  1541. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +49 -0
  1542. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +49 -0
  1543. data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +28 -0
  1544. data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +13 -0
  1545. data/ext/third_party/json/include/tao/json/external/ryu.hpp +1216 -0
  1546. data/ext/third_party/json/include/tao/json/forward.hpp +44 -0
  1547. data/ext/third_party/json/include/tao/json/from_file.hpp +32 -0
  1548. data/ext/third_party/json/include/tao/json/from_input.hpp +32 -0
  1549. data/ext/third_party/json/include/tao/json/from_stream.hpp +45 -0
  1550. data/ext/third_party/json/include/tao/json/from_string.hpp +41 -0
  1551. data/ext/third_party/json/include/tao/json/internal/action.hpp +268 -0
  1552. data/ext/third_party/json/include/tao/json/internal/base64.hpp +55 -0
  1553. data/ext/third_party/json/include/tao/json/internal/base64url.hpp +53 -0
  1554. data/ext/third_party/json/include/tao/json/internal/endian.hpp +60 -0
  1555. data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +198 -0
  1556. data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +103 -0
  1557. data/ext/third_party/json/include/tao/json/internal/errors.hpp +85 -0
  1558. data/ext/third_party/json/include/tao/json/internal/escape.hpp +77 -0
  1559. data/ext/third_party/json/include/tao/json/internal/format.hpp +59 -0
  1560. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +229 -0
  1561. data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +31 -0
  1562. data/ext/third_party/json/include/tao/json/internal/identity.hpp +22 -0
  1563. data/ext/third_party/json/include/tao/json/internal/number_state.hpp +80 -0
  1564. data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +267 -0
  1565. data/ext/third_party/json/include/tao/json/internal/pair.hpp +42 -0
  1566. data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +112 -0
  1567. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +218 -0
  1568. data/ext/third_party/json/include/tao/json/internal/single.hpp +40 -0
  1569. data/ext/third_party/json/include/tao/json/internal/string_t.hpp +35 -0
  1570. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +113 -0
  1571. data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +24 -0
  1572. data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +182 -0
  1573. data/ext/third_party/json/include/tao/json/jaxn.hpp +19 -0
  1574. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +34 -0
  1575. data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +32 -0
  1576. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +28 -0
  1577. data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +45 -0
  1578. data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +33 -0
  1579. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +39 -0
  1580. data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +69 -0
  1581. data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +67 -0
  1582. data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +33 -0
  1583. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +33 -0
  1584. data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +33 -0
  1585. data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +48 -0
  1586. data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +42 -0
  1587. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +355 -0
  1588. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +114 -0
  1589. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +108 -0
  1590. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +375 -0
  1591. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +256 -0
  1592. data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +28 -0
  1593. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +27 -0
  1594. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +263 -0
  1595. data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +36 -0
  1596. data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +33 -0
  1597. data/ext/third_party/json/include/tao/json/message_extension.hpp +49 -0
  1598. data/ext/third_party/json/include/tao/json/msgpack.hpp +18 -0
  1599. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +34 -0
  1600. data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +32 -0
  1601. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +27 -0
  1602. data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +43 -0
  1603. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +37 -0
  1604. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +214 -0
  1605. data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +31 -0
  1606. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +33 -0
  1607. data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +33 -0
  1608. data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +32 -0
  1609. data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +57 -0
  1610. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +249 -0
  1611. data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +311 -0
  1612. data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +27 -0
  1613. data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +28 -0
  1614. data/ext/third_party/json/include/tao/json/operators.hpp +494 -0
  1615. data/ext/third_party/json/include/tao/json/parts_parser.hpp +306 -0
  1616. data/ext/third_party/json/include/tao/json/pointer.hpp +432 -0
  1617. data/ext/third_party/json/include/tao/json/produce.hpp +61 -0
  1618. data/ext/third_party/json/include/tao/json/self_contained.hpp +143 -0
  1619. data/ext/third_party/json/include/tao/json/span.hpp +568 -0
  1620. data/ext/third_party/json/include/tao/json/stream.hpp +38 -0
  1621. data/ext/third_party/json/include/tao/json/to_stream.hpp +42 -0
  1622. data/ext/third_party/json/include/tao/json/to_string.hpp +23 -0
  1623. data/ext/third_party/json/include/tao/json/traits.hpp +971 -0
  1624. data/ext/third_party/json/include/tao/json/type.hpp +112 -0
  1625. data/ext/third_party/json/include/tao/json/ubjson.hpp +18 -0
  1626. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +34 -0
  1627. data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +32 -0
  1628. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +27 -0
  1629. data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +43 -0
  1630. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +37 -0
  1631. data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +174 -0
  1632. data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +31 -0
  1633. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +33 -0
  1634. data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +33 -0
  1635. data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +32 -0
  1636. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +413 -0
  1637. data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +46 -0
  1638. data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +393 -0
  1639. data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +28 -0
  1640. data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +29 -0
  1641. data/ext/third_party/json/include/tao/json/utf8.hpp +57 -0
  1642. data/ext/third_party/json/include/tao/json/value.hpp +12 -0
  1643. data/ext/third_party/json/src/example/json/CMakeLists.txt +67 -0
  1644. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +18 -0
  1645. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +18 -0
  1646. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +18 -0
  1647. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +18 -0
  1648. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +18 -0
  1649. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +18 -0
  1650. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +18 -0
  1651. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +249 -0
  1652. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +18 -0
  1653. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +18 -0
  1654. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +18 -0
  1655. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +18 -0
  1656. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +18 -0
  1657. data/ext/third_party/json/src/example/json/json_to_json.cpp +18 -0
  1658. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +18 -0
  1659. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +18 -0
  1660. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +18 -0
  1661. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +18 -0
  1662. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +18 -0
  1663. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +18 -0
  1664. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +18 -0
  1665. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +18 -0
  1666. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +18 -0
  1667. data/ext/third_party/json/src/example/json/printf_doubles.cpp +51 -0
  1668. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +18 -0
  1669. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +18 -0
  1670. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +18 -0
  1671. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +18 -0
  1672. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +18 -0
  1673. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +18 -0
  1674. data/ext/third_party/json/src/example/json/validate_event_order.cpp +27 -0
  1675. data/ext/third_party/json/src/example/json/validate_integer.cpp +56 -0
  1676. data/ext/third_party/json/src/perf/json/bench_mark.hpp +43 -0
  1677. data/ext/third_party/json/src/perf/json/benchmark.cpp +34 -0
  1678. data/ext/third_party/json/src/perf/json/parse_file.cpp +17 -0
  1679. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +19 -0
  1680. data/ext/third_party/json/src/perf/json/print_double.cpp +34 -0
  1681. data/ext/third_party/json/src/perf/json/print_file.cpp +19 -0
  1682. data/ext/third_party/json/src/perf/json/sizes.cpp +24 -0
  1683. data/ext/third_party/json/src/perf/json/syntax_only.cpp +27 -0
  1684. data/ext/third_party/json/src/test/json/CMakeLists.txt +97 -0
  1685. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +43 -0
  1686. data/ext/third_party/json/src/test/json/binding_array.cpp +549 -0
  1687. data/ext/third_party/json/src/test/json/binding_factory.cpp +265 -0
  1688. data/ext/third_party/json/src/test/json/binding_object.cpp +208 -0
  1689. data/ext/third_party/json/src/test/json/binding_versions.cpp +95 -0
  1690. data/ext/third_party/json/src/test/json/cbor.cpp +149 -0
  1691. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +36 -0
  1692. data/ext/third_party/json/src/test/json/contrib_diff.cpp +43 -0
  1693. data/ext/third_party/json/src/test/json/contrib_get.cpp +42 -0
  1694. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +75 -0
  1695. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +113 -0
  1696. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +97 -0
  1697. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +85 -0
  1698. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +79 -0
  1699. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +69 -0
  1700. data/ext/third_party/json/src/test/json/contrib_position.cpp +48 -0
  1701. data/ext/third_party/json/src/test/json/contrib_reference.cpp +44 -0
  1702. data/ext/third_party/json/src/test/json/contrib_schema.cpp +132 -0
  1703. data/ext/third_party/json/src/test/json/contrib_traits.cpp +258 -0
  1704. data/ext/third_party/json/src/test/json/double.cpp +182 -0
  1705. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +54 -0
  1706. data/ext/third_party/json/src/test/json/escape.cpp +42 -0
  1707. data/ext/third_party/json/src/test/json/events_binary_to.cpp +56 -0
  1708. data/ext/third_party/json/src/test/json/events_compare.cpp +433 -0
  1709. data/ext/third_party/json/src/test/json/events_debug.cpp +24 -0
  1710. data/ext/third_party/json/src/test/json/events_hash.cpp +65 -0
  1711. data/ext/third_party/json/src/test/json/events_to_stream.cpp +28 -0
  1712. data/ext/third_party/json/src/test/json/events_to_string.cpp +25 -0
  1713. data/ext/third_party/json/src/test/json/include_json.cpp +14 -0
  1714. data/ext/third_party/json/src/test/json/integer.cpp +118 -0
  1715. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +76 -0
  1716. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +239 -0
  1717. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +220 -0
  1718. data/ext/third_party/json/src/test/json/json_ostream.cpp +102 -0
  1719. data/ext/third_party/json/src/test/json/json_parse.cpp +153 -0
  1720. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +124 -0
  1721. data/ext/third_party/json/src/test/json/json_pointer.cpp +176 -0
  1722. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +38 -0
  1723. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +33 -0
  1724. data/ext/third_party/json/src/test/json/literal.cpp +18 -0
  1725. data/ext/third_party/json/src/test/json/main.hpp +20 -0
  1726. data/ext/third_party/json/src/test/json/make_events.hpp +362 -0
  1727. data/ext/third_party/json/src/test/json/msgpack.cpp +136 -0
  1728. data/ext/third_party/json/src/test/json/object_construction.cpp +167 -0
  1729. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +192 -0
  1730. data/ext/third_party/json/src/test/json/operators.cpp +494 -0
  1731. data/ext/third_party/json/src/test/json/optional.cpp +79 -0
  1732. data/ext/third_party/json/src/test/json/public_base.cpp +142 -0
  1733. data/ext/third_party/json/src/test/json/self_contained.cpp +106 -0
  1734. data/ext/third_party/json/src/test/json/sha256.cpp +38 -0
  1735. data/ext/third_party/json/src/test/json/string_view.cpp +70 -0
  1736. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +339 -0
  1737. data/ext/third_party/json/src/test/json/test.hpp +74 -0
  1738. data/ext/third_party/json/src/test/json/test_events.hpp +250 -0
  1739. data/ext/third_party/json/src/test/json/test_types.hpp +557 -0
  1740. data/ext/third_party/json/src/test/json/test_unhex.hpp +42 -0
  1741. data/ext/third_party/json/src/test/json/type.cpp +35 -0
  1742. data/ext/third_party/json/src/test/json/ubjson.cpp +119 -0
  1743. data/ext/third_party/json/src/test/json/uri_fragment.cpp +52 -0
  1744. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +177 -0
  1745. data/ext/third_party/json/src/test/json/validate_utf8.cpp +37 -0
  1746. data/ext/third_party/json/src/test/json/value_access.cpp +144 -0
  1747. data/ext/third_party/json/src/test/json/value_basics.cpp +241 -0
  1748. data/ext/third_party/json/src/test/json/value_create.cpp +372 -0
  1749. data/ext/third_party/json/src/test/json/value_ptr.cpp +33 -0
  1750. data/ext/third_party/json/src/test/json/value_subscript.cpp +89 -0
  1751. data/ext/third_party/json/src/test/json/with_arguments.cpp +98 -0
  1752. data/ext/third_party/json/tests/blns.json +496 -0
  1753. data/ext/third_party/json/tests/canada.json +9 -0
  1754. data/ext/third_party/json/tests/citm_catalog.json +50469 -0
  1755. data/ext/third_party/json/tests/draft4/additionalItems.json +82 -0
  1756. data/ext/third_party/json/tests/draft4/additionalProperties.json +88 -0
  1757. data/ext/third_party/json/tests/draft4/allOf.json +112 -0
  1758. data/ext/third_party/json/tests/draft4/anyOf.json +68 -0
  1759. data/ext/third_party/json/tests/draft4/default.json +49 -0
  1760. data/ext/third_party/json/tests/draft4/definitions.json +32 -0
  1761. data/ext/third_party/json/tests/draft4/dependencies.json +113 -0
  1762. data/ext/third_party/json/tests/draft4/enum.json +72 -0
  1763. data/ext/third_party/json/tests/draft4/items.json +46 -0
  1764. data/ext/third_party/json/tests/draft4/maxItems.json +28 -0
  1765. data/ext/third_party/json/tests/draft4/maxLength.json +33 -0
  1766. data/ext/third_party/json/tests/draft4/maxProperties.json +28 -0
  1767. data/ext/third_party/json/tests/draft4/maximum.json +42 -0
  1768. data/ext/third_party/json/tests/draft4/minItems.json +28 -0
  1769. data/ext/third_party/json/tests/draft4/minLength.json +33 -0
  1770. data/ext/third_party/json/tests/draft4/minProperties.json +28 -0
  1771. data/ext/third_party/json/tests/draft4/minimum.json +42 -0
  1772. data/ext/third_party/json/tests/draft4/multipleOf.json +60 -0
  1773. data/ext/third_party/json/tests/draft4/not.json +96 -0
  1774. data/ext/third_party/json/tests/draft4/oneOf.json +68 -0
  1775. data/ext/third_party/json/tests/draft4/optional/bignum.json +107 -0
  1776. data/ext/third_party/json/tests/draft4/optional/format.json +148 -0
  1777. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +15 -0
  1778. data/ext/third_party/json/tests/draft4/pattern.json +34 -0
  1779. data/ext/third_party/json/tests/draft4/patternProperties.json +110 -0
  1780. data/ext/third_party/json/tests/draft4/properties.json +92 -0
  1781. data/ext/third_party/json/tests/draft4/ref.json +179 -0
  1782. data/ext/third_party/json/tests/draft4/refRemote.json +74 -0
  1783. data/ext/third_party/json/tests/draft4/required.json +44 -0
  1784. data/ext/third_party/json/tests/draft4/type.json +345 -0
  1785. data/ext/third_party/json/tests/draft4/uniqueItems.json +79 -0
  1786. data/ext/third_party/json/tests/taocpp/binary.jaxn +4 -0
  1787. data/ext/third_party/json/tests/taocpp/dateTime.json +108 -0
  1788. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1789. data/ext/third_party/json/tests/taocpp/number.json +682 -0
  1790. data/ext/third_party/json/tests/taocpp/position.json +8 -0
  1791. data/ext/third_party/json/tests/taocpp/schema.json +378 -0
  1792. data/ext/third_party/json/tests/twitter.json +15482 -0
  1793. data/ext/third_party/spdlog/.clang-format +108 -0
  1794. data/ext/third_party/spdlog/.clang-tidy +54 -0
  1795. data/ext/third_party/spdlog/.gitattributes +1 -0
  1796. data/ext/third_party/spdlog/.gitignore +83 -0
  1797. data/ext/third_party/spdlog/.travis.yml +112 -0
  1798. data/ext/third_party/spdlog/CMakeLists.txt +324 -0
  1799. data/ext/third_party/spdlog/INSTALL +24 -0
  1800. data/ext/third_party/spdlog/LICENSE +26 -0
  1801. data/ext/third_party/spdlog/README.md +423 -0
  1802. data/ext/third_party/spdlog/appveyor.yml +51 -0
  1803. data/ext/third_party/spdlog/bench/CMakeLists.txt +25 -0
  1804. data/ext/third_party/spdlog/bench/async_bench.cpp +179 -0
  1805. data/ext/third_party/spdlog/bench/bench.cpp +238 -0
  1806. data/ext/third_party/spdlog/bench/formatter-bench.cpp +80 -0
  1807. data/ext/third_party/spdlog/bench/latency.cpp +166 -0
  1808. data/ext/third_party/spdlog/bench/utils.h +34 -0
  1809. data/ext/third_party/spdlog/cmake/ide.cmake +18 -0
  1810. data/ext/third_party/spdlog/cmake/pch.h.in +258 -0
  1811. data/ext/third_party/spdlog/cmake/spdlog.pc.in +13 -0
  1812. data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +46 -0
  1813. data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +15 -0
  1814. data/ext/third_party/spdlog/cmake/utils.cmake +61 -0
  1815. data/ext/third_party/spdlog/cmake/version.rc.in +42 -0
  1816. data/ext/third_party/spdlog/example/CMakeLists.txt +23 -0
  1817. data/ext/third_party/spdlog/example/example.cpp +282 -0
  1818. data/ext/third_party/spdlog/include/spdlog/async.h +93 -0
  1819. data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +92 -0
  1820. data/ext/third_party/spdlog/include/spdlog/async_logger.h +68 -0
  1821. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +45 -0
  1822. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +36 -0
  1823. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +103 -0
  1824. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +28 -0
  1825. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +47 -0
  1826. data/ext/third_party/spdlog/include/spdlog/common-inl.h +76 -0
  1827. data/ext/third_party/spdlog/include/spdlog/common.h +246 -0
  1828. data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +69 -0
  1829. data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +45 -0
  1830. data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +141 -0
  1831. data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +32 -0
  1832. data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +132 -0
  1833. data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +59 -0
  1834. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +108 -0
  1835. data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +37 -0
  1836. data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +36 -0
  1837. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +58 -0
  1838. data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +33 -0
  1839. data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +120 -0
  1840. data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +49 -0
  1841. data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +554 -0
  1842. data/ext/third_party/spdlog/include/spdlog/details/os.h +111 -0
  1843. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +49 -0
  1844. data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +40 -0
  1845. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +299 -0
  1846. data/ext/third_party/spdlog/include/spdlog/details/registry.h +112 -0
  1847. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +24 -0
  1848. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +175 -0
  1849. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +145 -0
  1850. data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +124 -0
  1851. data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +120 -0
  1852. data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +11 -0
  1853. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +216 -0
  1854. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +27 -0
  1855. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +1119 -0
  1856. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +568 -0
  1857. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +595 -0
  1858. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +1789 -0
  1859. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +1403 -0
  1860. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +3648 -0
  1861. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +78 -0
  1862. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +143 -0
  1863. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +2 -0
  1864. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +721 -0
  1865. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +387 -0
  1866. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +25 -0
  1867. data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +20 -0
  1868. data/ext/third_party/spdlog/include/spdlog/formatter.h +18 -0
  1869. data/ext/third_party/spdlog/include/spdlog/fwd.h +14 -0
  1870. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +253 -0
  1871. data/ext/third_party/spdlog/include/spdlog/logger.h +392 -0
  1872. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +1358 -0
  1873. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +126 -0
  1874. data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +119 -0
  1875. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +143 -0
  1876. data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +118 -0
  1877. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +63 -0
  1878. data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +52 -0
  1879. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +43 -0
  1880. data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +58 -0
  1881. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +204 -0
  1882. data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +97 -0
  1883. data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +90 -0
  1884. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +49 -0
  1885. data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +44 -0
  1886. data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +50 -0
  1887. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +72 -0
  1888. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +131 -0
  1889. data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +78 -0
  1890. data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +25 -0
  1891. data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +35 -0
  1892. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
  1893. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +45 -0
  1894. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +94 -0
  1895. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +80 -0
  1896. data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +109 -0
  1897. data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +103 -0
  1898. data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +81 -0
  1899. data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +266 -0
  1900. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +180 -0
  1901. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +94 -0
  1902. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +115 -0
  1903. data/ext/third_party/spdlog/include/spdlog/spdlog.h +340 -0
  1904. data/ext/third_party/spdlog/include/spdlog/tweakme.h +116 -0
  1905. data/ext/third_party/spdlog/include/spdlog/version.h +10 -0
  1906. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +43 -0
  1907. data/ext/third_party/spdlog/scripts/extract_version.py +17 -0
  1908. data/ext/third_party/spdlog/scripts/format.sh +16 -0
  1909. data/ext/third_party/spdlog/src/async.cpp +13 -0
  1910. data/ext/third_party/spdlog/src/cfg.cpp +8 -0
  1911. data/ext/third_party/spdlog/src/color_sinks.cpp +51 -0
  1912. data/ext/third_party/spdlog/src/file_sinks.cpp +20 -0
  1913. data/ext/third_party/spdlog/src/fmt.cpp +189 -0
  1914. data/ext/third_party/spdlog/src/spdlog.cpp +26 -0
  1915. data/ext/third_party/spdlog/src/stdout_sinks.cpp +29 -0
  1916. data/ext/third_party/spdlog/tests/CMakeLists.txt +70 -0
  1917. data/ext/third_party/spdlog/tests/catch.hpp +15372 -0
  1918. data/ext/third_party/spdlog/tests/catch.license +23 -0
  1919. data/ext/third_party/spdlog/tests/includes.h +26 -0
  1920. data/ext/third_party/spdlog/tests/main.cpp +2 -0
  1921. data/ext/third_party/spdlog/tests/test_async.cpp +188 -0
  1922. data/ext/third_party/spdlog/tests/test_backtrace.cpp +65 -0
  1923. data/ext/third_party/spdlog/tests/test_cfg.cpp +93 -0
  1924. data/ext/third_party/spdlog/tests/test_create_dir.cpp +80 -0
  1925. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +149 -0
  1926. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +88 -0
  1927. data/ext/third_party/spdlog/tests/test_errors.cpp +118 -0
  1928. data/ext/third_party/spdlog/tests/test_eventlog.cpp +71 -0
  1929. data/ext/third_party/spdlog/tests/test_file_helper.cpp +102 -0
  1930. data/ext/third_party/spdlog/tests/test_file_logging.cpp +98 -0
  1931. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +86 -0
  1932. data/ext/third_party/spdlog/tests/test_macros.cpp +60 -0
  1933. data/ext/third_party/spdlog/tests/test_misc.cpp +271 -0
  1934. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +106 -0
  1935. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +443 -0
  1936. data/ext/third_party/spdlog/tests/test_registry.cpp +116 -0
  1937. data/ext/third_party/spdlog/tests/test_sink.h +79 -0
  1938. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +98 -0
  1939. data/ext/third_party/spdlog/tests/test_systemd.cpp +15 -0
  1940. data/ext/third_party/spdlog/tests/test_time_point.cpp +36 -0
  1941. data/ext/third_party/spdlog/tests/utils.cpp +125 -0
  1942. data/ext/third_party/spdlog/tests/utils.h +18 -0
  1943. data/lib/couchbase.rb +18 -0
  1944. data/lib/couchbase/authenticator.rb +25 -0
  1945. data/lib/couchbase/binary_collection.rb +128 -0
  1946. data/lib/couchbase/bucket.rb +81 -0
  1947. data/lib/couchbase/cluster.rb +256 -0
  1948. data/lib/couchbase/collection.rb +378 -0
  1949. data/lib/couchbase/common_options.rb +29 -0
  1950. data/lib/couchbase/errors.rb +222 -0
  1951. data/lib/couchbase/management/analytics_index_manager.rb +143 -0
  1952. data/lib/couchbase/management/bucket_manager.rb +187 -0
  1953. data/lib/couchbase/management/collection_manager.rb +28 -0
  1954. data/lib/couchbase/management/query_index_manager.rb +26 -0
  1955. data/lib/couchbase/management/search_index_manager.rb +26 -0
  1956. data/lib/couchbase/management/user_manager.rb +321 -0
  1957. data/lib/couchbase/management/view_index_manager.rb +28 -0
  1958. data/lib/couchbase/mutation_state.rb +40 -0
  1959. data/lib/couchbase/results.rb +307 -0
  1960. data/lib/couchbase/scope.rb +49 -0
  1961. data/lib/couchbase/subdoc.rb +226 -0
  1962. data/lib/couchbase/version.rb +18 -0
  1963. data/rbi/couchbase.rbi +79 -0
  1964. metadata +2073 -0
@@ -0,0 +1,37 @@
1
+ //
2
+ // posix/descriptor.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_POSIX_DESCRIPTOR_HPP
12
+ #define ASIO_POSIX_DESCRIPTOR_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+
20
+ #if defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR) \
21
+ || defined(GENERATING_DOCUMENTATION)
22
+
23
+ #include "asio/posix/basic_descriptor.hpp"
24
+
25
+ namespace asio {
26
+ namespace posix {
27
+
28
+ /// Typedef for the typical usage of basic_descriptor.
29
+ typedef basic_descriptor<> descriptor;
30
+
31
+ } // namespace posix
32
+ } // namespace asio
33
+
34
+ #endif // defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
35
+ // || defined(GENERATING_DOCUMENTATION)
36
+
37
+ #endif // ASIO_POSIX_DESCRIPTOR_HPP
@@ -0,0 +1,90 @@
1
+ //
2
+ // posix/descriptor_base.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_POSIX_DESCRIPTOR_BASE_HPP
12
+ #define ASIO_POSIX_DESCRIPTOR_BASE_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+
20
+ #if defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR) \
21
+ || defined(GENERATING_DOCUMENTATION)
22
+
23
+ #include "asio/detail/io_control.hpp"
24
+ #include "asio/detail/socket_option.hpp"
25
+
26
+ #include "asio/detail/push_options.hpp"
27
+
28
+ namespace asio {
29
+ namespace posix {
30
+
31
+ /// The descriptor_base class is used as a base for the descriptor class as a
32
+ /// place to define the associated IO control commands.
33
+ class descriptor_base
34
+ {
35
+ public:
36
+ /// Wait types.
37
+ /**
38
+ * For use with descriptor::wait() and descriptor::async_wait().
39
+ */
40
+ enum wait_type
41
+ {
42
+ /// Wait for a descriptor to become ready to read.
43
+ wait_read,
44
+
45
+ /// Wait for a descriptor to become ready to write.
46
+ wait_write,
47
+
48
+ /// Wait for a descriptor to have error conditions pending.
49
+ wait_error
50
+ };
51
+
52
+ /// IO control command to get the amount of data that can be read without
53
+ /// blocking.
54
+ /**
55
+ * Implements the FIONREAD IO control command.
56
+ *
57
+ * @par Example
58
+ * @code
59
+ * asio::posix::stream_descriptor descriptor(my_context);
60
+ * ...
61
+ * asio::descriptor_base::bytes_readable command(true);
62
+ * descriptor.io_control(command);
63
+ * std::size_t bytes_readable = command.get();
64
+ * @endcode
65
+ *
66
+ * @par Concepts:
67
+ * IoControlCommand.
68
+ */
69
+ #if defined(GENERATING_DOCUMENTATION)
70
+ typedef implementation_defined bytes_readable;
71
+ #else
72
+ typedef asio::detail::io_control::bytes_readable bytes_readable;
73
+ #endif
74
+
75
+ protected:
76
+ /// Protected destructor to prevent deletion through this type.
77
+ ~descriptor_base()
78
+ {
79
+ }
80
+ };
81
+
82
+ } // namespace posix
83
+ } // namespace asio
84
+
85
+ #include "asio/detail/pop_options.hpp"
86
+
87
+ #endif // defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
88
+ // || defined(GENERATING_DOCUMENTATION)
89
+
90
+ #endif // ASIO_POSIX_DESCRIPTOR_BASE_HPP
@@ -0,0 +1,37 @@
1
+ //
2
+ // posix/stream_descriptor.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_POSIX_STREAM_DESCRIPTOR_HPP
12
+ #define ASIO_POSIX_STREAM_DESCRIPTOR_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+
20
+ #if defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR) \
21
+ || defined(GENERATING_DOCUMENTATION)
22
+
23
+ #include "asio/posix/basic_stream_descriptor.hpp"
24
+
25
+ namespace asio {
26
+ namespace posix {
27
+
28
+ /// Typedef for the typical usage of a stream-oriented descriptor.
29
+ typedef basic_stream_descriptor<> stream_descriptor;
30
+
31
+ } // namespace posix
32
+ } // namespace asio
33
+
34
+ #endif // defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
35
+ // || defined(GENERATING_DOCUMENTATION)
36
+
37
+ #endif // ASIO_POSIX_STREAM_DESCRIPTOR_HPP
@@ -0,0 +1,123 @@
1
+ //
2
+ // post.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_POST_HPP
12
+ #define ASIO_POST_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+ #include "asio/async_result.hpp"
20
+ #include "asio/detail/type_traits.hpp"
21
+ #include "asio/execution_context.hpp"
22
+ #include "asio/is_executor.hpp"
23
+
24
+ #include "asio/detail/push_options.hpp"
25
+
26
+ namespace asio {
27
+
28
+ /// Submits a completion token or function object for execution.
29
+ /**
30
+ * This function submits an object for execution using the object's associated
31
+ * executor. The function object is queued for execution, and is never called
32
+ * from the current thread prior to returning from <tt>post()</tt>.
33
+ *
34
+ * The use of @c post(), rather than @ref defer(), indicates the caller's
35
+ * preference that the function object be eagerly queued for execution.
36
+ *
37
+ * This function has the following effects:
38
+ *
39
+ * @li Constructs a function object handler of type @c Handler, initialized
40
+ * with <tt>handler(forward<CompletionToken>(token))</tt>.
41
+ *
42
+ * @li Constructs an object @c result of type <tt>async_result<Handler></tt>,
43
+ * initializing the object as <tt>result(handler)</tt>.
44
+ *
45
+ * @li Obtains the handler's associated executor object @c ex by performing
46
+ * <tt>get_associated_executor(handler)</tt>.
47
+ *
48
+ * @li Obtains the handler's associated allocator object @c alloc by performing
49
+ * <tt>get_associated_allocator(handler)</tt>.
50
+ *
51
+ * @li Performs <tt>ex.post(std::move(handler), alloc)</tt>.
52
+ *
53
+ * @li Returns <tt>result.get()</tt>.
54
+ */
55
+ template <ASIO_COMPLETION_TOKEN_FOR(void()) CompletionToken>
56
+ ASIO_INITFN_AUTO_RESULT_TYPE(CompletionToken, void()) post(
57
+ ASIO_MOVE_ARG(CompletionToken) token);
58
+
59
+ /// Submits a completion token or function object for execution.
60
+ /**
61
+ * This function submits an object for execution using the specified executor.
62
+ * The function object is queued for execution, and is never called from the
63
+ * current thread prior to returning from <tt>post()</tt>.
64
+ *
65
+ * The use of @c post(), rather than @ref defer(), indicates the caller's
66
+ * preference that the function object be eagerly queued for execution.
67
+ *
68
+ * This function has the following effects:
69
+ *
70
+ * @li Constructs a function object handler of type @c Handler, initialized
71
+ * with <tt>handler(forward<CompletionToken>(token))</tt>.
72
+ *
73
+ * @li Constructs an object @c result of type <tt>async_result<Handler></tt>,
74
+ * initializing the object as <tt>result(handler)</tt>.
75
+ *
76
+ * @li Obtains the handler's associated executor object @c ex1 by performing
77
+ * <tt>get_associated_executor(handler)</tt>.
78
+ *
79
+ * @li Creates a work object @c w by performing <tt>make_work(ex1)</tt>.
80
+ *
81
+ * @li Obtains the handler's associated allocator object @c alloc by performing
82
+ * <tt>get_associated_allocator(handler)</tt>.
83
+ *
84
+ * @li Constructs a function object @c f with a function call operator that
85
+ * performs <tt>ex1.dispatch(std::move(handler), alloc)</tt> followed by
86
+ * <tt>w.reset()</tt>.
87
+ *
88
+ * @li Performs <tt>Executor(ex).post(std::move(f), alloc)</tt>.
89
+ *
90
+ * @li Returns <tt>result.get()</tt>.
91
+ */
92
+ template <typename Executor,
93
+ ASIO_COMPLETION_TOKEN_FOR(void()) CompletionToken
94
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(Executor)>
95
+ ASIO_INITFN_AUTO_RESULT_TYPE(CompletionToken, void()) post(
96
+ const Executor& ex,
97
+ ASIO_MOVE_ARG(CompletionToken) token
98
+ ASIO_DEFAULT_COMPLETION_TOKEN(Executor),
99
+ typename enable_if<is_executor<Executor>::value>::type* = 0);
100
+
101
+ /// Submits a completion token or function object for execution.
102
+ /**
103
+ * @returns <tt>post(ctx.get_executor(), forward<CompletionToken>(token))</tt>.
104
+ */
105
+ template <typename ExecutionContext,
106
+ ASIO_COMPLETION_TOKEN_FOR(void()) CompletionToken
107
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
108
+ typename ExecutionContext::executor_type)>
109
+ ASIO_INITFN_AUTO_RESULT_TYPE(CompletionToken, void()) post(
110
+ ExecutionContext& ctx,
111
+ ASIO_MOVE_ARG(CompletionToken) token
112
+ ASIO_DEFAULT_COMPLETION_TOKEN(
113
+ typename ExecutionContext::executor_type),
114
+ typename enable_if<is_convertible<
115
+ ExecutionContext&, execution_context&>::value>::type* = 0);
116
+
117
+ } // namespace asio
118
+
119
+ #include "asio/detail/pop_options.hpp"
120
+
121
+ #include "asio/impl/post.hpp"
122
+
123
+ #endif // ASIO_POST_HPP
@@ -0,0 +1,1288 @@
1
+ //
2
+ // read.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_READ_HPP
12
+ #define ASIO_READ_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+ #include <cstddef>
20
+ #include "asio/async_result.hpp"
21
+ #include "asio/buffer.hpp"
22
+ #include "asio/error.hpp"
23
+
24
+ #if !defined(ASIO_NO_EXTENSIONS)
25
+ # include "asio/basic_streambuf_fwd.hpp"
26
+ #endif // !defined(ASIO_NO_EXTENSIONS)
27
+
28
+ #include "asio/detail/push_options.hpp"
29
+
30
+ namespace asio {
31
+
32
+ /**
33
+ * @defgroup read asio::read
34
+ *
35
+ * @brief The @c read function is a composed operation that reads a certain
36
+ * amount of data from a stream before returning.
37
+ */
38
+ /*@{*/
39
+
40
+ /// Attempt to read a certain amount of data from a stream before returning.
41
+ /**
42
+ * This function is used to read a certain number of bytes of data from a
43
+ * stream. The call will block until one of the following conditions is true:
44
+ *
45
+ * @li The supplied buffers are full. That is, the bytes transferred is equal to
46
+ * the sum of the buffer sizes.
47
+ *
48
+ * @li An error occurred.
49
+ *
50
+ * This operation is implemented in terms of zero or more calls to the stream's
51
+ * read_some function.
52
+ *
53
+ * @param s The stream from which the data is to be read. The type must support
54
+ * the SyncReadStream concept.
55
+ *
56
+ * @param buffers One or more buffers into which the data will be read. The sum
57
+ * of the buffer sizes indicates the maximum number of bytes to read from the
58
+ * stream.
59
+ *
60
+ * @returns The number of bytes transferred.
61
+ *
62
+ * @throws asio::system_error Thrown on failure.
63
+ *
64
+ * @par Example
65
+ * To read into a single data buffer use the @ref buffer function as follows:
66
+ * @code asio::read(s, asio::buffer(data, size)); @endcode
67
+ * See the @ref buffer documentation for information on reading into multiple
68
+ * buffers in one go, and how to use it with arrays, boost::array or
69
+ * std::vector.
70
+ *
71
+ * @note This overload is equivalent to calling:
72
+ * @code asio::read(
73
+ * s, buffers,
74
+ * asio::transfer_all()); @endcode
75
+ */
76
+ template <typename SyncReadStream, typename MutableBufferSequence>
77
+ std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
78
+ typename enable_if<
79
+ is_mutable_buffer_sequence<MutableBufferSequence>::value
80
+ >::type* = 0);
81
+
82
+ /// Attempt to read a certain amount of data from a stream before returning.
83
+ /**
84
+ * This function is used to read a certain number of bytes of data from a
85
+ * stream. The call will block until one of the following conditions is true:
86
+ *
87
+ * @li The supplied buffers are full. That is, the bytes transferred is equal to
88
+ * the sum of the buffer sizes.
89
+ *
90
+ * @li An error occurred.
91
+ *
92
+ * This operation is implemented in terms of zero or more calls to the stream's
93
+ * read_some function.
94
+ *
95
+ * @param s The stream from which the data is to be read. The type must support
96
+ * the SyncReadStream concept.
97
+ *
98
+ * @param buffers One or more buffers into which the data will be read. The sum
99
+ * of the buffer sizes indicates the maximum number of bytes to read from the
100
+ * stream.
101
+ *
102
+ * @param ec Set to indicate what error occurred, if any.
103
+ *
104
+ * @returns The number of bytes transferred.
105
+ *
106
+ * @par Example
107
+ * To read into a single data buffer use the @ref buffer function as follows:
108
+ * @code asio::read(s, asio::buffer(data, size), ec); @endcode
109
+ * See the @ref buffer documentation for information on reading into multiple
110
+ * buffers in one go, and how to use it with arrays, boost::array or
111
+ * std::vector.
112
+ *
113
+ * @note This overload is equivalent to calling:
114
+ * @code asio::read(
115
+ * s, buffers,
116
+ * asio::transfer_all(), ec); @endcode
117
+ */
118
+ template <typename SyncReadStream, typename MutableBufferSequence>
119
+ std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
120
+ asio::error_code& ec,
121
+ typename enable_if<
122
+ is_mutable_buffer_sequence<MutableBufferSequence>::value
123
+ >::type* = 0);
124
+
125
+ /// Attempt to read a certain amount of data from a stream before returning.
126
+ /**
127
+ * This function is used to read a certain number of bytes of data from a
128
+ * stream. The call will block until one of the following conditions is true:
129
+ *
130
+ * @li The supplied buffers are full. That is, the bytes transferred is equal to
131
+ * the sum of the buffer sizes.
132
+ *
133
+ * @li The completion_condition function object returns 0.
134
+ *
135
+ * This operation is implemented in terms of zero or more calls to the stream's
136
+ * read_some function.
137
+ *
138
+ * @param s The stream from which the data is to be read. The type must support
139
+ * the SyncReadStream concept.
140
+ *
141
+ * @param buffers One or more buffers into which the data will be read. The sum
142
+ * of the buffer sizes indicates the maximum number of bytes to read from the
143
+ * stream.
144
+ *
145
+ * @param completion_condition The function object to be called to determine
146
+ * whether the read operation is complete. The signature of the function object
147
+ * must be:
148
+ * @code std::size_t completion_condition(
149
+ * // Result of latest read_some operation.
150
+ * const asio::error_code& error,
151
+ *
152
+ * // Number of bytes transferred so far.
153
+ * std::size_t bytes_transferred
154
+ * ); @endcode
155
+ * A return value of 0 indicates that the read operation is complete. A non-zero
156
+ * return value indicates the maximum number of bytes to be read on the next
157
+ * call to the stream's read_some function.
158
+ *
159
+ * @returns The number of bytes transferred.
160
+ *
161
+ * @throws asio::system_error Thrown on failure.
162
+ *
163
+ * @par Example
164
+ * To read into a single data buffer use the @ref buffer function as follows:
165
+ * @code asio::read(s, asio::buffer(data, size),
166
+ * asio::transfer_at_least(32)); @endcode
167
+ * See the @ref buffer documentation for information on reading into multiple
168
+ * buffers in one go, and how to use it with arrays, boost::array or
169
+ * std::vector.
170
+ */
171
+ template <typename SyncReadStream, typename MutableBufferSequence,
172
+ typename CompletionCondition>
173
+ std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
174
+ CompletionCondition completion_condition,
175
+ typename enable_if<
176
+ is_mutable_buffer_sequence<MutableBufferSequence>::value
177
+ >::type* = 0);
178
+
179
+ /// Attempt to read a certain amount of data from a stream before returning.
180
+ /**
181
+ * This function is used to read a certain number of bytes of data from a
182
+ * stream. The call will block until one of the following conditions is true:
183
+ *
184
+ * @li The supplied buffers are full. That is, the bytes transferred is equal to
185
+ * the sum of the buffer sizes.
186
+ *
187
+ * @li The completion_condition function object returns 0.
188
+ *
189
+ * This operation is implemented in terms of zero or more calls to the stream's
190
+ * read_some function.
191
+ *
192
+ * @param s The stream from which the data is to be read. The type must support
193
+ * the SyncReadStream concept.
194
+ *
195
+ * @param buffers One or more buffers into which the data will be read. The sum
196
+ * of the buffer sizes indicates the maximum number of bytes to read from the
197
+ * stream.
198
+ *
199
+ * @param completion_condition The function object to be called to determine
200
+ * whether the read operation is complete. The signature of the function object
201
+ * must be:
202
+ * @code std::size_t completion_condition(
203
+ * // Result of latest read_some operation.
204
+ * const asio::error_code& error,
205
+ *
206
+ * // Number of bytes transferred so far.
207
+ * std::size_t bytes_transferred
208
+ * ); @endcode
209
+ * A return value of 0 indicates that the read operation is complete. A non-zero
210
+ * return value indicates the maximum number of bytes to be read on the next
211
+ * call to the stream's read_some function.
212
+ *
213
+ * @param ec Set to indicate what error occurred, if any.
214
+ *
215
+ * @returns The number of bytes read. If an error occurs, returns the total
216
+ * number of bytes successfully transferred prior to the error.
217
+ */
218
+ template <typename SyncReadStream, typename MutableBufferSequence,
219
+ typename CompletionCondition>
220
+ std::size_t read(SyncReadStream& s, const MutableBufferSequence& buffers,
221
+ CompletionCondition completion_condition, asio::error_code& ec,
222
+ typename enable_if<
223
+ is_mutable_buffer_sequence<MutableBufferSequence>::value
224
+ >::type* = 0);
225
+
226
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
227
+
228
+ /// Attempt to read a certain amount of data from a stream before returning.
229
+ /**
230
+ * This function is used to read a certain number of bytes of data from a
231
+ * stream. The call will block until one of the following conditions is true:
232
+ *
233
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
234
+ * maximum size).
235
+ *
236
+ * @li An error occurred.
237
+ *
238
+ * This operation is implemented in terms of zero or more calls to the stream's
239
+ * read_some function.
240
+ *
241
+ * @param s The stream from which the data is to be read. The type must support
242
+ * the SyncReadStream concept.
243
+ *
244
+ * @param buffers The dynamic buffer sequence into which the data will be read.
245
+ *
246
+ * @returns The number of bytes transferred.
247
+ *
248
+ * @throws asio::system_error Thrown on failure.
249
+ *
250
+ * @note This overload is equivalent to calling:
251
+ * @code asio::read(
252
+ * s, buffers,
253
+ * asio::transfer_all()); @endcode
254
+ */
255
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
256
+ std::size_t read(SyncReadStream& s,
257
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
258
+ typename enable_if<
259
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
260
+ && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
261
+ >::type* = 0);
262
+
263
+ /// Attempt to read a certain amount of data from a stream before returning.
264
+ /**
265
+ * This function is used to read a certain number of bytes of data from a
266
+ * stream. The call will block until one of the following conditions is true:
267
+ *
268
+ * @li The supplied buffer is full (that is, it has reached maximum size).
269
+ *
270
+ * @li An error occurred.
271
+ *
272
+ * This operation is implemented in terms of zero or more calls to the stream's
273
+ * read_some function.
274
+ *
275
+ * @param s The stream from which the data is to be read. The type must support
276
+ * the SyncReadStream concept.
277
+ *
278
+ * @param buffers The dynamic buffer sequence into which the data will be read.
279
+ *
280
+ * @param ec Set to indicate what error occurred, if any.
281
+ *
282
+ * @returns The number of bytes transferred.
283
+ *
284
+ * @note This overload is equivalent to calling:
285
+ * @code asio::read(
286
+ * s, buffers,
287
+ * asio::transfer_all(), ec); @endcode
288
+ */
289
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
290
+ std::size_t read(SyncReadStream& s,
291
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
292
+ asio::error_code& ec,
293
+ typename enable_if<
294
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
295
+ && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
296
+ >::type* = 0);
297
+
298
+ /// Attempt to read a certain amount of data from a stream before returning.
299
+ /**
300
+ * This function is used to read a certain number of bytes of data from a
301
+ * stream. The call will block until one of the following conditions is true:
302
+ *
303
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
304
+ * maximum size).
305
+ *
306
+ * @li The completion_condition function object returns 0.
307
+ *
308
+ * This operation is implemented in terms of zero or more calls to the stream's
309
+ * read_some function.
310
+ *
311
+ * @param s The stream from which the data is to be read. The type must support
312
+ * the SyncReadStream concept.
313
+ *
314
+ * @param buffers The dynamic buffer sequence into which the data will be read.
315
+ *
316
+ * @param completion_condition The function object to be called to determine
317
+ * whether the read operation is complete. The signature of the function object
318
+ * must be:
319
+ * @code std::size_t completion_condition(
320
+ * // Result of latest read_some operation.
321
+ * const asio::error_code& error,
322
+ *
323
+ * // Number of bytes transferred so far.
324
+ * std::size_t bytes_transferred
325
+ * ); @endcode
326
+ * A return value of 0 indicates that the read operation is complete. A non-zero
327
+ * return value indicates the maximum number of bytes to be read on the next
328
+ * call to the stream's read_some function.
329
+ *
330
+ * @returns The number of bytes transferred.
331
+ *
332
+ * @throws asio::system_error Thrown on failure.
333
+ */
334
+ template <typename SyncReadStream, typename DynamicBuffer_v1,
335
+ typename CompletionCondition>
336
+ std::size_t read(SyncReadStream& s,
337
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
338
+ CompletionCondition completion_condition,
339
+ typename enable_if<
340
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
341
+ && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
342
+ >::type* = 0);
343
+
344
+ /// Attempt to read a certain amount of data from a stream before returning.
345
+ /**
346
+ * This function is used to read a certain number of bytes of data from a
347
+ * stream. The call will block until one of the following conditions is true:
348
+ *
349
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
350
+ * maximum size).
351
+ *
352
+ * @li The completion_condition function object returns 0.
353
+ *
354
+ * This operation is implemented in terms of zero or more calls to the stream's
355
+ * read_some function.
356
+ *
357
+ * @param s The stream from which the data is to be read. The type must support
358
+ * the SyncReadStream concept.
359
+ *
360
+ * @param buffers The dynamic buffer sequence into which the data will be read.
361
+ *
362
+ * @param completion_condition The function object to be called to determine
363
+ * whether the read operation is complete. The signature of the function object
364
+ * must be:
365
+ * @code std::size_t completion_condition(
366
+ * // Result of latest read_some operation.
367
+ * const asio::error_code& error,
368
+ *
369
+ * // Number of bytes transferred so far.
370
+ * std::size_t bytes_transferred
371
+ * ); @endcode
372
+ * A return value of 0 indicates that the read operation is complete. A non-zero
373
+ * return value indicates the maximum number of bytes to be read on the next
374
+ * call to the stream's read_some function.
375
+ *
376
+ * @param ec Set to indicate what error occurred, if any.
377
+ *
378
+ * @returns The number of bytes read. If an error occurs, returns the total
379
+ * number of bytes successfully transferred prior to the error.
380
+ */
381
+ template <typename SyncReadStream, typename DynamicBuffer_v1,
382
+ typename CompletionCondition>
383
+ std::size_t read(SyncReadStream& s,
384
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
385
+ CompletionCondition completion_condition, asio::error_code& ec,
386
+ typename enable_if<
387
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
388
+ && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
389
+ >::type* = 0);
390
+
391
+ #if !defined(ASIO_NO_EXTENSIONS)
392
+ #if !defined(ASIO_NO_IOSTREAM)
393
+
394
+ /// Attempt to read a certain amount of data from a stream before returning.
395
+ /**
396
+ * This function is used to read a certain number of bytes of data from a
397
+ * stream. The call will block until one of the following conditions is true:
398
+ *
399
+ * @li The supplied buffer is full (that is, it has reached maximum size).
400
+ *
401
+ * @li An error occurred.
402
+ *
403
+ * This operation is implemented in terms of zero or more calls to the stream's
404
+ * read_some function.
405
+ *
406
+ * @param s The stream from which the data is to be read. The type must support
407
+ * the SyncReadStream concept.
408
+ *
409
+ * @param b The basic_streambuf object into which the data will be read.
410
+ *
411
+ * @returns The number of bytes transferred.
412
+ *
413
+ * @throws asio::system_error Thrown on failure.
414
+ *
415
+ * @note This overload is equivalent to calling:
416
+ * @code asio::read(
417
+ * s, b,
418
+ * asio::transfer_all()); @endcode
419
+ */
420
+ template <typename SyncReadStream, typename Allocator>
421
+ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b);
422
+
423
+ /// Attempt to read a certain amount of data from a stream before returning.
424
+ /**
425
+ * This function is used to read a certain number of bytes of data from a
426
+ * stream. The call will block until one of the following conditions is true:
427
+ *
428
+ * @li The supplied buffer is full (that is, it has reached maximum size).
429
+ *
430
+ * @li An error occurred.
431
+ *
432
+ * This operation is implemented in terms of zero or more calls to the stream's
433
+ * read_some function.
434
+ *
435
+ * @param s The stream from which the data is to be read. The type must support
436
+ * the SyncReadStream concept.
437
+ *
438
+ * @param b The basic_streambuf object into which the data will be read.
439
+ *
440
+ * @param ec Set to indicate what error occurred, if any.
441
+ *
442
+ * @returns The number of bytes transferred.
443
+ *
444
+ * @note This overload is equivalent to calling:
445
+ * @code asio::read(
446
+ * s, b,
447
+ * asio::transfer_all(), ec); @endcode
448
+ */
449
+ template <typename SyncReadStream, typename Allocator>
450
+ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
451
+ asio::error_code& ec);
452
+
453
+ /// Attempt to read a certain amount of data from a stream before returning.
454
+ /**
455
+ * This function is used to read a certain number of bytes of data from a
456
+ * stream. The call will block until one of the following conditions is true:
457
+ *
458
+ * @li The supplied buffer is full (that is, it has reached maximum size).
459
+ *
460
+ * @li The completion_condition function object returns 0.
461
+ *
462
+ * This operation is implemented in terms of zero or more calls to the stream's
463
+ * read_some function.
464
+ *
465
+ * @param s The stream from which the data is to be read. The type must support
466
+ * the SyncReadStream concept.
467
+ *
468
+ * @param b The basic_streambuf object into which the data will be read.
469
+ *
470
+ * @param completion_condition The function object to be called to determine
471
+ * whether the read operation is complete. The signature of the function object
472
+ * must be:
473
+ * @code std::size_t completion_condition(
474
+ * // Result of latest read_some operation.
475
+ * const asio::error_code& error,
476
+ *
477
+ * // Number of bytes transferred so far.
478
+ * std::size_t bytes_transferred
479
+ * ); @endcode
480
+ * A return value of 0 indicates that the read operation is complete. A non-zero
481
+ * return value indicates the maximum number of bytes to be read on the next
482
+ * call to the stream's read_some function.
483
+ *
484
+ * @returns The number of bytes transferred.
485
+ *
486
+ * @throws asio::system_error Thrown on failure.
487
+ */
488
+ template <typename SyncReadStream, typename Allocator,
489
+ typename CompletionCondition>
490
+ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
491
+ CompletionCondition completion_condition);
492
+
493
+ /// Attempt to read a certain amount of data from a stream before returning.
494
+ /**
495
+ * This function is used to read a certain number of bytes of data from a
496
+ * stream. The call will block until one of the following conditions is true:
497
+ *
498
+ * @li The supplied buffer is full (that is, it has reached maximum size).
499
+ *
500
+ * @li The completion_condition function object returns 0.
501
+ *
502
+ * This operation is implemented in terms of zero or more calls to the stream's
503
+ * read_some function.
504
+ *
505
+ * @param s The stream from which the data is to be read. The type must support
506
+ * the SyncReadStream concept.
507
+ *
508
+ * @param b The basic_streambuf object into which the data will be read.
509
+ *
510
+ * @param completion_condition The function object to be called to determine
511
+ * whether the read operation is complete. The signature of the function object
512
+ * must be:
513
+ * @code std::size_t completion_condition(
514
+ * // Result of latest read_some operation.
515
+ * const asio::error_code& error,
516
+ *
517
+ * // Number of bytes transferred so far.
518
+ * std::size_t bytes_transferred
519
+ * ); @endcode
520
+ * A return value of 0 indicates that the read operation is complete. A non-zero
521
+ * return value indicates the maximum number of bytes to be read on the next
522
+ * call to the stream's read_some function.
523
+ *
524
+ * @param ec Set to indicate what error occurred, if any.
525
+ *
526
+ * @returns The number of bytes read. If an error occurs, returns the total
527
+ * number of bytes successfully transferred prior to the error.
528
+ */
529
+ template <typename SyncReadStream, typename Allocator,
530
+ typename CompletionCondition>
531
+ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
532
+ CompletionCondition completion_condition, asio::error_code& ec);
533
+
534
+ #endif // !defined(ASIO_NO_IOSTREAM)
535
+ #endif // !defined(ASIO_NO_EXTENSIONS)
536
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
537
+
538
+ /// Attempt to read a certain amount of data from a stream before returning.
539
+ /**
540
+ * This function is used to read a certain number of bytes of data from a
541
+ * stream. The call will block until one of the following conditions is true:
542
+ *
543
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
544
+ * maximum size).
545
+ *
546
+ * @li An error occurred.
547
+ *
548
+ * This operation is implemented in terms of zero or more calls to the stream's
549
+ * read_some function.
550
+ *
551
+ * @param s The stream from which the data is to be read. The type must support
552
+ * the SyncReadStream concept.
553
+ *
554
+ * @param buffers The dynamic buffer sequence into which the data will be read.
555
+ *
556
+ * @returns The number of bytes transferred.
557
+ *
558
+ * @throws asio::system_error Thrown on failure.
559
+ *
560
+ * @note This overload is equivalent to calling:
561
+ * @code asio::read(
562
+ * s, buffers,
563
+ * asio::transfer_all()); @endcode
564
+ */
565
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
566
+ std::size_t read(SyncReadStream& s, DynamicBuffer_v2 buffers,
567
+ typename enable_if<
568
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
569
+ >::type* = 0);
570
+
571
+ /// Attempt to read a certain amount of data from a stream before returning.
572
+ /**
573
+ * This function is used to read a certain number of bytes of data from a
574
+ * stream. The call will block until one of the following conditions is true:
575
+ *
576
+ * @li The supplied buffer is full (that is, it has reached maximum size).
577
+ *
578
+ * @li An error occurred.
579
+ *
580
+ * This operation is implemented in terms of zero or more calls to the stream's
581
+ * read_some function.
582
+ *
583
+ * @param s The stream from which the data is to be read. The type must support
584
+ * the SyncReadStream concept.
585
+ *
586
+ * @param buffers The dynamic buffer sequence into which the data will be read.
587
+ *
588
+ * @param ec Set to indicate what error occurred, if any.
589
+ *
590
+ * @returns The number of bytes transferred.
591
+ *
592
+ * @note This overload is equivalent to calling:
593
+ * @code asio::read(
594
+ * s, buffers,
595
+ * asio::transfer_all(), ec); @endcode
596
+ */
597
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
598
+ std::size_t read(SyncReadStream& s, DynamicBuffer_v2 buffers,
599
+ asio::error_code& ec,
600
+ typename enable_if<
601
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
602
+ >::type* = 0);
603
+
604
+ /// Attempt to read a certain amount of data from a stream before returning.
605
+ /**
606
+ * This function is used to read a certain number of bytes of data from a
607
+ * stream. The call will block until one of the following conditions is true:
608
+ *
609
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
610
+ * maximum size).
611
+ *
612
+ * @li The completion_condition function object returns 0.
613
+ *
614
+ * This operation is implemented in terms of zero or more calls to the stream's
615
+ * read_some function.
616
+ *
617
+ * @param s The stream from which the data is to be read. The type must support
618
+ * the SyncReadStream concept.
619
+ *
620
+ * @param buffers The dynamic buffer sequence into which the data will be read.
621
+ *
622
+ * @param completion_condition The function object to be called to determine
623
+ * whether the read operation is complete. The signature of the function object
624
+ * must be:
625
+ * @code std::size_t completion_condition(
626
+ * // Result of latest read_some operation.
627
+ * const asio::error_code& error,
628
+ *
629
+ * // Number of bytes transferred so far.
630
+ * std::size_t bytes_transferred
631
+ * ); @endcode
632
+ * A return value of 0 indicates that the read operation is complete. A non-zero
633
+ * return value indicates the maximum number of bytes to be read on the next
634
+ * call to the stream's read_some function.
635
+ *
636
+ * @returns The number of bytes transferred.
637
+ *
638
+ * @throws asio::system_error Thrown on failure.
639
+ */
640
+ template <typename SyncReadStream, typename DynamicBuffer_v2,
641
+ typename CompletionCondition>
642
+ std::size_t read(SyncReadStream& s, DynamicBuffer_v2 buffers,
643
+ CompletionCondition completion_condition,
644
+ typename enable_if<
645
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
646
+ >::type* = 0);
647
+
648
+ /// Attempt to read a certain amount of data from a stream before returning.
649
+ /**
650
+ * This function is used to read a certain number of bytes of data from a
651
+ * stream. The call will block until one of the following conditions is true:
652
+ *
653
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
654
+ * maximum size).
655
+ *
656
+ * @li The completion_condition function object returns 0.
657
+ *
658
+ * This operation is implemented in terms of zero or more calls to the stream's
659
+ * read_some function.
660
+ *
661
+ * @param s The stream from which the data is to be read. The type must support
662
+ * the SyncReadStream concept.
663
+ *
664
+ * @param buffers The dynamic buffer sequence into which the data will be read.
665
+ *
666
+ * @param completion_condition The function object to be called to determine
667
+ * whether the read operation is complete. The signature of the function object
668
+ * must be:
669
+ * @code std::size_t completion_condition(
670
+ * // Result of latest read_some operation.
671
+ * const asio::error_code& error,
672
+ *
673
+ * // Number of bytes transferred so far.
674
+ * std::size_t bytes_transferred
675
+ * ); @endcode
676
+ * A return value of 0 indicates that the read operation is complete. A non-zero
677
+ * return value indicates the maximum number of bytes to be read on the next
678
+ * call to the stream's read_some function.
679
+ *
680
+ * @param ec Set to indicate what error occurred, if any.
681
+ *
682
+ * @returns The number of bytes read. If an error occurs, returns the total
683
+ * number of bytes successfully transferred prior to the error.
684
+ */
685
+ template <typename SyncReadStream, typename DynamicBuffer_v2,
686
+ typename CompletionCondition>
687
+ std::size_t read(SyncReadStream& s, DynamicBuffer_v2 buffers,
688
+ CompletionCondition completion_condition, asio::error_code& ec,
689
+ typename enable_if<
690
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
691
+ >::type* = 0);
692
+
693
+ /*@}*/
694
+ /**
695
+ * @defgroup async_read asio::async_read
696
+ *
697
+ * @brief The @c async_read function is a composed asynchronous operation that
698
+ * reads a certain amount of data from a stream before completion.
699
+ */
700
+ /*@{*/
701
+
702
+ /// Start an asynchronous operation to read a certain amount of data from a
703
+ /// stream.
704
+ /**
705
+ * This function is used to asynchronously read a certain number of bytes of
706
+ * data from a stream. The function call always returns immediately. The
707
+ * asynchronous operation will continue until one of the following conditions is
708
+ * true:
709
+ *
710
+ * @li The supplied buffers are full. That is, the bytes transferred is equal to
711
+ * the sum of the buffer sizes.
712
+ *
713
+ * @li An error occurred.
714
+ *
715
+ * This operation is implemented in terms of zero or more calls to the stream's
716
+ * async_read_some function, and is known as a <em>composed operation</em>. The
717
+ * program must ensure that the stream performs no other read operations (such
718
+ * as async_read, the stream's async_read_some function, or any other composed
719
+ * operations that perform reads) until this operation completes.
720
+ *
721
+ * @param s The stream from which the data is to be read. The type must support
722
+ * the AsyncReadStream concept.
723
+ *
724
+ * @param buffers One or more buffers into which the data will be read. The sum
725
+ * of the buffer sizes indicates the maximum number of bytes to read from the
726
+ * stream. Although the buffers object may be copied as necessary, ownership of
727
+ * the underlying memory blocks is retained by the caller, which must guarantee
728
+ * that they remain valid until the handler is called.
729
+ *
730
+ * @param handler The handler to be called when the read operation completes.
731
+ * Copies will be made of the handler as required. The function signature of the
732
+ * handler must be:
733
+ * @code void handler(
734
+ * const asio::error_code& error, // Result of operation.
735
+ *
736
+ * std::size_t bytes_transferred // Number of bytes copied into the
737
+ * // buffers. If an error occurred,
738
+ * // this will be the number of
739
+ * // bytes successfully transferred
740
+ * // prior to the error.
741
+ * ); @endcode
742
+ * Regardless of whether the asynchronous operation completes immediately or
743
+ * not, the handler will not be invoked from within this function. On
744
+ * immediate completion, invocation of the handler will be performed in a
745
+ * manner equivalent to using asio::post().
746
+ *
747
+ * @par Example
748
+ * To read into a single data buffer use the @ref buffer function as follows:
749
+ * @code
750
+ * asio::async_read(s, asio::buffer(data, size), handler);
751
+ * @endcode
752
+ * See the @ref buffer documentation for information on reading into multiple
753
+ * buffers in one go, and how to use it with arrays, boost::array or
754
+ * std::vector.
755
+ *
756
+ * @note This overload is equivalent to calling:
757
+ * @code asio::async_read(
758
+ * s, buffers,
759
+ * asio::transfer_all(),
760
+ * handler); @endcode
761
+ */
762
+ template <typename AsyncReadStream, typename MutableBufferSequence,
763
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
764
+ std::size_t)) ReadHandler
765
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
766
+ typename AsyncReadStream::executor_type)>
767
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
768
+ void (asio::error_code, std::size_t))
769
+ async_read(AsyncReadStream& s, const MutableBufferSequence& buffers,
770
+ ASIO_MOVE_ARG(ReadHandler) handler
771
+ ASIO_DEFAULT_COMPLETION_TOKEN(
772
+ typename AsyncReadStream::executor_type),
773
+ typename enable_if<
774
+ is_mutable_buffer_sequence<MutableBufferSequence>::value
775
+ >::type* = 0);
776
+
777
+ /// Start an asynchronous operation to read a certain amount of data from a
778
+ /// stream.
779
+ /**
780
+ * This function is used to asynchronously read a certain number of bytes of
781
+ * data from a stream. The function call always returns immediately. The
782
+ * asynchronous operation will continue until one of the following conditions is
783
+ * true:
784
+ *
785
+ * @li The supplied buffers are full. That is, the bytes transferred is equal to
786
+ * the sum of the buffer sizes.
787
+ *
788
+ * @li The completion_condition function object returns 0.
789
+ *
790
+ * @param s The stream from which the data is to be read. The type must support
791
+ * the AsyncReadStream concept.
792
+ *
793
+ * @param buffers One or more buffers into which the data will be read. The sum
794
+ * of the buffer sizes indicates the maximum number of bytes to read from the
795
+ * stream. Although the buffers object may be copied as necessary, ownership of
796
+ * the underlying memory blocks is retained by the caller, which must guarantee
797
+ * that they remain valid until the handler is called.
798
+ *
799
+ * @param completion_condition The function object to be called to determine
800
+ * whether the read operation is complete. The signature of the function object
801
+ * must be:
802
+ * @code std::size_t completion_condition(
803
+ * // Result of latest async_read_some operation.
804
+ * const asio::error_code& error,
805
+ *
806
+ * // Number of bytes transferred so far.
807
+ * std::size_t bytes_transferred
808
+ * ); @endcode
809
+ * A return value of 0 indicates that the read operation is complete. A non-zero
810
+ * return value indicates the maximum number of bytes to be read on the next
811
+ * call to the stream's async_read_some function.
812
+ *
813
+ * @param handler The handler to be called when the read operation completes.
814
+ * Copies will be made of the handler as required. The function signature of the
815
+ * handler must be:
816
+ * @code void handler(
817
+ * const asio::error_code& error, // Result of operation.
818
+ *
819
+ * std::size_t bytes_transferred // Number of bytes copied into the
820
+ * // buffers. If an error occurred,
821
+ * // this will be the number of
822
+ * // bytes successfully transferred
823
+ * // prior to the error.
824
+ * ); @endcode
825
+ * Regardless of whether the asynchronous operation completes immediately or
826
+ * not, the handler will not be invoked from within this function. On
827
+ * immediate completion, invocation of the handler will be performed in a
828
+ * manner equivalent to using asio::post().
829
+ *
830
+ * @par Example
831
+ * To read into a single data buffer use the @ref buffer function as follows:
832
+ * @code asio::async_read(s,
833
+ * asio::buffer(data, size),
834
+ * asio::transfer_at_least(32),
835
+ * handler); @endcode
836
+ * See the @ref buffer documentation for information on reading into multiple
837
+ * buffers in one go, and how to use it with arrays, boost::array or
838
+ * std::vector.
839
+ */
840
+ template <typename AsyncReadStream,
841
+ typename MutableBufferSequence, typename CompletionCondition,
842
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
843
+ std::size_t)) ReadHandler
844
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
845
+ typename AsyncReadStream::executor_type)>
846
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
847
+ void (asio::error_code, std::size_t))
848
+ async_read(AsyncReadStream& s, const MutableBufferSequence& buffers,
849
+ CompletionCondition completion_condition,
850
+ ASIO_MOVE_ARG(ReadHandler) handler
851
+ ASIO_DEFAULT_COMPLETION_TOKEN(
852
+ typename AsyncReadStream::executor_type),
853
+ typename enable_if<
854
+ is_mutable_buffer_sequence<MutableBufferSequence>::value
855
+ >::type* = 0);
856
+
857
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
858
+
859
+ /// Start an asynchronous operation to read a certain amount of data from a
860
+ /// stream.
861
+ /**
862
+ * This function is used to asynchronously read a certain number of bytes of
863
+ * data from a stream. The function call always returns immediately. The
864
+ * asynchronous operation will continue until one of the following conditions is
865
+ * true:
866
+ *
867
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
868
+ * maximum size).
869
+ *
870
+ * @li An error occurred.
871
+ *
872
+ * This operation is implemented in terms of zero or more calls to the stream's
873
+ * async_read_some function, and is known as a <em>composed operation</em>. The
874
+ * program must ensure that the stream performs no other read operations (such
875
+ * as async_read, the stream's async_read_some function, or any other composed
876
+ * operations that perform reads) until this operation completes.
877
+ *
878
+ * @param s The stream from which the data is to be read. The type must support
879
+ * the AsyncReadStream concept.
880
+ *
881
+ * @param buffers The dynamic buffer sequence into which the data will be read.
882
+ * Although the buffers object may be copied as necessary, ownership of the
883
+ * underlying memory blocks is retained by the caller, which must guarantee
884
+ * that they remain valid until the handler is called.
885
+ *
886
+ * @param handler The handler to be called when the read operation completes.
887
+ * Copies will be made of the handler as required. The function signature of the
888
+ * handler must be:
889
+ * @code void handler(
890
+ * const asio::error_code& error, // Result of operation.
891
+ *
892
+ * std::size_t bytes_transferred // Number of bytes copied into the
893
+ * // buffers. If an error occurred,
894
+ * // this will be the number of
895
+ * // bytes successfully transferred
896
+ * // prior to the error.
897
+ * ); @endcode
898
+ * Regardless of whether the asynchronous operation completes immediately or
899
+ * not, the handler will not be invoked from within this function. On
900
+ * immediate completion, invocation of the handler will be performed in a
901
+ * manner equivalent to using asio::post().
902
+ *
903
+ * @note This overload is equivalent to calling:
904
+ * @code asio::async_read(
905
+ * s, buffers,
906
+ * asio::transfer_all(),
907
+ * handler); @endcode
908
+ */
909
+ template <typename AsyncReadStream, typename DynamicBuffer_v1,
910
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
911
+ std::size_t)) ReadHandler
912
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
913
+ typename AsyncReadStream::executor_type)>
914
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
915
+ void (asio::error_code, std::size_t))
916
+ async_read(AsyncReadStream& s,
917
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
918
+ ASIO_MOVE_ARG(ReadHandler) handler
919
+ ASIO_DEFAULT_COMPLETION_TOKEN(
920
+ typename AsyncReadStream::executor_type),
921
+ typename enable_if<
922
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
923
+ && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
924
+ >::type* = 0);
925
+
926
+ /// Start an asynchronous operation to read a certain amount of data from a
927
+ /// stream.
928
+ /**
929
+ * This function is used to asynchronously read a certain number of bytes of
930
+ * data from a stream. The function call always returns immediately. The
931
+ * asynchronous operation will continue until one of the following conditions is
932
+ * true:
933
+ *
934
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
935
+ * maximum size).
936
+ *
937
+ * @li The completion_condition function object returns 0.
938
+ *
939
+ * This operation is implemented in terms of zero or more calls to the stream's
940
+ * async_read_some function, and is known as a <em>composed operation</em>. The
941
+ * program must ensure that the stream performs no other read operations (such
942
+ * as async_read, the stream's async_read_some function, or any other composed
943
+ * operations that perform reads) until this operation completes.
944
+ *
945
+ * @param s The stream from which the data is to be read. The type must support
946
+ * the AsyncReadStream concept.
947
+ *
948
+ * @param buffers The dynamic buffer sequence into which the data will be read.
949
+ * Although the buffers object may be copied as necessary, ownership of the
950
+ * underlying memory blocks is retained by the caller, which must guarantee
951
+ * that they remain valid until the handler is called.
952
+ *
953
+ * @param completion_condition The function object to be called to determine
954
+ * whether the read operation is complete. The signature of the function object
955
+ * must be:
956
+ * @code std::size_t completion_condition(
957
+ * // Result of latest async_read_some operation.
958
+ * const asio::error_code& error,
959
+ *
960
+ * // Number of bytes transferred so far.
961
+ * std::size_t bytes_transferred
962
+ * ); @endcode
963
+ * A return value of 0 indicates that the read operation is complete. A non-zero
964
+ * return value indicates the maximum number of bytes to be read on the next
965
+ * call to the stream's async_read_some function.
966
+ *
967
+ * @param handler The handler to be called when the read operation completes.
968
+ * Copies will be made of the handler as required. The function signature of the
969
+ * handler must be:
970
+ * @code void handler(
971
+ * const asio::error_code& error, // Result of operation.
972
+ *
973
+ * std::size_t bytes_transferred // Number of bytes copied into the
974
+ * // buffers. If an error occurred,
975
+ * // this will be the number of
976
+ * // bytes successfully transferred
977
+ * // prior to the error.
978
+ * ); @endcode
979
+ * Regardless of whether the asynchronous operation completes immediately or
980
+ * not, the handler will not be invoked from within this function. On
981
+ * immediate completion, invocation of the handler will be performed in a
982
+ * manner equivalent to using asio::post().
983
+ */
984
+ template <typename AsyncReadStream,
985
+ typename DynamicBuffer_v1, typename CompletionCondition,
986
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
987
+ std::size_t)) ReadHandler
988
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
989
+ typename AsyncReadStream::executor_type)>
990
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
991
+ void (asio::error_code, std::size_t))
992
+ async_read(AsyncReadStream& s,
993
+ ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
994
+ CompletionCondition completion_condition,
995
+ ASIO_MOVE_ARG(ReadHandler) handler
996
+ ASIO_DEFAULT_COMPLETION_TOKEN(
997
+ typename AsyncReadStream::executor_type),
998
+ typename enable_if<
999
+ is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1000
+ && !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1001
+ >::type* = 0);
1002
+
1003
+ #if !defined(ASIO_NO_EXTENSIONS)
1004
+ #if !defined(ASIO_NO_IOSTREAM)
1005
+
1006
+ /// Start an asynchronous operation to read a certain amount of data from a
1007
+ /// stream.
1008
+ /**
1009
+ * This function is used to asynchronously read a certain number of bytes of
1010
+ * data from a stream. The function call always returns immediately. The
1011
+ * asynchronous operation will continue until one of the following conditions is
1012
+ * true:
1013
+ *
1014
+ * @li The supplied buffer is full (that is, it has reached maximum size).
1015
+ *
1016
+ * @li An error occurred.
1017
+ *
1018
+ * This operation is implemented in terms of zero or more calls to the stream's
1019
+ * async_read_some function, and is known as a <em>composed operation</em>. The
1020
+ * program must ensure that the stream performs no other read operations (such
1021
+ * as async_read, the stream's async_read_some function, or any other composed
1022
+ * operations that perform reads) until this operation completes.
1023
+ *
1024
+ * @param s The stream from which the data is to be read. The type must support
1025
+ * the AsyncReadStream concept.
1026
+ *
1027
+ * @param b A basic_streambuf object into which the data will be read. Ownership
1028
+ * of the streambuf is retained by the caller, which must guarantee that it
1029
+ * remains valid until the handler is called.
1030
+ *
1031
+ * @param handler The handler to be called when the read operation completes.
1032
+ * Copies will be made of the handler as required. The function signature of the
1033
+ * handler must be:
1034
+ * @code void handler(
1035
+ * const asio::error_code& error, // Result of operation.
1036
+ *
1037
+ * std::size_t bytes_transferred // Number of bytes copied into the
1038
+ * // buffers. If an error occurred,
1039
+ * // this will be the number of
1040
+ * // bytes successfully transferred
1041
+ * // prior to the error.
1042
+ * ); @endcode
1043
+ * Regardless of whether the asynchronous operation completes immediately or
1044
+ * not, the handler will not be invoked from within this function. On
1045
+ * immediate completion, invocation of the handler will be performed in a
1046
+ * manner equivalent to using asio::post().
1047
+ *
1048
+ * @note This overload is equivalent to calling:
1049
+ * @code asio::async_read(
1050
+ * s, b,
1051
+ * asio::transfer_all(),
1052
+ * handler); @endcode
1053
+ */
1054
+ template <typename AsyncReadStream, typename Allocator,
1055
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1056
+ std::size_t)) ReadHandler
1057
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1058
+ typename AsyncReadStream::executor_type)>
1059
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1060
+ void (asio::error_code, std::size_t))
1061
+ async_read(AsyncReadStream& s, basic_streambuf<Allocator>& b,
1062
+ ASIO_MOVE_ARG(ReadHandler) handler
1063
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1064
+ typename AsyncReadStream::executor_type));
1065
+
1066
+ /// Start an asynchronous operation to read a certain amount of data from a
1067
+ /// stream.
1068
+ /**
1069
+ * This function is used to asynchronously read a certain number of bytes of
1070
+ * data from a stream. The function call always returns immediately. The
1071
+ * asynchronous operation will continue until one of the following conditions is
1072
+ * true:
1073
+ *
1074
+ * @li The supplied buffer is full (that is, it has reached maximum size).
1075
+ *
1076
+ * @li The completion_condition function object returns 0.
1077
+ *
1078
+ * This operation is implemented in terms of zero or more calls to the stream's
1079
+ * async_read_some function, and is known as a <em>composed operation</em>. The
1080
+ * program must ensure that the stream performs no other read operations (such
1081
+ * as async_read, the stream's async_read_some function, or any other composed
1082
+ * operations that perform reads) until this operation completes.
1083
+ *
1084
+ * @param s The stream from which the data is to be read. The type must support
1085
+ * the AsyncReadStream concept.
1086
+ *
1087
+ * @param b A basic_streambuf object into which the data will be read. Ownership
1088
+ * of the streambuf is retained by the caller, which must guarantee that it
1089
+ * remains valid until the handler is called.
1090
+ *
1091
+ * @param completion_condition The function object to be called to determine
1092
+ * whether the read operation is complete. The signature of the function object
1093
+ * must be:
1094
+ * @code std::size_t completion_condition(
1095
+ * // Result of latest async_read_some operation.
1096
+ * const asio::error_code& error,
1097
+ *
1098
+ * // Number of bytes transferred so far.
1099
+ * std::size_t bytes_transferred
1100
+ * ); @endcode
1101
+ * A return value of 0 indicates that the read operation is complete. A non-zero
1102
+ * return value indicates the maximum number of bytes to be read on the next
1103
+ * call to the stream's async_read_some function.
1104
+ *
1105
+ * @param handler The handler to be called when the read operation completes.
1106
+ * Copies will be made of the handler as required. The function signature of the
1107
+ * handler must be:
1108
+ * @code void handler(
1109
+ * const asio::error_code& error, // Result of operation.
1110
+ *
1111
+ * std::size_t bytes_transferred // Number of bytes copied into the
1112
+ * // buffers. If an error occurred,
1113
+ * // this will be the number of
1114
+ * // bytes successfully transferred
1115
+ * // prior to the error.
1116
+ * ); @endcode
1117
+ * Regardless of whether the asynchronous operation completes immediately or
1118
+ * not, the handler will not be invoked from within this function. On
1119
+ * immediate completion, invocation of the handler will be performed in a
1120
+ * manner equivalent to using asio::post().
1121
+ */
1122
+ template <typename AsyncReadStream,
1123
+ typename Allocator, typename CompletionCondition,
1124
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1125
+ std::size_t)) ReadHandler
1126
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1127
+ typename AsyncReadStream::executor_type)>
1128
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1129
+ void (asio::error_code, std::size_t))
1130
+ async_read(AsyncReadStream& s, basic_streambuf<Allocator>& b,
1131
+ CompletionCondition completion_condition,
1132
+ ASIO_MOVE_ARG(ReadHandler) handler
1133
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1134
+ typename AsyncReadStream::executor_type));
1135
+
1136
+ #endif // !defined(ASIO_NO_IOSTREAM)
1137
+ #endif // !defined(ASIO_NO_EXTENSIONS)
1138
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1139
+
1140
+ /// Start an asynchronous operation to read a certain amount of data from a
1141
+ /// stream.
1142
+ /**
1143
+ * This function is used to asynchronously read a certain number of bytes of
1144
+ * data from a stream. The function call always returns immediately. The
1145
+ * asynchronous operation will continue until one of the following conditions is
1146
+ * true:
1147
+ *
1148
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
1149
+ * maximum size).
1150
+ *
1151
+ * @li An error occurred.
1152
+ *
1153
+ * This operation is implemented in terms of zero or more calls to the stream's
1154
+ * async_read_some function, and is known as a <em>composed operation</em>. The
1155
+ * program must ensure that the stream performs no other read operations (such
1156
+ * as async_read, the stream's async_read_some function, or any other composed
1157
+ * operations that perform reads) until this operation completes.
1158
+ *
1159
+ * @param s The stream from which the data is to be read. The type must support
1160
+ * the AsyncReadStream concept.
1161
+ *
1162
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1163
+ * Although the buffers object may be copied as necessary, ownership of the
1164
+ * underlying memory blocks is retained by the caller, which must guarantee
1165
+ * that they remain valid until the handler is called.
1166
+ *
1167
+ * @param handler The handler to be called when the read operation completes.
1168
+ * Copies will be made of the handler as required. The function signature of the
1169
+ * handler must be:
1170
+ * @code void handler(
1171
+ * const asio::error_code& error, // Result of operation.
1172
+ *
1173
+ * std::size_t bytes_transferred // Number of bytes copied into the
1174
+ * // buffers. If an error occurred,
1175
+ * // this will be the number of
1176
+ * // bytes successfully transferred
1177
+ * // prior to the error.
1178
+ * ); @endcode
1179
+ * Regardless of whether the asynchronous operation completes immediately or
1180
+ * not, the handler will not be invoked from within this function. On
1181
+ * immediate completion, invocation of the handler will be performed in a
1182
+ * manner equivalent to using asio::post().
1183
+ *
1184
+ * @note This overload is equivalent to calling:
1185
+ * @code asio::async_read(
1186
+ * s, buffers,
1187
+ * asio::transfer_all(),
1188
+ * handler); @endcode
1189
+ */
1190
+ template <typename AsyncReadStream, typename DynamicBuffer_v2,
1191
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1192
+ std::size_t)) ReadHandler
1193
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1194
+ typename AsyncReadStream::executor_type)>
1195
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1196
+ void (asio::error_code, std::size_t))
1197
+ async_read(AsyncReadStream& s, DynamicBuffer_v2 buffers,
1198
+ ASIO_MOVE_ARG(ReadHandler) handler
1199
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1200
+ typename AsyncReadStream::executor_type),
1201
+ typename enable_if<
1202
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1203
+ >::type* = 0);
1204
+
1205
+ /// Start an asynchronous operation to read a certain amount of data from a
1206
+ /// stream.
1207
+ /**
1208
+ * This function is used to asynchronously read a certain number of bytes of
1209
+ * data from a stream. The function call always returns immediately. The
1210
+ * asynchronous operation will continue until one of the following conditions is
1211
+ * true:
1212
+ *
1213
+ * @li The specified dynamic buffer sequence is full (that is, it has reached
1214
+ * maximum size).
1215
+ *
1216
+ * @li The completion_condition function object returns 0.
1217
+ *
1218
+ * This operation is implemented in terms of zero or more calls to the stream's
1219
+ * async_read_some function, and is known as a <em>composed operation</em>. The
1220
+ * program must ensure that the stream performs no other read operations (such
1221
+ * as async_read, the stream's async_read_some function, or any other composed
1222
+ * operations that perform reads) until this operation completes.
1223
+ *
1224
+ * @param s The stream from which the data is to be read. The type must support
1225
+ * the AsyncReadStream concept.
1226
+ *
1227
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1228
+ * Although the buffers object may be copied as necessary, ownership of the
1229
+ * underlying memory blocks is retained by the caller, which must guarantee
1230
+ * that they remain valid until the handler is called.
1231
+ *
1232
+ * @param completion_condition The function object to be called to determine
1233
+ * whether the read operation is complete. The signature of the function object
1234
+ * must be:
1235
+ * @code std::size_t completion_condition(
1236
+ * // Result of latest async_read_some operation.
1237
+ * const asio::error_code& error,
1238
+ *
1239
+ * // Number of bytes transferred so far.
1240
+ * std::size_t bytes_transferred
1241
+ * ); @endcode
1242
+ * A return value of 0 indicates that the read operation is complete. A non-zero
1243
+ * return value indicates the maximum number of bytes to be read on the next
1244
+ * call to the stream's async_read_some function.
1245
+ *
1246
+ * @param handler The handler to be called when the read operation completes.
1247
+ * Copies will be made of the handler as required. The function signature of the
1248
+ * handler must be:
1249
+ * @code void handler(
1250
+ * const asio::error_code& error, // Result of operation.
1251
+ *
1252
+ * std::size_t bytes_transferred // Number of bytes copied into the
1253
+ * // buffers. If an error occurred,
1254
+ * // this will be the number of
1255
+ * // bytes successfully transferred
1256
+ * // prior to the error.
1257
+ * ); @endcode
1258
+ * Regardless of whether the asynchronous operation completes immediately or
1259
+ * not, the handler will not be invoked from within this function. On
1260
+ * immediate completion, invocation of the handler will be performed in a
1261
+ * manner equivalent to using asio::post().
1262
+ */
1263
+ template <typename AsyncReadStream,
1264
+ typename DynamicBuffer_v2, typename CompletionCondition,
1265
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1266
+ std::size_t)) ReadHandler
1267
+ ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(
1268
+ typename AsyncReadStream::executor_type)>
1269
+ ASIO_INITFN_AUTO_RESULT_TYPE(ReadHandler,
1270
+ void (asio::error_code, std::size_t))
1271
+ async_read(AsyncReadStream& s, DynamicBuffer_v2 buffers,
1272
+ CompletionCondition completion_condition,
1273
+ ASIO_MOVE_ARG(ReadHandler) handler
1274
+ ASIO_DEFAULT_COMPLETION_TOKEN(
1275
+ typename AsyncReadStream::executor_type),
1276
+ typename enable_if<
1277
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1278
+ >::type* = 0);
1279
+
1280
+ /*@}*/
1281
+
1282
+ } // namespace asio
1283
+
1284
+ #include "asio/detail/pop_options.hpp"
1285
+
1286
+ #include "asio/impl/read.hpp"
1287
+
1288
+ #endif // ASIO_READ_HPP