couchbase 3.5.2 → 3.5.4

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 (1998) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/CMakeLists.txt +8 -2
  4. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/any_completion_executor.hpp +336 -0
  5. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/any_completion_handler.hpp +822 -0
  6. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/any_io_executor.hpp +351 -0
  7. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/append.hpp +65 -0
  8. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/as_tuple.hpp +152 -0
  9. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/associated_allocator.hpp +214 -0
  10. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/associated_cancellation_slot.hpp +221 -0
  11. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/associated_executor.hpp +235 -0
  12. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/associated_immediate_executor.hpp +281 -0
  13. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/associator.hpp +35 -0
  14. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/async_result.hpp +948 -0
  15. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/awaitable.hpp +142 -0
  16. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_datagram_socket.hpp +1362 -0
  17. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_deadline_timer.hpp +710 -0
  18. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_file.hpp +824 -0
  19. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_io_object.hpp +286 -0
  20. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_random_access_file.hpp +689 -0
  21. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_raw_socket.hpp +1356 -0
  22. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_readable_pipe.hpp +626 -0
  23. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_seq_packet_socket.hpp +823 -0
  24. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_serial_port.hpp +987 -0
  25. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_signal_set.hpp +648 -0
  26. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_socket.hpp +1936 -0
  27. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_socket_acceptor.hpp +2708 -0
  28. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_socket_iostream.hpp +331 -0
  29. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_socket_streambuf.hpp +642 -0
  30. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_stream_file.hpp +744 -0
  31. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_stream_socket.hpp +1163 -0
  32. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_streambuf.hpp +450 -0
  33. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_streambuf_fwd.hpp +36 -0
  34. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_waitable_timer.hpp +824 -0
  35. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/basic_writable_pipe.hpp +622 -0
  36. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/bind_allocator.hpp +596 -0
  37. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/bind_cancellation_slot.hpp +613 -0
  38. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/bind_executor.hpp +664 -0
  39. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/bind_immediate_executor.hpp +616 -0
  40. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffer.hpp +2751 -0
  41. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffer_registration.hpp +318 -0
  42. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffered_read_stream.hpp +273 -0
  43. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffered_read_stream_fwd.hpp +25 -0
  44. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffered_stream.hpp +292 -0
  45. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffered_stream_fwd.hpp +25 -0
  46. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffered_write_stream.hpp +265 -0
  47. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffered_write_stream_fwd.hpp +25 -0
  48. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/buffers_iterator.hpp +521 -0
  49. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/cancel_after.hpp +301 -0
  50. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/cancel_at.hpp +294 -0
  51. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/cancellation_signal.hpp +245 -0
  52. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/cancellation_state.hpp +235 -0
  53. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/cancellation_type.hpp +157 -0
  54. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/co_composed.hpp +1319 -0
  55. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/co_spawn.hpp +523 -0
  56. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/completion_condition.hpp +267 -0
  57. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/compose.hpp +128 -0
  58. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/composed.hpp +413 -0
  59. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/connect.hpp +1346 -0
  60. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/connect_pipe.hpp +83 -0
  61. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/consign.hpp +75 -0
  62. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/coroutine.hpp +328 -0
  63. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/deadline_timer.hpp +38 -0
  64. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/default_completion_token.hpp +89 -0
  65. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/defer.hpp +218 -0
  66. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/deferred.hpp +719 -0
  67. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detached.hpp +105 -0
  68. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/array.hpp +30 -0
  69. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/array_fwd.hpp +32 -0
  70. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/assert.hpp +32 -0
  71. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/atomic_count.hpp +59 -0
  72. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +164 -0
  73. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/base_from_completion_cond.hpp +69 -0
  74. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/bind_handler.hpp +711 -0
  75. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  76. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/buffer_resize_guard.hpp +66 -0
  77. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +837 -0
  78. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/buffered_stream_storage.hpp +126 -0
  79. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/call_stack.hpp +125 -0
  80. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/chrono.hpp +45 -0
  81. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/chrono_time_traits.hpp +190 -0
  82. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/completion_handler.hpp +88 -0
  83. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/completion_message.hpp +127 -0
  84. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/completion_payload.hpp +220 -0
  85. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/completion_payload_handler.hpp +79 -0
  86. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/composed_work.hpp +252 -0
  87. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/concurrency_hint.hpp +94 -0
  88. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +120 -0
  89. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +149 -0
  90. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/config.hpp +1422 -0
  91. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/consuming_buffers.hpp +443 -0
  92. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/cstddef.hpp +27 -0
  93. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/cstdint.hpp +40 -0
  94. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/date_time_fwd.hpp +34 -0
  95. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/deadline_timer_service.hpp +339 -0
  96. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/dependent_type.hpp +36 -0
  97. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/descriptor_ops.hpp +179 -0
  98. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/descriptor_read_op.hpp +188 -0
  99. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/descriptor_write_op.hpp +187 -0
  100. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/dev_poll_reactor.hpp +247 -0
  101. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/epoll_reactor.hpp +295 -0
  102. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/event.hpp +46 -0
  103. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +83 -0
  104. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/exception.hpp +29 -0
  105. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/executor_function.hpp +152 -0
  106. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/executor_op.hpp +84 -0
  107. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/fd_set_adapter.hpp +39 -0
  108. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/fenced_block.hpp +40 -0
  109. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/functional.hpp +33 -0
  110. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/future.hpp +32 -0
  111. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/global.hpp +50 -0
  112. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +123 -0
  113. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/handler_cont_helpers.hpp +45 -0
  114. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/handler_tracking.hpp +264 -0
  115. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/handler_type_requirements.hpp +553 -0
  116. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/handler_work.hpp +511 -0
  117. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/hash_map.hpp +331 -0
  118. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +118 -0
  119. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +994 -0
  120. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +111 -0
  121. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +469 -0
  122. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +109 -0
  123. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +826 -0
  124. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +171 -0
  125. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/handler_tracking.ipp +398 -0
  126. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +205 -0
  127. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +140 -0
  128. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/io_uring_service.hpp +112 -0
  129. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/io_uring_service.ipp +914 -0
  130. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +249 -0
  131. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +113 -0
  132. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +608 -0
  133. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/null_event.ipp +74 -0
  134. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +129 -0
  135. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/posix_event.ipp +63 -0
  136. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/posix_mutex.ipp +46 -0
  137. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +168 -0
  138. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/posix_thread.ipp +84 -0
  139. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +46 -0
  140. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +232 -0
  141. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +312 -0
  142. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +158 -0
  143. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/scheduler.ipp +675 -0
  144. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/select_reactor.hpp +124 -0
  145. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/select_reactor.ipp +400 -0
  146. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/service_registry.hpp +93 -0
  147. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/service_registry.ipp +197 -0
  148. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/signal_set_service.ipp +826 -0
  149. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/socket_ops.ipp +4038 -0
  150. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +185 -0
  151. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +346 -0
  152. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +158 -0
  153. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/strand_service.hpp +86 -0
  154. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/strand_service.ipp +202 -0
  155. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/thread_context.ipp +35 -0
  156. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/throw_error.ipp +49 -0
  157. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +97 -0
  158. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +101 -0
  159. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_event.ipp +76 -0
  160. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +280 -0
  161. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +619 -0
  162. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +119 -0
  163. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +614 -0
  164. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +200 -0
  165. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +821 -0
  166. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_mutex.ipp +84 -0
  167. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +452 -0
  168. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +136 -0
  169. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_thread.ipp +150 -0
  170. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +57 -0
  171. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +626 -0
  172. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +92 -0
  173. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +121 -0
  174. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/impl/winsock_init.ipp +82 -0
  175. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/initiate_defer.hpp +207 -0
  176. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/initiate_dispatch.hpp +193 -0
  177. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/initiate_post.hpp +207 -0
  178. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/initiation_base.hpp +62 -0
  179. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_control.hpp +84 -0
  180. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_object_impl.hpp +177 -0
  181. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +195 -0
  182. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +190 -0
  183. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +687 -0
  184. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +189 -0
  185. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +185 -0
  186. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_file_service.hpp +261 -0
  187. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +114 -0
  188. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_operation.hpp +84 -0
  189. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_service.hpp +319 -0
  190. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +280 -0
  191. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +140 -0
  192. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +205 -0
  193. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +206 -0
  194. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +192 -0
  195. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +191 -0
  196. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +194 -0
  197. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_service.hpp +629 -0
  198. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +663 -0
  199. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/io_uring_wait_op.hpp +112 -0
  200. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/is_buffer_sequence.hpp +296 -0
  201. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/is_executor.hpp +126 -0
  202. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +70 -0
  203. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/kqueue_reactor.hpp +271 -0
  204. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +59 -0
  205. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/memory.hpp +126 -0
  206. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/mutex.hpp +46 -0
  207. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/non_const_lvalue.hpp +43 -0
  208. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/noncopyable.hpp +43 -0
  209. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_event.hpp +106 -0
  210. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_fenced_block.hpp +47 -0
  211. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_global.hpp +59 -0
  212. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_mutex.hpp +60 -0
  213. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_reactor.hpp +83 -0
  214. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_signal_blocker.hpp +69 -0
  215. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_socket_service.hpp +519 -0
  216. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_static_mutex.hpp +60 -0
  217. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_thread.hpp +67 -0
  218. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/null_tss_ptr.hpp +68 -0
  219. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/object_pool.hpp +171 -0
  220. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +214 -0
  221. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/op_queue.hpp +162 -0
  222. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/operation.hpp +38 -0
  223. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +89 -0
  224. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/pop_options.hpp +157 -0
  225. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_event.hpp +175 -0
  226. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +118 -0
  227. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_global.hpp +80 -0
  228. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_mutex.hpp +76 -0
  229. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_serial_port_service.hpp +249 -0
  230. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_signal_blocker.hpp +85 -0
  231. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_static_mutex.hpp +64 -0
  232. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_thread.hpp +109 -0
  233. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/posix_tss_ptr.hpp +79 -0
  234. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/push_options.hpp +228 -0
  235. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +570 -0
  236. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +131 -0
  237. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +323 -0
  238. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +162 -0
  239. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +197 -0
  240. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +203 -0
  241. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +184 -0
  242. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +200 -0
  243. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +194 -0
  244. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_service.hpp +633 -0
  245. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +755 -0
  246. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactive_wait_op.hpp +131 -0
  247. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactor.hpp +54 -0
  248. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactor_op.hpp +71 -0
  249. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/reactor_op_queue.hpp +212 -0
  250. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/recycling_allocator.hpp +114 -0
  251. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/regex_fwd.hpp +35 -0
  252. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +140 -0
  253. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/resolve_op.hpp +45 -0
  254. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/resolve_query_op.hpp +150 -0
  255. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/resolver_service.hpp +147 -0
  256. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/resolver_service_base.hpp +158 -0
  257. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/scheduler.hpp +241 -0
  258. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/scheduler_operation.hpp +78 -0
  259. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/scheduler_task.hpp +49 -0
  260. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/scheduler_thread_info.hpp +40 -0
  261. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/scoped_lock.hpp +101 -0
  262. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/scoped_ptr.hpp +87 -0
  263. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/select_interrupter.hpp +46 -0
  264. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/select_reactor.hpp +291 -0
  265. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/service_registry.hpp +163 -0
  266. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/signal_blocker.hpp +44 -0
  267. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/signal_handler.hpp +90 -0
  268. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/signal_init.hpp +47 -0
  269. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/signal_op.hpp +53 -0
  270. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/signal_set_service.hpp +292 -0
  271. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/socket_holder.hpp +98 -0
  272. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/socket_ops.hpp +375 -0
  273. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/socket_option.hpp +316 -0
  274. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/socket_select_interrupter.hpp +91 -0
  275. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/socket_types.hpp +427 -0
  276. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/source_location.hpp +45 -0
  277. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/static_mutex.hpp +50 -0
  278. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/std_event.hpp +183 -0
  279. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/std_fenced_block.hpp +57 -0
  280. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/std_global.hpp +65 -0
  281. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/std_mutex.hpp +68 -0
  282. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/std_static_mutex.hpp +76 -0
  283. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/std_thread.hpp +66 -0
  284. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/strand_executor_service.hpp +173 -0
  285. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/strand_service.hpp +144 -0
  286. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/string_view.hpp +47 -0
  287. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/thread.hpp +58 -0
  288. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/thread_context.hpp +51 -0
  289. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/thread_group.hpp +99 -0
  290. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/thread_info_base.hpp +260 -0
  291. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/throw_error.hpp +62 -0
  292. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/throw_exception.hpp +55 -0
  293. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timed_cancel_op.hpp +361 -0
  294. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timer_queue.hpp +389 -0
  295. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timer_queue_base.hpp +68 -0
  296. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timer_queue_ptime.hpp +103 -0
  297. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timer_queue_set.hpp +66 -0
  298. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timer_scheduler.hpp +37 -0
  299. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +42 -0
  300. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/tss_ptr.hpp +69 -0
  301. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/type_traits.hpp +178 -0
  302. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/utility.hpp +83 -0
  303. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/wait_handler.hpp +90 -0
  304. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/wait_op.hpp +49 -0
  305. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_event.hpp +164 -0
  306. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +149 -0
  307. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_global.hpp +71 -0
  308. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_file_service.hpp +287 -0
  309. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +119 -0
  310. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +431 -0
  311. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +114 -0
  312. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_io_context.hpp +347 -0
  313. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +129 -0
  314. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_operation.hpp +96 -0
  315. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +100 -0
  316. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +171 -0
  317. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +233 -0
  318. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +339 -0
  319. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +138 -0
  320. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +126 -0
  321. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +135 -0
  322. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +127 -0
  323. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +120 -0
  324. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +680 -0
  325. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +829 -0
  326. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +34 -0
  327. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +130 -0
  328. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_mutex.hpp +78 -0
  329. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_object_handle_service.hpp +194 -0
  330. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_static_mutex.hpp +74 -0
  331. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_thread.hpp +147 -0
  332. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/win_tss_ptr.hpp +79 -0
  333. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winapp_thread.hpp +124 -0
  334. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/wince_thread.hpp +124 -0
  335. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_async_manager.hpp +305 -0
  336. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_async_op.hpp +65 -0
  337. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_resolve_op.hpp +125 -0
  338. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_resolver_service.hpp +212 -0
  339. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +98 -0
  340. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +119 -0
  341. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +110 -0
  342. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +250 -0
  343. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +362 -0
  344. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +147 -0
  345. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winrt_utils.hpp +106 -0
  346. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/winsock_init.hpp +128 -0
  347. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/work_dispatcher.hpp +143 -0
  348. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/detail/wrapped_handler.hpp +217 -0
  349. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/dispatch.hpp +197 -0
  350. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/error.hpp +389 -0
  351. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/error_code.hpp +39 -0
  352. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/allocator.hpp +278 -0
  353. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/any_executor.hpp +1933 -0
  354. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/bad_executor.hpp +46 -0
  355. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/blocking.hpp +1360 -0
  356. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/blocking_adaptation.hpp +1080 -0
  357. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/context.hpp +191 -0
  358. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/context_as.hpp +190 -0
  359. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/executor.hpp +116 -0
  360. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  361. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/invocable_archetype.hpp +43 -0
  362. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/mapping.hpp +1002 -0
  363. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/occupancy.hpp +184 -0
  364. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/outstanding_work.hpp +753 -0
  365. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/prefer_only.hpp +328 -0
  366. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution/relationship.hpp +751 -0
  367. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution.hpp +33 -0
  368. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/execution_context.hpp +388 -0
  369. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/executor.hpp +363 -0
  370. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/executor_work_guard.hpp +362 -0
  371. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/append.hpp +36 -0
  372. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/as_single.hpp +132 -0
  373. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/as_tuple.hpp +36 -0
  374. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/awaitable_operators.hpp +536 -0
  375. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/basic_channel.hpp +514 -0
  376. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +514 -0
  377. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/cancellation_condition.hpp +152 -0
  378. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/channel.hpp +70 -0
  379. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/channel_error.hpp +82 -0
  380. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/channel_traits.hpp +301 -0
  381. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/co_composed.hpp +33 -0
  382. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/concurrent_channel.hpp +70 -0
  383. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/deferred.hpp +36 -0
  384. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/channel_operation.hpp +361 -0
  385. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +126 -0
  386. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +200 -0
  387. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +147 -0
  388. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/channel_service.hpp +679 -0
  389. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +140 -0
  390. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/has_signature.hpp +54 -0
  391. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +623 -0
  392. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/detail/partial_promise.hpp +195 -0
  393. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/impl/as_single.hpp +181 -0
  394. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/impl/channel_error.ipp +61 -0
  395. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/impl/parallel_group.hpp +788 -0
  396. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/parallel_group.hpp +455 -0
  397. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/prepend.hpp +36 -0
  398. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/promise.hpp +224 -0
  399. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/experimental/use_coro.hpp +189 -0
  400. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/file_base.hpp +166 -0
  401. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/basic_endpoint.hpp +189 -0
  402. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/datagram_protocol.hpp +123 -0
  403. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/detail/endpoint.hpp +133 -0
  404. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +110 -0
  405. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/raw_protocol.hpp +121 -0
  406. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/seq_packet_protocol.hpp +122 -0
  407. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/generic/stream_protocol.hpp +127 -0
  408. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/handler_continuation_hook.hpp +54 -0
  409. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/high_resolution_timer.hpp +39 -0
  410. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/immediate.hpp +142 -0
  411. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/any_completion_executor.ipp +126 -0
  412. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/any_io_executor.ipp +134 -0
  413. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/append.hpp +169 -0
  414. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/as_tuple.hpp +276 -0
  415. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/awaitable.hpp +1196 -0
  416. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/buffered_read_stream.hpp +404 -0
  417. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/buffered_write_stream.hpp +384 -0
  418. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/cancel_after.hpp +268 -0
  419. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/cancel_at.hpp +268 -0
  420. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/cancellation_signal.ipp +96 -0
  421. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/co_spawn.hpp +449 -0
  422. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/connect.hpp +703 -0
  423. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/connect_pipe.hpp +73 -0
  424. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/connect_pipe.ipp +149 -0
  425. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/consign.hpp +144 -0
  426. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/deferred.hpp +147 -0
  427. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/detached.hpp +77 -0
  428. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/error.ipp +128 -0
  429. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/error_code.ipp +206 -0
  430. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/execution_context.hpp +77 -0
  431. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/execution_context.ipp +82 -0
  432. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/executor.hpp +317 -0
  433. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/executor.ipp +43 -0
  434. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/io_context.hpp +433 -0
  435. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/io_context.ipp +176 -0
  436. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/multiple_exceptions.ipp +45 -0
  437. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/prepend.hpp +170 -0
  438. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/read.hpp +902 -0
  439. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/read_at.hpp +562 -0
  440. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/read_until.hpp +2668 -0
  441. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/redirect_error.hpp +287 -0
  442. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/serial_port_base.hpp +59 -0
  443. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/serial_port_base.ipp +554 -0
  444. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/spawn.hpp +1399 -0
  445. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/src.hpp +94 -0
  446. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/system_context.hpp +34 -0
  447. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/system_context.ipp +92 -0
  448. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/system_executor.hpp +179 -0
  449. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/thread_pool.hpp +277 -0
  450. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/thread_pool.ipp +142 -0
  451. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/use_awaitable.hpp +301 -0
  452. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/use_future.hpp +707 -0
  453. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/write.hpp +780 -0
  454. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/impl/write_at.hpp +480 -0
  455. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/io_context.hpp +1505 -0
  456. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/io_context_strand.hpp +396 -0
  457. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/io_service.hpp +33 -0
  458. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/io_service_strand.hpp +20 -0
  459. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address.hpp +281 -0
  460. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address_v4.hpp +421 -0
  461. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address_v4_iterator.hpp +156 -0
  462. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address_v4_range.hpp +128 -0
  463. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address_v6.hpp +407 -0
  464. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address_v6_iterator.hpp +178 -0
  465. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/address_v6_range.hpp +124 -0
  466. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/bad_address_cast.hpp +63 -0
  467. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/basic_endpoint.hpp +282 -0
  468. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/basic_resolver.hpp +1112 -0
  469. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/basic_resolver_entry.hpp +113 -0
  470. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +188 -0
  471. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/basic_resolver_query.hpp +260 -0
  472. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/basic_resolver_results.hpp +307 -0
  473. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/detail/endpoint.hpp +141 -0
  474. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +195 -0
  475. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/detail/socket_option.hpp +566 -0
  476. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/host_name.hpp +42 -0
  477. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/icmp.hpp +115 -0
  478. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/address.hpp +67 -0
  479. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/address.ipp +235 -0
  480. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/address_v4.hpp +67 -0
  481. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/address_v4.ipp +206 -0
  482. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/address_v6.hpp +67 -0
  483. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/address_v6.ipp +342 -0
  484. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +43 -0
  485. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/host_name.ipp +54 -0
  486. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/network_v4.hpp +54 -0
  487. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/network_v4.ipp +218 -0
  488. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/network_v6.hpp +53 -0
  489. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/impl/network_v6.ipp +187 -0
  490. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/multicast.hpp +191 -0
  491. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/network_v4.hpp +257 -0
  492. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/network_v6.hpp +231 -0
  493. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/resolver_base.hpp +129 -0
  494. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/resolver_query_base.hpp +43 -0
  495. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/tcp.hpp +155 -0
  496. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/udp.hpp +111 -0
  497. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/unicast.hpp +70 -0
  498. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ip/v6_only.hpp +69 -0
  499. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  500. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/is_contiguous_iterator.hpp +45 -0
  501. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/is_executor.hpp +46 -0
  502. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/is_read_buffered.hpp +59 -0
  503. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/is_write_buffered.hpp +59 -0
  504. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/basic_endpoint.hpp +243 -0
  505. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/connect_pair.hpp +101 -0
  506. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/datagram_protocol.hpp +80 -0
  507. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/detail/endpoint.hpp +139 -0
  508. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/detail/impl/endpoint.ipp +131 -0
  509. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/seq_packet_protocol.hpp +84 -0
  510. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/local/stream_protocol.hpp +90 -0
  511. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/multiple_exceptions.hpp +52 -0
  512. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/packaged_task.hpp +66 -0
  513. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/placeholders.hpp +75 -0
  514. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/posix/basic_descriptor.hpp +773 -0
  515. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +559 -0
  516. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/posix/descriptor.hpp +37 -0
  517. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/posix/descriptor_base.hpp +90 -0
  518. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/posix/stream_descriptor.hpp +37 -0
  519. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/post.hpp +213 -0
  520. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/prefer.hpp +577 -0
  521. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/prepend.hpp +66 -0
  522. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/query.hpp +311 -0
  523. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/random_access_file.hpp +35 -0
  524. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/read.hpp +1547 -0
  525. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/read_at.hpp +828 -0
  526. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/read_until.hpp +3202 -0
  527. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/readable_pipe.hpp +35 -0
  528. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/recycling_allocator.hpp +138 -0
  529. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/redirect_error.hpp +104 -0
  530. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/registered_buffer.hpp +344 -0
  531. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/require.hpp +433 -0
  532. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/require_concept.hpp +343 -0
  533. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/serial_port.hpp +36 -0
  534. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/serial_port_base.hpp +167 -0
  535. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/signal_set.hpp +28 -0
  536. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/signal_set_base.hpp +171 -0
  537. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/socket_base.hpp +559 -0
  538. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/spawn.hpp +871 -0
  539. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/context.hpp +762 -0
  540. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/context_base.hpp +209 -0
  541. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +119 -0
  542. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/engine.hpp +169 -0
  543. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/handshake_op.hpp +67 -0
  544. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/impl/engine.ipp +377 -0
  545. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +169 -0
  546. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/io.hpp +376 -0
  547. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/openssl_init.hpp +101 -0
  548. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/openssl_types.hpp +34 -0
  549. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/password_callback.hpp +66 -0
  550. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/read_op.hpp +72 -0
  551. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +69 -0
  552. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/stream_core.hpp +217 -0
  553. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/verify_callback.hpp +62 -0
  554. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/detail/write_op.hpp +76 -0
  555. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/error.hpp +123 -0
  556. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/host_name_verification.hpp +90 -0
  557. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/impl/context.hpp +67 -0
  558. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/impl/context.ipp +1319 -0
  559. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/impl/error.ipp +124 -0
  560. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +73 -0
  561. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +164 -0
  562. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/impl/src.hpp +29 -0
  563. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/rfc2818_verification.hpp +98 -0
  564. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/stream.hpp +1042 -0
  565. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/stream_base.hpp +52 -0
  566. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/verify_context.hpp +67 -0
  567. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl/verify_mode.hpp +63 -0
  568. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ssl.hpp +28 -0
  569. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  570. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/steady_timer.hpp +37 -0
  571. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/strand.hpp +557 -0
  572. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/stream_file.hpp +35 -0
  573. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/streambuf.hpp +33 -0
  574. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/system_context.hpp +90 -0
  575. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/system_error.hpp +31 -0
  576. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/system_executor.hpp +671 -0
  577. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/system_timer.hpp +37 -0
  578. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/this_coro.hpp +267 -0
  579. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/thread.hpp +92 -0
  580. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/thread_pool.hpp +963 -0
  581. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/time_traits.hpp +86 -0
  582. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  583. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/execute_member.hpp +104 -0
  584. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/prefer_free.hpp +104 -0
  585. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/prefer_member.hpp +104 -0
  586. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/query_free.hpp +104 -0
  587. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/query_member.hpp +104 -0
  588. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +101 -0
  589. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/require_concept_free.hpp +104 -0
  590. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/require_concept_member.hpp +104 -0
  591. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/require_free.hpp +104 -0
  592. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/require_member.hpp +104 -0
  593. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/static_query.hpp +102 -0
  594. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/static_require.hpp +115 -0
  595. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/traits/static_require_concept.hpp +116 -0
  596. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/buffer.hpp +24 -0
  597. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/executor.hpp +35 -0
  598. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/internet.hpp +40 -0
  599. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/io_context.hpp +20 -0
  600. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/net.hpp +26 -0
  601. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/netfwd.hpp +236 -0
  602. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/socket.hpp +27 -0
  603. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/ts/timer.hpp +26 -0
  604. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/unyield.hpp +21 -0
  605. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/use_awaitable.hpp +161 -0
  606. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/use_future.hpp +159 -0
  607. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/uses_executor.hpp +67 -0
  608. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/version.hpp +23 -0
  609. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/wait_traits.hpp +56 -0
  610. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/basic_object_handle.hpp +485 -0
  611. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +455 -0
  612. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/basic_random_access_handle.hpp +567 -0
  613. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/basic_stream_handle.hpp +551 -0
  614. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/object_handle.hpp +38 -0
  615. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/overlapped_handle.hpp +39 -0
  616. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/overlapped_ptr.hpp +145 -0
  617. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/random_access_handle.hpp +37 -0
  618. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/windows/stream_handle.hpp +37 -0
  619. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/writable_pipe.hpp +35 -0
  620. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/write.hpp +1526 -0
  621. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/write_at.hpp +841 -0
  622. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio/yield.hpp +23 -0
  623. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/include/asio.hpp +205 -0
  624. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/src/asio.cpp +11 -0
  625. data/ext/cache/asio/b710bc0ca14b231d20e983b02d27485125c7860e/asio/asio/src/asio_ssl.cpp +11 -0
  626. data/ext/cache/extconf_include.rb +3 -3
  627. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +520 -0
  628. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +2598 -0
  629. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +484 -0
  630. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/args.h +228 -0
  631. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/base.h +3061 -0
  632. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/chrono.h +2432 -0
  633. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/color.h +612 -0
  634. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/compile.h +529 -0
  635. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/core.h +5 -0
  636. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/format-inl.h +1904 -0
  637. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/format.h +4419 -0
  638. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/os.h +439 -0
  639. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/ostream.h +211 -0
  640. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/printf.h +656 -0
  641. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/ranges.h +882 -0
  642. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/std.h +699 -0
  643. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/xchar.h +322 -0
  644. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +135 -0
  645. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +403 -0
  646. data/ext/cache/llhttp/c67596e14f24b689a867a26fa36e02bdba733b9b/llhttp/CMakeLists.txt +117 -0
  647. data/ext/cache/llhttp/c67596e14f24b689a867a26fa36e02bdba733b9b/llhttp/include/llhttp.h +903 -0
  648. data/ext/cache/llhttp/c67596e14f24b689a867a26fa36e02bdba733b9b/llhttp/src/llhttp.c +10168 -0
  649. data/ext/cache/mozilla-ca-bundle.crt +100 -2
  650. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  651. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/CMakeLists.txt +438 -0
  652. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/cmake/config.h.in +69 -0
  653. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy-internal.h +424 -0
  654. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy-stubs-internal.h +531 -0
  655. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy.cc +2645 -0
  656. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy.h +257 -0
  657. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/CMakeLists.txt +359 -0
  658. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/async_logger-inl.h +86 -0
  659. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/common.h +411 -0
  660. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/circular_q.h +115 -0
  661. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/file_helper-inl.h +152 -0
  662. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/os-inl.h +594 -0
  663. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/periodic_worker.h +58 -0
  664. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/registry-inl.h +261 -0
  665. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/registry.h +129 -0
  666. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/thread_pool-inl.h +132 -0
  667. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/thread_pool.h +128 -0
  668. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/fmt.h +30 -0
  669. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/mdc.h +46 -0
  670. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/pattern_formatter-inl.h +1324 -0
  671. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/sinks/qt_sinks.h +304 -0
  672. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/stopwatch.h +66 -0
  673. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/version.h +11 -0
  674. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +46 -0
  675. data/ext/couchbase/CMakeLists.txt +155 -82
  676. data/ext/couchbase/cmake/0001-fix-build-for-mingw-w64-ucrt-x86_64-toolchain.patch +4 -3
  677. data/ext/couchbase/cmake/CompilerWarnings.cmake +1 -0
  678. data/ext/couchbase/cmake/OpenSSL.cmake +15 -8
  679. data/ext/couchbase/cmake/Packaging.cmake +147 -17
  680. data/ext/couchbase/cmake/StandardProjectSettings.cmake +1 -1
  681. data/ext/couchbase/cmake/StaticAnalyzers.cmake +28 -6
  682. data/ext/couchbase/cmake/Testing.cmake +57 -9
  683. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +36 -20
  684. data/ext/couchbase/cmake/VersionInfo.cmake +27 -13
  685. data/ext/couchbase/cmake/build_config.hxx.in +1 -0
  686. data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +104 -0
  687. data/ext/couchbase/cmake/couchbase_cxx_client-config.cmake.in +3 -0
  688. data/ext/couchbase/cmake/tarball_glob.txt +91 -0
  689. data/ext/couchbase/core/agent.cxx +148 -121
  690. data/ext/couchbase/core/agent.hxx +39 -36
  691. data/ext/couchbase/core/agent_config.cxx +2 -2
  692. data/ext/couchbase/core/agent_group.cxx +61 -32
  693. data/ext/couchbase/core/agent_group.hxx +12 -7
  694. data/ext/couchbase/core/agent_group_config.cxx +2 -2
  695. data/ext/couchbase/core/analytics_query_options.cxx +6 -0
  696. data/ext/couchbase/core/bucket.cxx +118 -76
  697. data/ext/couchbase/core/bucket.hxx +15 -14
  698. data/ext/couchbase/core/cluster.cxx +477 -76
  699. data/ext/couchbase/core/cluster.hxx +11 -0
  700. data/ext/couchbase/core/cluster_agent.cxx +44 -4
  701. data/ext/couchbase/core/cluster_agent.hxx +19 -1
  702. data/ext/couchbase/core/cluster_agent_config.cxx +2 -2
  703. data/ext/couchbase/core/cluster_options.cxx +5 -4
  704. data/ext/couchbase/core/cluster_options.hxx +3 -0
  705. data/ext/couchbase/core/collections_component.cxx +58 -34
  706. data/ext/couchbase/core/collections_component.hxx +2 -2
  707. data/ext/couchbase/core/columnar/agent.cxx +147 -0
  708. data/ext/couchbase/core/columnar/agent.hxx +71 -0
  709. data/ext/couchbase/core/columnar/agent_config.cxx +48 -0
  710. data/ext/couchbase/core/columnar/agent_config.hxx +59 -0
  711. data/ext/couchbase/core/columnar/background_bootstrap_listener.hxx +42 -0
  712. data/ext/couchbase/core/columnar/backoff_calculator.cxx +62 -0
  713. data/ext/couchbase/core/columnar/backoff_calculator.hxx +34 -0
  714. data/ext/couchbase/core/columnar/bootstrap_notification_subscriber.hxx +32 -0
  715. data/ext/couchbase/core/columnar/database_management_options.hxx +56 -0
  716. data/ext/couchbase/core/columnar/error.cxx +50 -0
  717. data/ext/couchbase/core/columnar/error.hxx +52 -0
  718. data/ext/couchbase/core/columnar/error_codes.cxx +107 -0
  719. data/ext/couchbase/core/columnar/error_codes.hxx +75 -0
  720. data/ext/couchbase/core/columnar/management_component.cxx +300 -0
  721. data/ext/couchbase/core/columnar/management_component.hxx +56 -0
  722. data/ext/couchbase/core/columnar/query_component.cxx +523 -0
  723. data/ext/couchbase/core/columnar/query_component.hxx +57 -0
  724. data/ext/couchbase/core/columnar/query_options.hxx +59 -0
  725. data/ext/couchbase/core/columnar/query_result.cxx +130 -0
  726. data/ext/couchbase/core/columnar/query_result.hxx +78 -0
  727. data/ext/couchbase/core/columnar/retry_info.hxx +34 -0
  728. data/ext/couchbase/core/columnar/security_options.hxx +34 -0
  729. data/ext/couchbase/core/config_profiles.cxx +6 -3
  730. data/ext/couchbase/core/core_sdk_shim.cxx +3 -1
  731. data/ext/couchbase/core/crud_component.cxx +50 -33
  732. data/ext/couchbase/core/crud_component.hxx +4 -4
  733. data/ext/couchbase/core/crypto/cbcrypto.cc +159 -141
  734. data/ext/couchbase/core/crypto/cbcrypto.h +16 -14
  735. data/ext/couchbase/core/diagnostics.hxx +3 -3
  736. data/ext/couchbase/core/diagnostics_json.hxx +1 -1
  737. data/ext/couchbase/core/dispatcher.cxx +8 -0
  738. data/ext/couchbase/core/document_id.cxx +25 -13
  739. data/ext/couchbase/core/error_context/analytics_json.hxx +2 -2
  740. data/ext/couchbase/core/error_context/http_json.hxx +2 -3
  741. data/ext/couchbase/core/error_context/key_value.cxx +9 -0
  742. data/ext/couchbase/core/error_context/query_json.hxx +2 -2
  743. data/ext/couchbase/core/error_context/query_public_json.hxx +1 -0
  744. data/ext/couchbase/core/error_context/search_json.hxx +2 -2
  745. data/ext/couchbase/core/error_context/subdocument_json.hxx +2 -3
  746. data/ext/couchbase/core/free_form_http_request.cxx +121 -17
  747. data/ext/couchbase/core/free_form_http_request.hxx +60 -16
  748. data/ext/couchbase/core/http_component.cxx +711 -0
  749. data/ext/couchbase/core/http_component.hxx +65 -0
  750. data/ext/couchbase/core/impl/analytics.cxx +19 -10
  751. data/ext/couchbase/core/impl/analytics_error_category.cxx +1 -0
  752. data/ext/couchbase/core/impl/analytics_index_manager.cxx +90 -66
  753. data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +13 -7
  754. data/ext/couchbase/core/impl/binary_collection.cxx +73 -54
  755. data/ext/couchbase/core/impl/boolean_field_query.cxx +3 -1
  756. data/ext/couchbase/core/impl/boolean_query.cxx +4 -2
  757. data/ext/couchbase/core/impl/bootstrap_error.hxx +42 -0
  758. data/ext/couchbase/core/impl/bucket.cxx +12 -2
  759. data/ext/couchbase/core/impl/bucket_manager.cxx +27 -28
  760. data/ext/couchbase/core/impl/cluster.cxx +82 -48
  761. data/ext/couchbase/core/impl/collection.cxx +64 -16
  762. data/ext/couchbase/core/impl/collection_manager.cxx +21 -6
  763. data/ext/couchbase/core/impl/common_error_category.cxx +1 -0
  764. data/ext/couchbase/core/impl/configuration_profiles_registry.cxx +11 -4
  765. data/ext/couchbase/core/impl/conjunction_query.cxx +2 -1
  766. data/ext/couchbase/core/impl/date_range.cxx +7 -0
  767. data/ext/couchbase/core/impl/date_range_facet.cxx +2 -0
  768. data/ext/couchbase/core/impl/date_range_facet_result.cxx +9 -1
  769. data/ext/couchbase/core/impl/date_range_query.cxx +7 -2
  770. data/ext/couchbase/core/impl/diagnostics.cxx +14 -10
  771. data/ext/couchbase/core/impl/disjunction_query.cxx +4 -2
  772. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +22 -8
  773. data/ext/couchbase/core/impl/dns_srv_tracker.hxx +3 -3
  774. data/ext/couchbase/core/impl/doc_id_query.cxx +2 -1
  775. data/ext/couchbase/core/impl/encoded_search_query.hxx +2 -1
  776. data/ext/couchbase/core/impl/error.cxx +20 -5
  777. data/ext/couchbase/core/impl/error_context.cxx +1 -0
  778. data/ext/couchbase/core/impl/expiry.cxx +14 -6
  779. data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +7 -0
  780. data/ext/couchbase/core/impl/field_level_encryption_error_category.cxx +1 -0
  781. data/ext/couchbase/core/impl/geo_bounding_box_query.cxx +1 -0
  782. data/ext/couchbase/core/impl/geo_distance_query.cxx +1 -0
  783. data/ext/couchbase/core/impl/geo_polygon_query.cxx +1 -0
  784. data/ext/couchbase/core/impl/get_replica.cxx +6 -2
  785. data/ext/couchbase/core/impl/get_replica.hxx +1 -1
  786. data/ext/couchbase/core/impl/internal_date_range_facet_result.cxx +11 -1
  787. data/ext/couchbase/core/impl/internal_error_context.cxx +2 -2
  788. data/ext/couchbase/core/impl/internal_error_context.hxx +3 -2
  789. data/ext/couchbase/core/impl/internal_numeric_range_facet_result.cxx +11 -1
  790. data/ext/couchbase/core/impl/internal_scan_result.hxx +6 -0
  791. data/ext/couchbase/core/impl/internal_search_error_context.cxx +11 -0
  792. data/ext/couchbase/core/impl/internal_search_meta_data.cxx +10 -1
  793. data/ext/couchbase/core/impl/internal_search_result.cxx +19 -7
  794. data/ext/couchbase/core/impl/internal_search_row.cxx +6 -0
  795. data/ext/couchbase/core/impl/internal_search_row.hxx +2 -0
  796. data/ext/couchbase/core/impl/internal_term_facet_result.cxx +4 -1
  797. data/ext/couchbase/core/impl/lookup_in_replica.cxx +4 -0
  798. data/ext/couchbase/core/impl/observe_poll.cxx +25 -17
  799. data/ext/couchbase/core/impl/observe_poll.hxx +2 -4
  800. data/ext/couchbase/core/impl/observe_seqno.cxx +1 -1
  801. data/ext/couchbase/core/impl/observe_seqno.hxx +4 -4
  802. data/ext/couchbase/core/impl/query.cxx +22 -18
  803. data/ext/couchbase/core/impl/query_index_manager.cxx +43 -38
  804. data/ext/couchbase/core/impl/replica_utils.cxx +1 -1
  805. data/ext/couchbase/core/impl/scan_result.cxx +2 -2
  806. data/ext/couchbase/core/impl/scope.cxx +8 -6
  807. data/ext/couchbase/core/impl/search.cxx +14 -16
  808. data/ext/couchbase/core/impl/search_index_manager.cxx +12 -12
  809. data/ext/couchbase/core/impl/search_meta_data.cxx +7 -0
  810. data/ext/couchbase/core/impl/search_request.cxx +1 -1
  811. data/ext/couchbase/core/impl/search_row.cxx +5 -0
  812. data/ext/couchbase/core/impl/search_row_locations.cxx +6 -0
  813. data/ext/couchbase/core/impl/subdoc/join_values.cxx +2 -2
  814. data/ext/couchbase/core/impl/subdoc/lookup_in_macro.cxx +15 -12
  815. data/ext/couchbase/core/impl/subdoc/lookup_in_specs.cxx +1 -1
  816. data/ext/couchbase/core/impl/subdoc/mutate_in_macro.cxx +3 -3
  817. data/ext/couchbase/core/impl/subdoc/mutate_in_specs.cxx +1 -1
  818. data/ext/couchbase/core/impl/transaction_get_result.cxx +9 -3
  819. data/ext/couchbase/core/impl/vector_query.cxx +1 -1
  820. data/ext/couchbase/core/io/config_tracker.cxx +685 -0
  821. data/ext/couchbase/core/io/config_tracker.hxx +122 -0
  822. data/ext/couchbase/core/io/dns_client.cxx +12 -5
  823. data/ext/couchbase/core/io/dns_config.cxx +5 -3
  824. data/ext/couchbase/core/io/http_command.hxx +90 -22
  825. data/ext/couchbase/core/io/http_message.hxx +4 -1
  826. data/ext/couchbase/core/io/http_session.cxx +809 -0
  827. data/ext/couchbase/core/io/http_session.hxx +97 -547
  828. data/ext/couchbase/core/io/http_session_manager.hxx +514 -54
  829. data/ext/couchbase/core/io/http_streaming_parser.cxx +166 -0
  830. data/ext/couchbase/core/io/http_streaming_parser.hxx +62 -0
  831. data/ext/couchbase/core/io/http_streaming_response.cxx +227 -0
  832. data/ext/couchbase/core/io/http_streaming_response.hxx +73 -0
  833. data/ext/couchbase/core/io/mcbp_command.hxx +15 -14
  834. data/ext/couchbase/core/io/mcbp_message.hxx +1 -1
  835. data/ext/couchbase/core/io/mcbp_parser.cxx +5 -5
  836. data/ext/couchbase/core/io/mcbp_session.cxx +401 -178
  837. data/ext/couchbase/core/io/mcbp_session.hxx +21 -5
  838. data/ext/couchbase/core/io/streams.cxx +256 -0
  839. data/ext/couchbase/core/io/streams.hxx +44 -162
  840. data/ext/couchbase/core/logger/configuration.hxx +5 -0
  841. data/ext/couchbase/core/logger/custom_rotating_file_sink.cxx +14 -12
  842. data/ext/couchbase/core/logger/custom_rotating_file_sink.hxx +1 -1
  843. data/ext/couchbase/core/logger/logger.cxx +77 -35
  844. data/ext/couchbase/core/logger/logger.hxx +8 -1
  845. data/ext/couchbase/core/management/search_index.cxx +6 -7
  846. data/ext/couchbase/core/mcbp/buffer_writer.cxx +1 -1
  847. data/ext/couchbase/core/mcbp/codec.cxx +25 -23
  848. data/ext/couchbase/core/mcbp/codec.hxx +5 -4
  849. data/ext/couchbase/core/mcbp/operation_queue.cxx +12 -10
  850. data/ext/couchbase/core/mcbp/operation_queue.hxx +4 -4
  851. data/ext/couchbase/core/mcbp/packet.cxx +2 -0
  852. data/ext/couchbase/core/mcbp/queue_request.cxx +10 -7
  853. data/ext/couchbase/core/meta/version.cxx +22 -13
  854. data/ext/couchbase/core/metrics/logging_meter.cxx +6 -6
  855. data/ext/couchbase/core/metrics/meter_wrapper.cxx +188 -0
  856. data/ext/couchbase/core/metrics/meter_wrapper.hxx +73 -0
  857. data/ext/couchbase/core/mozilla_ca_bundle.hxx +2 -1
  858. data/ext/couchbase/core/operations/document_analytics.cxx +3 -1
  859. data/ext/couchbase/core/operations/document_get_projected.cxx +16 -12
  860. data/ext/couchbase/core/operations/document_lookup_in.cxx +4 -0
  861. data/ext/couchbase/core/operations/document_lookup_in.hxx +1 -0
  862. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +2 -2
  863. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +4 -14
  864. data/ext/couchbase/core/operations/document_query.cxx +12 -3
  865. data/ext/couchbase/core/operations/document_view.cxx +2 -0
  866. data/ext/couchbase/core/operations/http_noop.hxx +1 -1
  867. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +9 -5
  868. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +9 -5
  869. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.cxx +8 -5
  870. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +9 -5
  871. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +9 -5
  872. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +6 -3
  873. data/ext/couchbase/core/operations/management/analytics_index_create.cxx +10 -5
  874. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +9 -5
  875. data/ext/couchbase/core/operations/management/analytics_index_get_all.cxx +8 -5
  876. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +9 -5
  877. data/ext/couchbase/core/operations/management/analytics_link_create.cxx +9 -7
  878. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +9 -5
  879. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +9 -5
  880. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +8 -4
  881. data/ext/couchbase/core/operations/management/analytics_link_replace.cxx +9 -7
  882. data/ext/couchbase/core/operations/management/bucket_create.cxx +7 -3
  883. data/ext/couchbase/core/operations/management/bucket_describe.cxx +18 -14
  884. data/ext/couchbase/core/operations/management/bucket_drop.cxx +9 -6
  885. data/ext/couchbase/core/operations/management/bucket_flush.cxx +9 -6
  886. data/ext/couchbase/core/operations/management/bucket_get.cxx +9 -5
  887. data/ext/couchbase/core/operations/management/bucket_get_all.cxx +7 -3
  888. data/ext/couchbase/core/operations/management/bucket_update.cxx +10 -4
  889. data/ext/couchbase/core/operations/management/change_password.cxx +5 -3
  890. data/ext/couchbase/core/operations/management/cluster_describe.cxx +6 -3
  891. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.cxx +4 -2
  892. data/ext/couchbase/core/operations/management/collection_create.cxx +13 -9
  893. data/ext/couchbase/core/operations/management/collection_drop.cxx +15 -9
  894. data/ext/couchbase/core/operations/management/collection_update.cxx +12 -7
  895. data/ext/couchbase/core/operations/management/collections_manifest_get.cxx +4 -3
  896. data/ext/couchbase/core/operations/management/error_utils.cxx +21 -12
  897. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +5 -3
  898. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +5 -3
  899. data/ext/couchbase/core/operations/management/eventing_get_all_functions.cxx +6 -3
  900. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +5 -3
  901. data/ext/couchbase/core/operations/management/eventing_get_status.cxx +6 -3
  902. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +5 -3
  903. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +5 -3
  904. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +5 -3
  905. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +18 -13
  906. data/ext/couchbase/core/operations/management/freeform.cxx +5 -4
  907. data/ext/couchbase/core/operations/management/freeform.hxx +1 -1
  908. data/ext/couchbase/core/operations/management/group_drop.cxx +5 -4
  909. data/ext/couchbase/core/operations/management/group_get.cxx +6 -4
  910. data/ext/couchbase/core/operations/management/group_get_all.cxx +7 -3
  911. data/ext/couchbase/core/operations/management/group_upsert.cxx +12 -9
  912. data/ext/couchbase/core/operations/management/query_index_build.cxx +8 -5
  913. data/ext/couchbase/core/operations/management/query_index_create.cxx +6 -3
  914. data/ext/couchbase/core/operations/management/query_index_drop.cxx +7 -3
  915. data/ext/couchbase/core/operations/management/query_index_get_all.cxx +14 -7
  916. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.cxx +11 -6
  917. data/ext/couchbase/core/operations/management/role_get_all.cxx +8 -5
  918. data/ext/couchbase/core/operations/management/scope_create.cxx +10 -7
  919. data/ext/couchbase/core/operations/management/scope_drop.cxx +13 -8
  920. data/ext/couchbase/core/operations/management/scope_get_all.cxx +9 -4
  921. data/ext/couchbase/core/operations/management/search_get_stats.cxx +4 -3
  922. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +8 -4
  923. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +8 -5
  924. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +8 -4
  925. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +8 -5
  926. data/ext/couchbase/core/operations/management/search_index_drop.cxx +10 -5
  927. data/ext/couchbase/core/operations/management/search_index_get.cxx +10 -5
  928. data/ext/couchbase/core/operations/management/search_index_get_all.cxx +9 -5
  929. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +10 -4
  930. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +7 -3
  931. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +10 -5
  932. data/ext/couchbase/core/operations/management/user_drop.cxx +5 -4
  933. data/ext/couchbase/core/operations/management/user_get.cxx +7 -4
  934. data/ext/couchbase/core/operations/management/user_get_all.cxx +8 -5
  935. data/ext/couchbase/core/operations/management/user_upsert.cxx +10 -7
  936. data/ext/couchbase/core/operations/management/view_index_drop.cxx +8 -4
  937. data/ext/couchbase/core/operations/management/view_index_get.cxx +8 -4
  938. data/ext/couchbase/core/operations/management/view_index_get_all.cxx +8 -4
  939. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +7 -4
  940. data/ext/couchbase/core/origin.cxx +67 -42
  941. data/ext/couchbase/core/origin.hxx +1 -1
  942. data/ext/couchbase/core/pending_operation_connection_info.hxx +32 -0
  943. data/ext/couchbase/core/platform/CMakeLists.txt +0 -19
  944. data/ext/couchbase/core/platform/base64.cc +32 -23
  945. data/ext/couchbase/core/platform/dirutils.cc +24 -14
  946. data/ext/couchbase/core/platform/random.cc +22 -12
  947. data/ext/couchbase/core/platform/random.h +1 -1
  948. data/ext/couchbase/core/platform/string_hex.cc +37 -28
  949. data/ext/couchbase/core/platform/string_hex.h +1 -0
  950. data/ext/couchbase/core/platform/terminate_handler.cc +15 -12
  951. data/ext/couchbase/core/platform/uuid.cc +18 -11
  952. data/ext/couchbase/core/platform/uuid.h +6 -6
  953. data/ext/couchbase/core/protocol/client_request.cxx +1 -1
  954. data/ext/couchbase/core/protocol/client_request.hxx +1 -3
  955. data/ext/couchbase/core/protocol/client_response.cxx +1 -0
  956. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.cxx +5 -3
  957. data/ext/couchbase/core/protocol/cmd_get_and_lock.hxx +1 -1
  958. data/ext/couchbase/core/protocol/cmd_get_and_touch.hxx +1 -1
  959. data/ext/couchbase/core/protocol/cmd_get_cluster_config.cxx +2 -1
  960. data/ext/couchbase/core/protocol/cmd_get_cluster_config.hxx +2 -2
  961. data/ext/couchbase/core/protocol/cmd_get_collections_manifest.cxx +2 -1
  962. data/ext/couchbase/core/protocol/cmd_get_error_map.cxx +2 -1
  963. data/ext/couchbase/core/protocol/cmd_hello.cxx +5 -5
  964. data/ext/couchbase/core/protocol/cmd_mutate_in.cxx +2 -2
  965. data/ext/couchbase/core/protocol/cmd_observe_seqno.cxx +3 -2
  966. data/ext/couchbase/core/protocol/cmd_observe_seqno.hxx +1 -1
  967. data/ext/couchbase/core/protocol/status.cxx +0 -1
  968. data/ext/couchbase/core/range_scan_load_balancer.cxx +10 -9
  969. data/ext/couchbase/core/range_scan_load_balancer.hxx +3 -4
  970. data/ext/couchbase/core/range_scan_orchestrator.cxx +44 -27
  971. data/ext/couchbase/core/retry_orchestrator.cxx +1 -1
  972. data/ext/couchbase/core/retry_orchestrator.hxx +1 -1
  973. data/ext/couchbase/core/row_streamer.cxx +239 -0
  974. data/ext/couchbase/core/row_streamer.hxx +68 -0
  975. data/ext/couchbase/core/sasl/context.cc +2 -2
  976. data/ext/couchbase/core/sasl/mechanism.cc +3 -5
  977. data/ext/couchbase/core/sasl/mechanism.h +2 -5
  978. data/ext/couchbase/core/sasl/plain/plain.cc +2 -2
  979. data/ext/couchbase/core/sasl/scram-sha/scram-sha.cc +21 -20
  980. data/ext/couchbase/core/sasl/scram-sha/stringutils.cc +4 -4
  981. data/ext/couchbase/core/sasl/scram-sha/stringutils.h +4 -4
  982. data/ext/couchbase/core/scan_result.cxx +4 -4
  983. data/ext/couchbase/core/scan_result.hxx +1 -1
  984. data/ext/couchbase/core/timeout_defaults.hxx +1 -0
  985. data/ext/couchbase/core/topology/collections_manifest.hxx +3 -3
  986. data/ext/couchbase/core/topology/configuration.hxx +2 -0
  987. data/ext/couchbase/core/topology/configuration_json.hxx +10 -2
  988. data/ext/couchbase/core/tracing/constants.hxx +3 -0
  989. data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +22 -26
  990. data/ext/couchbase/core/tracing/threshold_logging_tracer.hxx +1 -1
  991. data/ext/couchbase/core/tracing/tracer_wrapper.cxx +87 -0
  992. data/ext/couchbase/core/tracing/tracer_wrapper.hxx +57 -0
  993. data/ext/couchbase/core/transactions/active_transaction_record.cxx +31 -32
  994. data/ext/couchbase/core/transactions/async_attempt_context.hxx +3 -3
  995. data/ext/couchbase/core/transactions/atr_cleanup_entry.cxx +68 -56
  996. data/ext/couchbase/core/transactions/atr_ids.cxx +3 -2
  997. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +512 -408
  998. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +40 -67
  999. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.cxx +3 -0
  1000. data/ext/couchbase/core/transactions/binary.cxx +1 -1
  1001. data/ext/couchbase/core/transactions/cleanup_testing_hooks.cxx +2 -1
  1002. data/ext/couchbase/core/transactions/document_metadata.hxx +4 -4
  1003. data/ext/couchbase/core/transactions/exceptions.cxx +11 -12
  1004. data/ext/couchbase/core/transactions/forward_compat.cxx +40 -29
  1005. data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +12 -11
  1006. data/ext/couchbase/core/transactions/internal/doc_record.cxx +7 -7
  1007. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +46 -96
  1008. data/ext/couchbase/core/transactions/internal/transactions_cleanup.hxx +34 -33
  1009. data/ext/couchbase/core/transactions/internal/utils.hxx +3 -2
  1010. data/ext/couchbase/core/transactions/result.cxx +1 -1
  1011. data/ext/couchbase/core/transactions/staged_mutation.cxx +105 -97
  1012. data/ext/couchbase/core/transactions/staged_mutation.hxx +28 -26
  1013. data/ext/couchbase/core/transactions/transaction_context.cxx +118 -8
  1014. data/ext/couchbase/core/transactions/transaction_get_result.cxx +5 -1
  1015. data/ext/couchbase/core/transactions/transaction_get_result.hxx +9 -17
  1016. data/ext/couchbase/core/transactions/transaction_keyspace.cxx +1 -1
  1017. data/ext/couchbase/core/transactions/transaction_links.cxx +87 -2
  1018. data/ext/couchbase/core/transactions/transaction_links.hxx +6 -65
  1019. data/ext/couchbase/core/transactions/transaction_options.cxx +3 -2
  1020. data/ext/couchbase/core/transactions/transactions.cxx +12 -9
  1021. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +59 -68
  1022. data/ext/couchbase/core/transactions/transactions_config.cxx +1 -3
  1023. data/ext/couchbase/core/transactions/uid_generator.cxx +3 -1
  1024. data/ext/couchbase/core/transactions/utils.cxx +14 -14
  1025. data/ext/couchbase/core/transactions.hxx +3 -4
  1026. data/ext/couchbase/core/utils/connection_string.cxx +135 -47
  1027. data/ext/couchbase/core/utils/duration_parser.cxx +11 -9
  1028. data/ext/couchbase/core/utils/json.cxx +14 -4
  1029. data/ext/couchbase/core/utils/json.hxx +1 -1
  1030. data/ext/couchbase/core/utils/json_streaming_lexer.cxx +44 -9
  1031. data/ext/couchbase/core/utils/json_streaming_lexer.hxx +4 -0
  1032. data/ext/couchbase/core/utils/movable_function.hxx +0 -1
  1033. data/ext/couchbase/core/utils/url_codec.cxx +7 -4
  1034. data/ext/couchbase/couchbase/analytics_index_manager.hxx +24 -24
  1035. data/ext/couchbase/couchbase/analytics_meta_data.hxx +2 -1
  1036. data/ext/couchbase/couchbase/analytics_options.hxx +32 -15
  1037. data/ext/couchbase/couchbase/analytics_result.hxx +7 -9
  1038. data/ext/couchbase/couchbase/behavior_options.hxx +1 -10
  1039. data/ext/couchbase/couchbase/boolean_query.hxx +1 -1
  1040. data/ext/couchbase/couchbase/bucket_manager.hxx +1 -0
  1041. data/ext/couchbase/couchbase/codec/codec_flags.hxx +0 -1
  1042. data/ext/couchbase/couchbase/codec/default_json_transcoder.hxx +1 -1
  1043. data/ext/couchbase/couchbase/codec/tao_json_serializer.hxx +1 -1
  1044. data/ext/couchbase/couchbase/collection.hxx +14 -0
  1045. data/ext/couchbase/couchbase/conjunction_query.hxx +1 -1
  1046. data/ext/couchbase/couchbase/create_bucket_options.hxx +1 -0
  1047. data/ext/couchbase/couchbase/date_range_facet_result.hxx +1 -0
  1048. data/ext/couchbase/couchbase/date_range_query.hxx +2 -2
  1049. data/ext/couchbase/couchbase/disjunction_query.hxx +1 -1
  1050. data/ext/couchbase/couchbase/drop_bucket_options.hxx +3 -3
  1051. data/ext/couchbase/couchbase/expiry.hxx +2 -2
  1052. data/ext/couchbase/couchbase/flush_bucket_options.hxx +2 -4
  1053. data/ext/couchbase/couchbase/geo_bounding_box_query.hxx +1 -1
  1054. data/ext/couchbase/couchbase/geo_distance_query.hxx +1 -1
  1055. data/ext/couchbase/couchbase/geo_polygon_query.hxx +1 -1
  1056. data/ext/couchbase/couchbase/get_all_buckets_options.hxx +2 -3
  1057. data/ext/couchbase/couchbase/get_bucket_options.hxx +2 -3
  1058. data/ext/couchbase/couchbase/get_replica_result.hxx +2 -2
  1059. data/ext/couchbase/couchbase/get_result.hxx +2 -2
  1060. data/ext/couchbase/couchbase/lookup_in_result.hxx +20 -7
  1061. data/ext/couchbase/couchbase/match_phrase_query.hxx +1 -1
  1062. data/ext/couchbase/couchbase/match_query.hxx +2 -2
  1063. data/ext/couchbase/couchbase/mutate_in_result.hxx +17 -6
  1064. data/ext/couchbase/couchbase/mutate_in_specs.hxx +16 -12
  1065. data/ext/couchbase/couchbase/network_options.hxx +11 -1
  1066. data/ext/couchbase/couchbase/numeric_range_query.hxx +2 -1
  1067. data/ext/couchbase/couchbase/phrase_query.hxx +1 -1
  1068. data/ext/couchbase/couchbase/prefix_query.hxx +1 -1
  1069. data/ext/couchbase/couchbase/query_index_manager.hxx +14 -14
  1070. data/ext/couchbase/couchbase/query_options.hxx +32 -14
  1071. data/ext/couchbase/couchbase/query_result.hxx +9 -10
  1072. data/ext/couchbase/couchbase/query_string_query.hxx +3 -3
  1073. data/ext/couchbase/couchbase/regexp_query.hxx +1 -1
  1074. data/ext/couchbase/couchbase/search_meta_data.hxx +3 -0
  1075. data/ext/couchbase/couchbase/search_numeric_range.hxx +1 -0
  1076. data/ext/couchbase/couchbase/search_options.hxx +9 -3
  1077. data/ext/couchbase/couchbase/search_row.hxx +3 -0
  1078. data/ext/couchbase/couchbase/search_row_location.hxx +2 -1
  1079. data/ext/couchbase/couchbase/search_row_locations.hxx +4 -0
  1080. data/ext/couchbase/couchbase/search_sort_field.hxx +2 -2
  1081. data/ext/couchbase/couchbase/subdoc/lookup_in_macro.hxx +1 -1
  1082. data/ext/couchbase/couchbase/term_query.hxx +1 -1
  1083. data/ext/couchbase/couchbase/term_range_query.hxx +1 -1
  1084. data/ext/couchbase/couchbase/transactions/async_attempt_context.hxx +7 -1
  1085. data/ext/couchbase/couchbase/transactions/attempt_context.hxx +36 -10
  1086. data/ext/couchbase/couchbase/transactions/transaction_get_result.hxx +26 -3
  1087. data/ext/couchbase/couchbase/transactions/transaction_keyspace.hxx +1 -1
  1088. data/ext/couchbase/couchbase/update_bucket_options.hxx +3 -3
  1089. data/ext/couchbase/couchbase/vector_query.hxx +1 -1
  1090. data/ext/couchbase/couchbase/wildcard_query.hxx +1 -1
  1091. data/ext/extconf.rb +3 -0
  1092. data/ext/rcb_backend.cxx +0 -1
  1093. data/ext/rcb_crud.cxx +2 -0
  1094. data/ext/rcb_version.cxx +4 -1
  1095. data/lib/active_support/cache/couchbase_store.rb +2 -2
  1096. data/lib/couchbase/version.rb +1 -1
  1097. metadata +852 -910
  1098. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/any_completion_executor.hpp +0 -336
  1099. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/any_completion_handler.hpp +0 -812
  1100. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/any_io_executor.hpp +0 -351
  1101. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/append.hpp +0 -65
  1102. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/as_tuple.hpp +0 -126
  1103. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_allocator.hpp +0 -214
  1104. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_cancellation_slot.hpp +0 -221
  1105. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_executor.hpp +0 -235
  1106. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_immediate_executor.hpp +0 -280
  1107. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associator.hpp +0 -35
  1108. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/async_result.hpp +0 -893
  1109. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/awaitable.hpp +0 -142
  1110. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1362
  1111. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_deadline_timer.hpp +0 -710
  1112. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_file.hpp +0 -824
  1113. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_io_object.hpp +0 -286
  1114. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_random_access_file.hpp +0 -689
  1115. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_raw_socket.hpp +0 -1356
  1116. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_readable_pipe.hpp +0 -626
  1117. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -823
  1118. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_serial_port.hpp +0 -987
  1119. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_signal_set.hpp +0 -648
  1120. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket.hpp +0 -1936
  1121. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2708
  1122. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket_iostream.hpp +0 -331
  1123. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -642
  1124. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_stream_file.hpp +0 -744
  1125. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_stream_socket.hpp +0 -1163
  1126. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_streambuf.hpp +0 -450
  1127. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  1128. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_waitable_timer.hpp +0 -824
  1129. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_writable_pipe.hpp +0 -622
  1130. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_allocator.hpp +0 -524
  1131. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_cancellation_slot.hpp +0 -536
  1132. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_executor.hpp +0 -576
  1133. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_immediate_executor.hpp +0 -543
  1134. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffer.hpp +0 -2751
  1135. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffer_registration.hpp +0 -318
  1136. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_read_stream.hpp +0 -273
  1137. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  1138. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_stream.hpp +0 -292
  1139. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  1140. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_write_stream.hpp +0 -265
  1141. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  1142. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  1143. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/cancellation_signal.hpp +0 -245
  1144. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/cancellation_state.hpp +0 -235
  1145. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/cancellation_type.hpp +0 -157
  1146. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/co_spawn.hpp +0 -523
  1147. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/completion_condition.hpp +0 -218
  1148. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/compose.hpp +0 -319
  1149. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/connect.hpp +0 -1180
  1150. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/connect_pipe.hpp +0 -83
  1151. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/consign.hpp +0 -75
  1152. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/coroutine.hpp +0 -328
  1153. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/deadline_timer.hpp +0 -38
  1154. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/defer.hpp +0 -218
  1155. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/deferred.hpp +0 -715
  1156. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detached.hpp +0 -105
  1157. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/array.hpp +0 -30
  1158. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/array_fwd.hpp +0 -32
  1159. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/assert.hpp +0 -32
  1160. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/atomic_count.hpp +0 -59
  1161. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +0 -164
  1162. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  1163. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/bind_handler.hpp +0 -711
  1164. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  1165. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  1166. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -837
  1167. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  1168. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  1169. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/chrono.hpp +0 -45
  1170. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  1171. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  1172. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/composed_work.hpp +0 -252
  1173. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  1174. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  1175. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  1176. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/config.hpp +0 -1422
  1177. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -443
  1178. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/cstddef.hpp +0 -27
  1179. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/cstdint.hpp +0 -40
  1180. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  1181. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -335
  1182. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  1183. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -179
  1184. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -188
  1185. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -187
  1186. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -247
  1187. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -295
  1188. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/event.hpp +0 -46
  1189. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  1190. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/exception.hpp +0 -29
  1191. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/executor_function.hpp +0 -152
  1192. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  1193. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  1194. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/fenced_block.hpp +0 -40
  1195. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/functional.hpp +0 -33
  1196. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/future.hpp +0 -32
  1197. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/global.hpp +0 -50
  1198. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -225
  1199. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  1200. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  1201. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -553
  1202. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_work.hpp +0 -511
  1203. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  1204. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  1205. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -970
  1206. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -111
  1207. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -469
  1208. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -109
  1209. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -826
  1210. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -171
  1211. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -398
  1212. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +0 -205
  1213. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +0 -140
  1214. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_service.hpp +0 -112
  1215. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_service.ipp +0 -914
  1216. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +0 -249
  1217. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -113
  1218. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -608
  1219. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  1220. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  1221. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -63
  1222. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  1223. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +0 -168
  1224. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  1225. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  1226. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -230
  1227. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -310
  1228. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  1229. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -675
  1230. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -124
  1231. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -400
  1232. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -93
  1233. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  1234. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -826
  1235. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3977
  1236. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  1237. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -346
  1238. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -158
  1239. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -86
  1240. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -202
  1241. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/thread_context.ipp +0 -35
  1242. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -49
  1243. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -97
  1244. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  1245. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  1246. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +0 -265
  1247. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -619
  1248. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -119
  1249. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -614
  1250. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -200
  1251. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -821
  1252. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  1253. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -452
  1254. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  1255. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  1256. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  1257. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  1258. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  1259. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  1260. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  1261. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/initiate_defer.hpp +0 -207
  1262. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/initiate_dispatch.hpp +0 -193
  1263. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/initiate_post.hpp +0 -207
  1264. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_control.hpp +0 -84
  1265. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_object_impl.hpp +0 -177
  1266. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +0 -195
  1267. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +0 -190
  1268. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +0 -687
  1269. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +0 -189
  1270. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +0 -185
  1271. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_file_service.hpp +0 -261
  1272. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +0 -114
  1273. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_operation.hpp +0 -84
  1274. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_service.hpp +0 -319
  1275. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +0 -280
  1276. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +0 -140
  1277. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +0 -205
  1278. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +0 -206
  1279. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +0 -192
  1280. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +0 -191
  1281. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +0 -194
  1282. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_service.hpp +0 -629
  1283. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +0 -663
  1284. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_wait_op.hpp +0 -112
  1285. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -296
  1286. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  1287. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  1288. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -271
  1289. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  1290. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/memory.hpp +0 -126
  1291. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/mutex.hpp +0 -46
  1292. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -43
  1293. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  1294. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_event.hpp +0 -106
  1295. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  1296. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_global.hpp +0 -59
  1297. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_mutex.hpp +0 -60
  1298. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_reactor.hpp +0 -83
  1299. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  1300. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  1301. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  1302. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  1303. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  1304. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  1305. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  1306. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  1307. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/operation.hpp +0 -38
  1308. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  1309. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/pop_options.hpp +0 -157
  1310. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  1311. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  1312. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  1313. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  1314. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_serial_port_service.hpp +0 -249
  1315. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  1316. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  1317. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  1318. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  1319. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/push_options.hpp +0 -228
  1320. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -566
  1321. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -131
  1322. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -323
  1323. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -162
  1324. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -197
  1325. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -203
  1326. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -184
  1327. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -201
  1328. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -194
  1329. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -633
  1330. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -750
  1331. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -131
  1332. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactor.hpp +0 -54
  1333. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactor_op.hpp +0 -71
  1334. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -212
  1335. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -105
  1336. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  1337. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  1338. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  1339. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  1340. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolver_service.hpp +0 -147
  1341. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -158
  1342. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler.hpp +0 -241
  1343. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  1344. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler_task.hpp +0 -49
  1345. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  1346. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  1347. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  1348. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  1349. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/select_reactor.hpp +0 -291
  1350. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/service_registry.hpp +0 -163
  1351. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  1352. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  1353. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  1354. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_op.hpp +0 -53
  1355. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_set_service.hpp +0 -292
  1356. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  1357. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_ops.hpp +0 -375
  1358. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  1359. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  1360. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_types.hpp +0 -427
  1361. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/source_location.hpp +0 -45
  1362. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/static_mutex.hpp +0 -50
  1363. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_event.hpp +0 -183
  1364. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -57
  1365. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_global.hpp +0 -65
  1366. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_mutex.hpp +0 -68
  1367. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -76
  1368. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_thread.hpp +0 -66
  1369. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -173
  1370. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/strand_service.hpp +0 -144
  1371. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/string_view.hpp +0 -47
  1372. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread.hpp +0 -58
  1373. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread_context.hpp +0 -51
  1374. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread_group.hpp +0 -99
  1375. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread_info_base.hpp +0 -250
  1376. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/throw_error.hpp +0 -62
  1377. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/throw_exception.hpp +0 -55
  1378. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue.hpp +0 -389
  1379. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  1380. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -103
  1381. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  1382. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -37
  1383. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -42
  1384. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  1385. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/type_traits.hpp +0 -178
  1386. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/utility.hpp +0 -83
  1387. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  1388. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wait_op.hpp +0 -49
  1389. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_event.hpp +0 -164
  1390. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  1391. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_global.hpp +0 -71
  1392. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_file_service.hpp +0 -287
  1393. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -119
  1394. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -431
  1395. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -114
  1396. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -347
  1397. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -129
  1398. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  1399. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -100
  1400. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  1401. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -233
  1402. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -339
  1403. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -138
  1404. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -126
  1405. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -135
  1406. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -127
  1407. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -120
  1408. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -680
  1409. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -829
  1410. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  1411. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -130
  1412. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  1413. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -194
  1414. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  1415. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  1416. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  1417. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  1418. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  1419. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  1420. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  1421. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  1422. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  1423. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  1424. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  1425. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  1426. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  1427. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  1428. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  1429. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  1430. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  1431. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -143
  1432. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -217
  1433. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/dispatch.hpp +0 -197
  1434. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/error.hpp +0 -389
  1435. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/error_code.hpp +0 -39
  1436. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/allocator.hpp +0 -278
  1437. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/any_executor.hpp +0 -1933
  1438. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/bad_executor.hpp +0 -46
  1439. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/blocking.hpp +0 -1360
  1440. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1080
  1441. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/context.hpp +0 -191
  1442. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/context_as.hpp +0 -190
  1443. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/executor.hpp +0 -116
  1444. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  1445. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -43
  1446. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/mapping.hpp +0 -1002
  1447. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/occupancy.hpp +0 -184
  1448. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/outstanding_work.hpp +0 -753
  1449. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/prefer_only.hpp +0 -328
  1450. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/relationship.hpp +0 -751
  1451. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution.hpp +0 -33
  1452. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution_context.hpp +0 -388
  1453. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/executor.hpp +0 -343
  1454. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/executor_work_guard.hpp +0 -362
  1455. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/append.hpp +0 -36
  1456. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/as_single.hpp +0 -132
  1457. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/as_tuple.hpp +0 -36
  1458. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/awaitable_operators.hpp +0 -536
  1459. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/basic_channel.hpp +0 -513
  1460. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +0 -513
  1461. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/cancellation_condition.hpp +0 -152
  1462. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/channel.hpp +0 -70
  1463. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/channel_error.hpp +0 -82
  1464. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/channel_traits.hpp +0 -301
  1465. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/co_composed.hpp +0 -145
  1466. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/concurrent_channel.hpp +0 -70
  1467. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/deferred.hpp +0 -36
  1468. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_handler.hpp +0 -77
  1469. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_message.hpp +0 -129
  1470. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_operation.hpp +0 -361
  1471. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_payload.hpp +0 -222
  1472. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +0 -127
  1473. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +0 -192
  1474. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +0 -148
  1475. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_service.hpp +0 -677
  1476. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +0 -141
  1477. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/has_signature.hpp +0 -54
  1478. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +0 -620
  1479. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/partial_promise.hpp +0 -197
  1480. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/as_single.hpp +0 -176
  1481. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/channel_error.ipp +0 -61
  1482. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/co_composed.hpp +0 -1174
  1483. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/parallel_group.hpp +0 -787
  1484. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/parallel_group.hpp +0 -456
  1485. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/prepend.hpp +0 -36
  1486. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/promise.hpp +0 -224
  1487. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/use_coro.hpp +0 -189
  1488. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/file_base.hpp +0 -166
  1489. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -189
  1490. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  1491. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  1492. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  1493. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  1494. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  1495. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  1496. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  1497. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/high_resolution_timer.hpp +0 -39
  1498. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/any_completion_executor.ipp +0 -126
  1499. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/any_io_executor.ipp +0 -134
  1500. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/append.hpp +0 -162
  1501. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/as_tuple.hpp +0 -245
  1502. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/awaitable.hpp +0 -1195
  1503. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -404
  1504. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -384
  1505. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/cancellation_signal.ipp +0 -96
  1506. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/co_spawn.hpp +0 -440
  1507. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/connect.hpp +0 -809
  1508. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/connect_pipe.hpp +0 -73
  1509. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/connect_pipe.ipp +0 -149
  1510. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/consign.hpp +0 -137
  1511. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/deferred.hpp +0 -147
  1512. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/detached.hpp +0 -77
  1513. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/error.ipp +0 -128
  1514. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/error_code.ipp +0 -206
  1515. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/execution_context.hpp +0 -77
  1516. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  1517. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/executor.hpp +0 -300
  1518. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/executor.ipp +0 -43
  1519. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/io_context.hpp +0 -433
  1520. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/io_context.ipp +0 -176
  1521. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -45
  1522. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/prepend.hpp +0 -163
  1523. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/read.hpp +0 -1053
  1524. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/read_at.hpp +0 -628
  1525. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/read_until.hpp +0 -2941
  1526. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/redirect_error.hpp +0 -250
  1527. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  1528. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  1529. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/spawn.hpp +0 -1400
  1530. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/src.hpp +0 -94
  1531. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/system_context.hpp +0 -34
  1532. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/system_context.ipp +0 -92
  1533. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/system_executor.hpp +0 -179
  1534. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/thread_pool.hpp +0 -277
  1535. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/thread_pool.ipp +0 -142
  1536. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/use_awaitable.hpp +0 -301
  1537. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/use_future.hpp +0 -707
  1538. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/write.hpp +0 -939
  1539. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/write_at.hpp +0 -551
  1540. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_context.hpp +0 -1509
  1541. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_context_strand.hpp +0 -385
  1542. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_service.hpp +0 -33
  1543. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_service_strand.hpp +0 -20
  1544. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address.hpp +0 -281
  1545. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v4.hpp +0 -421
  1546. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -156
  1547. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v4_range.hpp +0 -128
  1548. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v6.hpp +0 -407
  1549. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -178
  1550. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v6_range.hpp +0 -124
  1551. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -63
  1552. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -282
  1553. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1112
  1554. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  1555. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -188
  1556. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  1557. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -307
  1558. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  1559. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -195
  1560. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  1561. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/host_name.hpp +0 -42
  1562. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/icmp.hpp +0 -115
  1563. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  1564. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address.ipp +0 -235
  1565. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  1566. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -206
  1567. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  1568. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -342
  1569. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  1570. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  1571. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  1572. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -218
  1573. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  1574. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -187
  1575. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/multicast.hpp +0 -191
  1576. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/network_v4.hpp +0 -257
  1577. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/network_v6.hpp +0 -231
  1578. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  1579. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  1580. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/tcp.hpp +0 -155
  1581. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/udp.hpp +0 -111
  1582. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/unicast.hpp +0 -70
  1583. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  1584. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  1585. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_contiguous_iterator.hpp +0 -45
  1586. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_executor.hpp +0 -46
  1587. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  1588. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  1589. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/basic_endpoint.hpp +0 -243
  1590. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  1591. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  1592. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  1593. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -131
  1594. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/seq_packet_protocol.hpp +0 -84
  1595. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  1596. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/multiple_exceptions.hpp +0 -52
  1597. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/packaged_task.hpp +0 -66
  1598. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/placeholders.hpp +0 -75
  1599. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -773
  1600. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -559
  1601. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  1602. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  1603. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  1604. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/post.hpp +0 -213
  1605. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/prefer.hpp +0 -577
  1606. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/prepend.hpp +0 -66
  1607. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/query.hpp +0 -311
  1608. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/random_access_file.hpp +0 -35
  1609. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/read.hpp +0 -1448
  1610. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/read_at.hpp +0 -778
  1611. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/read_until.hpp +0 -3124
  1612. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/readable_pipe.hpp +0 -35
  1613. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/recycling_allocator.hpp +0 -138
  1614. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/redirect_error.hpp +0 -64
  1615. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/registered_buffer.hpp +0 -344
  1616. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/require.hpp +0 -433
  1617. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/require_concept.hpp +0 -343
  1618. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/serial_port.hpp +0 -36
  1619. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/serial_port_base.hpp +0 -167
  1620. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/signal_set.hpp +0 -28
  1621. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/signal_set_base.hpp +0 -171
  1622. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/socket_base.hpp +0 -559
  1623. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/spawn.hpp +0 -872
  1624. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/context.hpp +0 -762
  1625. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  1626. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  1627. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/engine.hpp +0 -169
  1628. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  1629. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -377
  1630. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -169
  1631. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/io.hpp +0 -376
  1632. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  1633. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  1634. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  1635. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  1636. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  1637. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -217
  1638. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  1639. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  1640. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/error.hpp +0 -123
  1641. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  1642. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  1643. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/context.ipp +0 -1319
  1644. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/error.ipp +0 -124
  1645. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  1646. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  1647. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  1648. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  1649. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/stream.hpp +0 -1038
  1650. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  1651. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  1652. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  1653. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl.hpp +0 -28
  1654. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  1655. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/steady_timer.hpp +0 -37
  1656. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/strand.hpp +0 -557
  1657. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/stream_file.hpp +0 -35
  1658. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/streambuf.hpp +0 -33
  1659. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_context.hpp +0 -90
  1660. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_error.hpp +0 -31
  1661. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_executor.hpp +0 -671
  1662. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_timer.hpp +0 -37
  1663. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/this_coro.hpp +0 -267
  1664. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/thread.hpp +0 -92
  1665. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/thread_pool.hpp +0 -963
  1666. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/time_traits.hpp +0 -86
  1667. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  1668. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/execute_member.hpp +0 -104
  1669. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/prefer_free.hpp +0 -104
  1670. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/prefer_member.hpp +0 -104
  1671. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/query_free.hpp +0 -104
  1672. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/query_member.hpp +0 -104
  1673. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -101
  1674. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_concept_free.hpp +0 -104
  1675. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_concept_member.hpp +0 -104
  1676. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_free.hpp +0 -104
  1677. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_member.hpp +0 -104
  1678. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/static_query.hpp +0 -102
  1679. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/static_require.hpp +0 -115
  1680. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/static_require_concept.hpp +0 -116
  1681. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/buffer.hpp +0 -24
  1682. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/executor.hpp +0 -35
  1683. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/internet.hpp +0 -40
  1684. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/io_context.hpp +0 -20
  1685. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/net.hpp +0 -26
  1686. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/netfwd.hpp +0 -236
  1687. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/socket.hpp +0 -27
  1688. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/timer.hpp +0 -26
  1689. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/unyield.hpp +0 -21
  1690. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/use_awaitable.hpp +0 -161
  1691. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/use_future.hpp +0 -159
  1692. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/uses_executor.hpp +0 -67
  1693. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/version.hpp +0 -23
  1694. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/wait_traits.hpp +0 -56
  1695. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -485
  1696. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -455
  1697. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -567
  1698. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -551
  1699. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  1700. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  1701. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  1702. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  1703. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  1704. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/writable_pipe.hpp +0 -35
  1705. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/write.hpp +0 -1414
  1706. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/write_at.hpp +0 -789
  1707. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/yield.hpp +0 -23
  1708. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio.hpp +0 -199
  1709. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/CMakeLists.txt +0 -338
  1710. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-assertion-result.h +0 -237
  1711. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-death-test.h +0 -345
  1712. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-matchers.h +0 -923
  1713. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-message.h +0 -220
  1714. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-param-test.h +0 -546
  1715. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-printers.h +0 -1139
  1716. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-spi.h +0 -250
  1717. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-test-part.h +0 -192
  1718. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-typed-test.h +0 -331
  1719. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest.h +0 -2318
  1720. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest_pred_impl.h +0 -279
  1721. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest_prod.h +0 -60
  1722. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/custom/gtest-port.h +0 -37
  1723. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  1724. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/custom/gtest.h +0 -37
  1725. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -307
  1726. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-filepath.h +0 -227
  1727. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-internal.h +0 -1559
  1728. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-param-util.h +0 -1026
  1729. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-port-arch.h +0 -118
  1730. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-port.h +0 -2529
  1731. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-string.h +0 -178
  1732. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-type-util.h +0 -220
  1733. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/prime_tables.h +0 -125
  1734. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample1.cc +0 -66
  1735. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample1.h +0 -41
  1736. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample10_unittest.cc +0 -138
  1737. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample1_unittest.cc +0 -148
  1738. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample2.cc +0 -54
  1739. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample2.h +0 -79
  1740. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample2_unittest.cc +0 -107
  1741. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample3-inl.h +0 -171
  1742. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample3_unittest.cc +0 -146
  1743. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample4.cc +0 -50
  1744. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample4.h +0 -53
  1745. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample4_unittest.cc +0 -53
  1746. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample5_unittest.cc +0 -189
  1747. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample6_unittest.cc +0 -214
  1748. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample7_unittest.cc +0 -113
  1749. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample8_unittest.cc +0 -154
  1750. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample9_unittest.cc +0 -148
  1751. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-all.cc +0 -49
  1752. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-assertion-result.cc +0 -77
  1753. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-death-test.cc +0 -1585
  1754. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-filepath.cc +0 -412
  1755. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-internal-inl.h +0 -1218
  1756. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-matchers.cc +0 -98
  1757. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-port.cc +0 -1392
  1758. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-printers.cc +0 -555
  1759. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-test-part.cc +0 -106
  1760. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-typed-test.cc +0 -108
  1761. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest.cc +0 -6919
  1762. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest_main.cc +0 -65
  1763. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-break-on-failure-unittest_.cc +0 -83
  1764. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-catch-exceptions-test_.cc +0 -289
  1765. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-color-test_.cc +0 -60
  1766. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-death-test-test.cc +0 -1508
  1767. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-death-test_ex_test.cc +0 -91
  1768. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-env-var-test_.cc +0 -130
  1769. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-failfast-unittest_.cc +0 -166
  1770. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-filepath-test.cc +0 -671
  1771. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-filter-unittest_.cc +0 -106
  1772. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-global-environment-unittest_.cc +0 -58
  1773. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-list-tests-unittest_.cc +0 -143
  1774. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-listener-test.cc +0 -509
  1775. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-message-test.cc +0 -161
  1776. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-options-test.cc +0 -222
  1777. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-output-test_.cc +0 -1052
  1778. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-invalid-name1-test_.cc +0 -46
  1779. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-invalid-name2-test_.cc +0 -52
  1780. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-test.cc +0 -1173
  1781. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-test.h +0 -49
  1782. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test2-test.cc +0 -58
  1783. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-port-test.cc +0 -1301
  1784. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-printers-test.cc +0 -1990
  1785. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-setuptestsuite-test_.cc +0 -44
  1786. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-shuffle-test_.cc +0 -99
  1787. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-test-part-test.cc +0 -220
  1788. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-throw-on-failure-test_.cc +0 -71
  1789. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-uninitialized-test_.cc +0 -39
  1790. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-typed-test2_test.cc +0 -39
  1791. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-typed-test_test.cc +0 -423
  1792. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-typed-test_test.h +0 -57
  1793. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-unittest-api_test.cc +0 -328
  1794. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_all_test.cc +0 -46
  1795. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_assert_by_exception_test.cc +0 -112
  1796. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_dirs_test.cc +0 -101
  1797. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_environment_test.cc +0 -179
  1798. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_help_test_.cc +0 -44
  1799. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_list_output_unittest_.cc +0 -77
  1800. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_main_unittest.cc +0 -42
  1801. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_no_test_unittest.cc +0 -54
  1802. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_pred_impl_unittest.cc +0 -2070
  1803. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_premature_exit_test.cc +0 -128
  1804. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_prod_test.cc +0 -56
  1805. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_repeat_test.cc +0 -222
  1806. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_skip_in_environment_setup_test.cc +0 -50
  1807. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_skip_test.cc +0 -51
  1808. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_sole_header_test.cc +0 -54
  1809. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_stress_test.cc +0 -245
  1810. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_test_macro_stack_footprint_test.cc +0 -89
  1811. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_testbridge_test_.cc +0 -42
  1812. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_throw_on_failure_ex_test.cc +0 -90
  1813. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_unittest.cc +0 -7767
  1814. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_xml_outfile1_test_.cc +0 -43
  1815. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_xml_outfile2_test_.cc +0 -77
  1816. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_xml_output_unittest_.cc +0 -197
  1817. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/production.cc +0 -35
  1818. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/production.h +0 -55
  1819. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/CMakeLists.txt +0 -453
  1820. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/ChangeLog.md +0 -5533
  1821. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/README.md +0 -490
  1822. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/src/fmt.cc +0 -108
  1823. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/src/os.cc +0 -402
  1824. data/ext/cache/llhttp/b74a6759ffeff2e9b72f62f790afbc73362a526b/llhttp/CMakeLists.txt +0 -117
  1825. data/ext/cache/llhttp/b74a6759ffeff2e9b72f62f790afbc73362a526b/llhttp/include/llhttp.h +0 -903
  1826. data/ext/cache/llhttp/b74a6759ffeff2e9b72f62f790afbc73362a526b/llhttp/src/llhttp.c +0 -10149
  1827. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/CMakeLists.txt +0 -420
  1828. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/cmake/config.h.in +0 -66
  1829. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy-internal.h +0 -395
  1830. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy-stubs-internal.h +0 -525
  1831. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy.cc +0 -2427
  1832. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy.h +0 -222
  1833. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/CMakeLists.txt +0 -359
  1834. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/async_logger-inl.h +0 -84
  1835. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/common.h +0 -411
  1836. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/circular_q.h +0 -113
  1837. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/file_helper-inl.h +0 -152
  1838. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/os-inl.h +0 -585
  1839. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/periodic_worker.h +0 -57
  1840. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/registry-inl.h +0 -265
  1841. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/registry.h +0 -122
  1842. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/thread_pool-inl.h +0 -127
  1843. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/thread_pool.h +0 -117
  1844. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/args.h +0 -234
  1845. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2069
  1846. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/color.h +0 -651
  1847. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/compile.h +0 -611
  1848. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/core.h +0 -3323
  1849. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1723
  1850. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/format.h +0 -4217
  1851. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/os.h +0 -478
  1852. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -237
  1853. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/printf.h +0 -640
  1854. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -722
  1855. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/std.h +0 -171
  1856. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -229
  1857. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/fmt.h +0 -34
  1858. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1268
  1859. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/sinks/qt_sinks.h +0 -304
  1860. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/stopwatch.h +0 -62
  1861. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/version.h +0 -11
  1862. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/src/bundled_fmtlib_format.cpp +0 -49
  1863. data/ext/couchbase/core/logger/CMakeLists.txt +0 -10
  1864. data/ext/couchbase/core/meta/CMakeLists.txt +0 -27
  1865. data/ext/couchbase/core/metrics/CMakeLists.txt +0 -14
  1866. data/ext/couchbase/core/tracing/CMakeLists.txt +0 -12
  1867. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/detail/limits.hpp +0 -0
  1868. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/co_spawn.hpp +0 -0
  1869. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/coro.hpp +0 -0
  1870. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/coro_traits.hpp +0 -0
  1871. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/detail/coro_completion_handler.hpp +0 -0
  1872. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/impl/coro.hpp +0 -0
  1873. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/impl/promise.hpp +0 -0
  1874. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/impl/use_coro.hpp +0 -0
  1875. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/impl/use_promise.hpp +0 -0
  1876. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → b710bc0ca14b231d20e983b02d27485125c7860e}/asio/asio/include/asio/experimental/use_promise.hpp +0 -0
  1877. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/LICENSE +0 -0
  1878. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/src/format.cc +0 -0
  1879. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/FindSetEnv.cmake +0 -0
  1880. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/JoinPaths.cmake +0 -0
  1881. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/fmt-config.cmake.in +0 -0
  1882. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/fmt.pc.in +0 -0
  1883. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/LICENSE-MIT +0 -0
  1884. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/libllhttp.pc.in +0 -0
  1885. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/src/api.c +0 -0
  1886. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/src/http.c +0 -0
  1887. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/COPYING +0 -0
  1888. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/cmake/SnappyConfig.cmake.in +0 -0
  1889. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-c.cc +0 -0
  1890. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-c.h +0 -0
  1891. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-sinksource.cc +0 -0
  1892. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-sinksource.h +0 -0
  1893. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-stubs-internal.cc +0 -0
  1894. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-stubs-public.h.in +0 -0
  1895. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/LICENSE +0 -0
  1896. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/ide.cmake +0 -0
  1897. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/pch.h.in +0 -0
  1898. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/spdlog.pc.in +0 -0
  1899. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/spdlogCPack.cmake +0 -0
  1900. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
  1901. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/utils.cmake +0 -0
  1902. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/version.rc.in +0 -0
  1903. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/async.h +0 -0
  1904. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/async_logger.h +0 -0
  1905. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/argv.h +0 -0
  1906. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/env.h +0 -0
  1907. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
  1908. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/helpers.h +0 -0
  1909. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/common-inl.h +0 -0
  1910. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
  1911. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/backtracer.h +0 -0
  1912. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/console_globals.h +0 -0
  1913. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/file_helper.h +0 -0
  1914. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
  1915. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
  1916. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg.h +0 -0
  1917. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
  1918. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
  1919. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -0
  1920. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/null_mutex.h +0 -0
  1921. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/os.h +0 -0
  1922. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
  1923. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
  1924. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
  1925. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/tcp_client.h +0 -0
  1926. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
  1927. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/udp_client.h +0 -0
  1928. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/windows_include.h +0 -0
  1929. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
  1930. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
  1931. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
  1932. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
  1933. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
  1934. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
  1935. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
  1936. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/format-inl.h +0 -0
  1937. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/format.h +0 -0
  1938. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
  1939. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
  1940. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
  1941. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
  1942. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/ranges.h +0 -0
  1943. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
  1944. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
  1945. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/chrono.h +0 -0
  1946. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/compile.h +0 -0
  1947. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/ostr.h +0 -0
  1948. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/ranges.h +0 -0
  1949. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/std.h +0 -0
  1950. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/xchar.h +0 -0
  1951. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/formatter.h +0 -0
  1952. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fwd.h +0 -0
  1953. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/logger-inl.h +0 -0
  1954. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/logger.h +0 -0
  1955. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/pattern_formatter.h +0 -0
  1956. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
  1957. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
  1958. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -0
  1959. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
  1960. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/base_sink.h +0 -0
  1961. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
  1962. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
  1963. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/callback_sink.h +0 -0
  1964. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -0
  1965. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
  1966. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
  1967. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/hourly_file_sink.h +0 -0
  1968. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
  1969. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
  1970. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/msvc_sink.h +0 -0
  1971. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
  1972. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
  1973. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
  1974. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -0
  1975. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
  1976. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
  1977. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/sink.h +0 -0
  1978. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
  1979. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
  1980. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
  1981. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
  1982. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/syslog_sink.h +0 -0
  1983. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
  1984. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
  1985. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
  1986. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
  1987. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -0
  1988. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
  1989. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/spdlog-inl.h +0 -0
  1990. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/spdlog.h +0 -0
  1991. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/tweakme.h +0 -0
  1992. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/async.cpp +0 -0
  1993. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/cfg.cpp +0 -0
  1994. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/color_sinks.cpp +0 -0
  1995. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/file_sinks.cpp +0 -0
  1996. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/spdlog.cpp +0 -0
  1997. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/stdout_sinks.cpp +0 -0
  1998. /data/ext/couchbase/cmake/{couchbase-cxx-client.pc.in → couchbase_cxx_client.pc.in} +0 -0
@@ -0,0 +1,3202 @@
1
+ //
2
+ // read_until.hpp
3
+ // ~~~~~~~~~~~~~~
4
+ //
5
+ // Copyright (c) 2003-2024 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_UNTIL_HPP
12
+ #define ASIO_READ_UNTIL_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+ #include <cstddef>
20
+ #include <string>
21
+ #include "asio/async_result.hpp"
22
+ #include "asio/buffer.hpp"
23
+ #include "asio/detail/regex_fwd.hpp"
24
+ #include "asio/detail/string_view.hpp"
25
+ #include "asio/detail/type_traits.hpp"
26
+ #include "asio/error.hpp"
27
+
28
+ #if !defined(ASIO_NO_EXTENSIONS)
29
+ # include "asio/basic_streambuf_fwd.hpp"
30
+ #endif // !defined(ASIO_NO_EXTENSIONS)
31
+
32
+ #include "asio/detail/push_options.hpp"
33
+
34
+ namespace asio {
35
+ namespace detail {
36
+
37
+ char (&has_result_type_helper(...))[2];
38
+
39
+ template <typename T>
40
+ char has_result_type_helper(T*, typename T::result_type* = 0);
41
+
42
+ template <typename T>
43
+ struct has_result_type
44
+ {
45
+ enum { value = (sizeof((has_result_type_helper)((T*)(0))) == 1) };
46
+ };
47
+
48
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
49
+ template <typename> class initiate_async_read_until_delim_v1;
50
+ template <typename> class initiate_async_read_until_delim_string_v1;
51
+ #if defined(ASIO_HAS_BOOST_REGEX)
52
+ template <typename> class initiate_async_read_until_expr_v1;
53
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
54
+ template <typename> class initiate_async_read_until_match_v1;
55
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
56
+ template <typename> class initiate_async_read_until_delim_v2;
57
+ template <typename> class initiate_async_read_until_delim_string_v2;
58
+ #if defined(ASIO_HAS_BOOST_REGEX)
59
+ template <typename> class initiate_async_read_until_expr_v2;
60
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
61
+ template <typename> class initiate_async_read_until_match_v2;
62
+
63
+ } // namespace detail
64
+
65
+ /// Type trait used to determine whether a type can be used as a match condition
66
+ /// function with read_until and async_read_until.
67
+ template <typename T>
68
+ struct is_match_condition
69
+ {
70
+ #if defined(GENERATING_DOCUMENTATION)
71
+ /// The value member is true if the type may be used as a match condition.
72
+ static const bool value;
73
+ #else
74
+ enum
75
+ {
76
+ value = asio::is_function<remove_pointer_t<T>>::value
77
+ || detail::has_result_type<T>::value
78
+ };
79
+ #endif
80
+ };
81
+
82
+ /**
83
+ * @defgroup read_until asio::read_until
84
+ *
85
+ * @brief The @c read_until function is a composed operation that reads data
86
+ * into a dynamic buffer sequence, or into a streambuf, until it contains a
87
+ * delimiter, matches a regular expression, or a function object indicates a
88
+ * match.
89
+ */
90
+ /*@{*/
91
+
92
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
93
+
94
+ /// Read data into a dynamic buffer sequence until it contains a specified
95
+ /// delimiter.
96
+ /**
97
+ * This function is used to read data into the specified dynamic buffer
98
+ * sequence until the dynamic buffer sequence's get area contains the specified
99
+ * delimiter. The call will block until one of the following conditions is
100
+ * true:
101
+ *
102
+ * @li The get area of the dynamic buffer sequence contains the specified
103
+ * delimiter.
104
+ *
105
+ * @li An error occurred.
106
+ *
107
+ * This operation is implemented in terms of zero or more calls to the stream's
108
+ * read_some function. If the dynamic buffer sequence's get area already
109
+ * contains the delimiter, the function returns immediately.
110
+ *
111
+ * @param s The stream from which the data is to be read. The type must support
112
+ * the SyncReadStream concept.
113
+ *
114
+ * @param buffers The dynamic buffer sequence into which the data will be read.
115
+ *
116
+ * @param delim The delimiter character.
117
+ *
118
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
119
+ * and including the delimiter.
120
+ *
121
+ * @throws asio::system_error Thrown on failure.
122
+ *
123
+ * @note After a successful read_until operation, the dynamic buffer sequence
124
+ * may contain additional data beyond the delimiter. An application will
125
+ * typically leave that data in the dynamic buffer sequence for a subsequent
126
+ * read_until operation to examine.
127
+ *
128
+ * @par Example
129
+ * To read data into a @c std::string until a newline is encountered:
130
+ * @code std::string data;
131
+ * std::size_t n = asio::read_until(s,
132
+ * asio::dynamic_buffer(data), '\n');
133
+ * std::string line = data.substr(0, n);
134
+ * data.erase(0, n); @endcode
135
+ * After the @c read_until operation completes successfully, the string @c data
136
+ * contains the delimiter:
137
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
138
+ * The call to @c substr then extracts the data up to and including the
139
+ * delimiter, so that the string @c line contains:
140
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
141
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
142
+ * follows:
143
+ * @code { 'd', 'e', ... } @endcode
144
+ * This data may be the start of a new line, to be extracted by a subsequent
145
+ * @c read_until operation.
146
+ */
147
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
148
+ std::size_t read_until(SyncReadStream& s,
149
+ DynamicBuffer_v1&& buffers, char delim,
150
+ constraint_t<
151
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
152
+ > = 0,
153
+ constraint_t<
154
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
155
+ > = 0);
156
+
157
+ /// Read data into a dynamic buffer sequence until it contains a specified
158
+ /// delimiter.
159
+ /**
160
+ * This function is used to read data into the specified dynamic buffer
161
+ * sequence until the dynamic buffer sequence's get area contains the specified
162
+ * delimiter. The call will block until one of the following conditions is
163
+ * true:
164
+ *
165
+ * @li The get area of the dynamic buffer sequence contains the specified
166
+ * delimiter.
167
+ *
168
+ * @li An error occurred.
169
+ *
170
+ * This operation is implemented in terms of zero or more calls to the stream's
171
+ * read_some function. If the dynamic buffer sequence's get area already
172
+ * contains the delimiter, the function returns immediately.
173
+ *
174
+ * @param s The stream from which the data is to be read. The type must support
175
+ * the SyncReadStream concept.
176
+ *
177
+ * @param buffers The dynamic buffer sequence into which the data will be read.
178
+ *
179
+ * @param delim The delimiter character.
180
+ *
181
+ * @param ec Set to indicate what error occurred, if any.
182
+ *
183
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
184
+ * and including the delimiter. Returns 0 if an error occurred.
185
+ *
186
+ * @note After a successful read_until operation, the dynamic buffer sequence
187
+ * may contain additional data beyond the delimiter. An application will
188
+ * typically leave that data in the dynamic buffer sequence for a subsequent
189
+ * read_until operation to examine.
190
+ */
191
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
192
+ std::size_t read_until(SyncReadStream& s,
193
+ DynamicBuffer_v1&& buffers,
194
+ char delim, asio::error_code& ec,
195
+ constraint_t<
196
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
197
+ > = 0,
198
+ constraint_t<
199
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
200
+ > = 0);
201
+
202
+ /// Read data into a dynamic buffer sequence until it contains a specified
203
+ /// delimiter.
204
+ /**
205
+ * This function is used to read data into the specified dynamic buffer
206
+ * sequence until the dynamic buffer sequence's get area contains the specified
207
+ * delimiter. The call will block until one of the following conditions is
208
+ * true:
209
+ *
210
+ * @li The get area of the dynamic buffer sequence contains the specified
211
+ * delimiter.
212
+ *
213
+ * @li An error occurred.
214
+ *
215
+ * This operation is implemented in terms of zero or more calls to the stream's
216
+ * read_some function. If the dynamic buffer sequence's get area already
217
+ * contains the delimiter, the function returns immediately.
218
+ *
219
+ * @param s The stream from which the data is to be read. The type must support
220
+ * the SyncReadStream concept.
221
+ *
222
+ * @param buffers The dynamic buffer sequence into which the data will be read.
223
+ *
224
+ * @param delim The delimiter string.
225
+ *
226
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
227
+ * and including the delimiter.
228
+ *
229
+ * @note After a successful read_until operation, the dynamic buffer sequence
230
+ * may contain additional data beyond the delimiter. An application will
231
+ * typically leave that data in the dynamic buffer sequence for a subsequent
232
+ * read_until operation to examine.
233
+ *
234
+ * @par Example
235
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
236
+ * @code std::string data;
237
+ * std::size_t n = asio::read_until(s,
238
+ * asio::dynamic_buffer(data), "\r\n");
239
+ * std::string line = data.substr(0, n);
240
+ * data.erase(0, n); @endcode
241
+ * After the @c read_until operation completes successfully, the string @c data
242
+ * contains the delimiter:
243
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
244
+ * The call to @c substr then extracts the data up to and including the
245
+ * delimiter, so that the string @c line contains:
246
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
247
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
248
+ * follows:
249
+ * @code { 'd', 'e', ... } @endcode
250
+ * This data may be the start of a new line, to be extracted by a subsequent
251
+ * @c read_until operation.
252
+ */
253
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
254
+ std::size_t read_until(SyncReadStream& s,
255
+ DynamicBuffer_v1&& buffers,
256
+ ASIO_STRING_VIEW_PARAM delim,
257
+ constraint_t<
258
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
259
+ > = 0,
260
+ constraint_t<
261
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
262
+ > = 0);
263
+
264
+ /// Read data into a dynamic buffer sequence until it contains a specified
265
+ /// delimiter.
266
+ /**
267
+ * This function is used to read data into the specified dynamic buffer
268
+ * sequence until the dynamic buffer sequence's get area contains the specified
269
+ * delimiter. The call will block until one of the following conditions is
270
+ * true:
271
+ *
272
+ * @li The get area of the dynamic buffer sequence contains the specified
273
+ * delimiter.
274
+ *
275
+ * @li An error occurred.
276
+ *
277
+ * This operation is implemented in terms of zero or more calls to the stream's
278
+ * read_some function. If the dynamic buffer sequence's get area already
279
+ * contains the delimiter, the function returns immediately.
280
+ *
281
+ * @param s The stream from which the data is to be read. The type must support
282
+ * the SyncReadStream concept.
283
+ *
284
+ * @param buffers The dynamic buffer sequence into which the data will be read.
285
+ *
286
+ * @param delim The delimiter string.
287
+ *
288
+ * @param ec Set to indicate what error occurred, if any.
289
+ *
290
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
291
+ * and including the delimiter. Returns 0 if an error occurred.
292
+ *
293
+ * @note After a successful read_until operation, the dynamic buffer sequence
294
+ * may contain additional data beyond the delimiter. An application will
295
+ * typically leave that data in the dynamic buffer sequence for a subsequent
296
+ * read_until operation to examine.
297
+ */
298
+ template <typename SyncReadStream, typename DynamicBuffer_v1>
299
+ std::size_t read_until(SyncReadStream& s,
300
+ DynamicBuffer_v1&& buffers,
301
+ ASIO_STRING_VIEW_PARAM delim,
302
+ asio::error_code& ec,
303
+ constraint_t<
304
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
305
+ > = 0,
306
+ constraint_t<
307
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
308
+ > = 0);
309
+
310
+ #if !defined(ASIO_NO_EXTENSIONS)
311
+ #if defined(ASIO_HAS_BOOST_REGEX) \
312
+ || defined(GENERATING_DOCUMENTATION)
313
+
314
+ /// Read data into a dynamic buffer sequence until some part of the data it
315
+ /// contains matches a regular expression.
316
+ /**
317
+ * This function is used to read data into the specified dynamic buffer
318
+ * sequence until the dynamic buffer sequence's get area contains some data
319
+ * that matches a regular expression. The call will block until one of the
320
+ * following conditions is true:
321
+ *
322
+ * @li A substring of the dynamic buffer sequence's get area matches the
323
+ * regular expression.
324
+ *
325
+ * @li An error occurred.
326
+ *
327
+ * This operation is implemented in terms of zero or more calls to the stream's
328
+ * read_some function. If the dynamic buffer sequence's get area already
329
+ * contains data that matches the regular expression, the function returns
330
+ * immediately.
331
+ *
332
+ * @param s The stream from which the data is to be read. The type must support
333
+ * the SyncReadStream concept.
334
+ *
335
+ * @param buffers A dynamic buffer sequence into which the data will be read.
336
+ *
337
+ * @param expr The regular expression.
338
+ *
339
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
340
+ * and including the substring that matches the regular expression.
341
+ *
342
+ * @throws asio::system_error Thrown on failure.
343
+ *
344
+ * @note After a successful read_until operation, the dynamic buffer sequence
345
+ * may contain additional data beyond that which matched the regular
346
+ * expression. An application will typically leave that data in the dynamic
347
+ * buffer sequence for a subsequent read_until operation to examine.
348
+ *
349
+ * @par Example
350
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
351
+ * @code std::string data;
352
+ * std::size_t n = asio::read_until(s,
353
+ * asio::dynamic_buffer(data), boost::regex("\r\n"));
354
+ * std::string line = data.substr(0, n);
355
+ * data.erase(0, n); @endcode
356
+ * After the @c read_until operation completes successfully, the string @c data
357
+ * contains the delimiter:
358
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
359
+ * The call to @c substr then extracts the data up to and including the
360
+ * delimiter, so that the string @c line contains:
361
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
362
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
363
+ * follows:
364
+ * @code { 'd', 'e', ... } @endcode
365
+ * This data may be the start of a new line, to be extracted by a subsequent
366
+ * @c read_until operation.
367
+ */
368
+ template <typename SyncReadStream, typename DynamicBuffer_v1, typename Traits>
369
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v1&& buffers,
370
+ const boost::basic_regex<char, Traits>& expr,
371
+ constraint_t<
372
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
373
+ > = 0,
374
+ constraint_t<
375
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
376
+ > = 0);
377
+
378
+ /// Read data into a dynamic buffer sequence until some part of the data it
379
+ /// contains matches a regular expression.
380
+ /**
381
+ * This function is used to read data into the specified dynamic buffer
382
+ * sequence until the dynamic buffer sequence's get area contains some data
383
+ * that matches a regular expression. The call will block until one of the
384
+ * following conditions is true:
385
+ *
386
+ * @li A substring of the dynamic buffer sequence's get area matches the
387
+ * regular expression.
388
+ *
389
+ * @li An error occurred.
390
+ *
391
+ * This operation is implemented in terms of zero or more calls to the stream's
392
+ * read_some function. If the dynamic buffer sequence's get area already
393
+ * contains data that matches the regular expression, the function returns
394
+ * immediately.
395
+ *
396
+ * @param s The stream from which the data is to be read. The type must support
397
+ * the SyncReadStream concept.
398
+ *
399
+ * @param buffers A dynamic buffer sequence into which the data will be read.
400
+ *
401
+ * @param expr The regular expression.
402
+ *
403
+ * @param ec Set to indicate what error occurred, if any.
404
+ *
405
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
406
+ * and including the substring that matches the regular expression. Returns 0
407
+ * if an error occurred.
408
+ *
409
+ * @note After a successful read_until operation, the dynamic buffer sequence
410
+ * may contain additional data beyond that which matched the regular
411
+ * expression. An application will typically leave that data in the dynamic
412
+ * buffer sequence for a subsequent read_until operation to examine.
413
+ */
414
+ template <typename SyncReadStream, typename DynamicBuffer_v1, typename Traits>
415
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v1&& buffers,
416
+ const boost::basic_regex<char, Traits>& expr, asio::error_code& ec,
417
+ constraint_t<
418
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
419
+ > = 0,
420
+ constraint_t<
421
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
422
+ > = 0);
423
+
424
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
425
+ // || defined(GENERATING_DOCUMENTATION)
426
+
427
+ /// Read data into a dynamic buffer sequence until a function object indicates a
428
+ /// match.
429
+
430
+ /**
431
+ * This function is used to read data into the specified dynamic buffer
432
+ * sequence until a user-defined match condition function object, when applied
433
+ * to the data contained in the dynamic buffer sequence, indicates a successful
434
+ * match. The call will block until one of the following conditions is true:
435
+ *
436
+ * @li The match condition function object returns a std::pair where the second
437
+ * element evaluates to true.
438
+ *
439
+ * @li An error occurred.
440
+ *
441
+ * This operation is implemented in terms of zero or more calls to the stream's
442
+ * read_some function. If the match condition function object already indicates
443
+ * a match, the function returns immediately.
444
+ *
445
+ * @param s The stream from which the data is to be read. The type must support
446
+ * the SyncReadStream concept.
447
+ *
448
+ * @param buffers A dynamic buffer sequence into which the data will be read.
449
+ *
450
+ * @param match_condition The function object to be called to determine whether
451
+ * a match exists. The signature of the function object must be:
452
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
453
+ * @endcode
454
+ * where @c iterator represents the type:
455
+ * @code buffers_iterator<typename DynamicBuffer_v1::const_buffers_type>
456
+ * @endcode
457
+ * The iterator parameters @c begin and @c end define the range of bytes to be
458
+ * scanned to determine whether there is a match. The @c first member of the
459
+ * return value is an iterator marking one-past-the-end of the bytes that have
460
+ * been consumed by the match function. This iterator is used to calculate the
461
+ * @c begin parameter for any subsequent invocation of the match condition. The
462
+ * @c second member of the return value is true if a match has been found, false
463
+ * otherwise.
464
+ *
465
+ * @returns The number of bytes in the dynamic_buffer's get area that
466
+ * have been fully consumed by the match function.
467
+ *
468
+ * @throws asio::system_error Thrown on failure.
469
+ *
470
+ * @note After a successful read_until operation, the dynamic buffer sequence
471
+ * may contain additional data beyond that which matched the function object.
472
+ * An application will typically leave that data in the dynamic buffer sequence
473
+ * for a subsequent read_until operation to examine.
474
+
475
+ * @note The default implementation of the @c is_match_condition type trait
476
+ * evaluates to true for function pointers and function objects with a
477
+ * @c result_type typedef. It must be specialised for other user-defined
478
+ * function objects.
479
+ *
480
+ * @par Examples
481
+ * To read data into a dynamic buffer sequence until whitespace is encountered:
482
+ * @code typedef asio::buffers_iterator<
483
+ * asio::const_buffers_1> iterator;
484
+ *
485
+ * std::pair<iterator, bool>
486
+ * match_whitespace(iterator begin, iterator end)
487
+ * {
488
+ * iterator i = begin;
489
+ * while (i != end)
490
+ * if (std::isspace(*i++))
491
+ * return std::make_pair(i, true);
492
+ * return std::make_pair(i, false);
493
+ * }
494
+ * ...
495
+ * std::string data;
496
+ * asio::read_until(s, data, match_whitespace);
497
+ * @endcode
498
+ *
499
+ * To read data into a @c std::string until a matching character is found:
500
+ * @code class match_char
501
+ * {
502
+ * public:
503
+ * explicit match_char(char c) : c_(c) {}
504
+ *
505
+ * template <typename Iterator>
506
+ * std::pair<Iterator, bool> operator()(
507
+ * Iterator begin, Iterator end) const
508
+ * {
509
+ * Iterator i = begin;
510
+ * while (i != end)
511
+ * if (c_ == *i++)
512
+ * return std::make_pair(i, true);
513
+ * return std::make_pair(i, false);
514
+ * }
515
+ *
516
+ * private:
517
+ * char c_;
518
+ * };
519
+ *
520
+ * namespace asio {
521
+ * template <> struct is_match_condition<match_char>
522
+ * : public boost::true_type {};
523
+ * } // namespace asio
524
+ * ...
525
+ * std::string data;
526
+ * asio::read_until(s, data, match_char('a'));
527
+ * @endcode
528
+ */
529
+ template <typename SyncReadStream,
530
+ typename DynamicBuffer_v1, typename MatchCondition>
531
+ std::size_t read_until(SyncReadStream& s,
532
+ DynamicBuffer_v1&& buffers,
533
+ MatchCondition match_condition,
534
+ constraint_t<
535
+ is_match_condition<MatchCondition>::value
536
+ > = 0,
537
+ constraint_t<
538
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
539
+ > = 0,
540
+ constraint_t<
541
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
542
+ > = 0);
543
+
544
+ /// Read data into a dynamic buffer sequence until a function object indicates a
545
+ /// match.
546
+ /**
547
+ * This function is used to read data into the specified dynamic buffer
548
+ * sequence until a user-defined match condition function object, when applied
549
+ * to the data contained in the dynamic buffer sequence, indicates a successful
550
+ * match. The call will block until one of the following conditions is true:
551
+ *
552
+ * @li The match condition function object returns a std::pair where the second
553
+ * element evaluates to true.
554
+ *
555
+ * @li An error occurred.
556
+ *
557
+ * This operation is implemented in terms of zero or more calls to the stream's
558
+ * read_some function. If the match condition function object already indicates
559
+ * a match, the function returns immediately.
560
+ *
561
+ * @param s The stream from which the data is to be read. The type must support
562
+ * the SyncReadStream concept.
563
+ *
564
+ * @param buffers A dynamic buffer sequence into which the data will be read.
565
+ *
566
+ * @param match_condition The function object to be called to determine whether
567
+ * a match exists. The signature of the function object must be:
568
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
569
+ * @endcode
570
+ * where @c iterator represents the type:
571
+ * @code buffers_iterator<DynamicBuffer_v1::const_buffers_type>
572
+ * @endcode
573
+ * The iterator parameters @c begin and @c end define the range of bytes to be
574
+ * scanned to determine whether there is a match. The @c first member of the
575
+ * return value is an iterator marking one-past-the-end of the bytes that have
576
+ * been consumed by the match function. This iterator is used to calculate the
577
+ * @c begin parameter for any subsequent invocation of the match condition. The
578
+ * @c second member of the return value is true if a match has been found, false
579
+ * otherwise.
580
+ *
581
+ * @param ec Set to indicate what error occurred, if any.
582
+ *
583
+ * @returns The number of bytes in the dynamic buffer sequence's get area that
584
+ * have been fully consumed by the match function. Returns 0 if an error
585
+ * occurred.
586
+ *
587
+ * @note After a successful read_until operation, the dynamic buffer sequence
588
+ * may contain additional data beyond that which matched the function object.
589
+ * An application will typically leave that data in the dynamic buffer sequence
590
+ * for a subsequent read_until operation to examine.
591
+ *
592
+ * @note The default implementation of the @c is_match_condition type trait
593
+ * evaluates to true for function pointers and function objects with a
594
+ * @c result_type typedef. It must be specialised for other user-defined
595
+ * function objects.
596
+ */
597
+ template <typename SyncReadStream,
598
+ typename DynamicBuffer_v1, typename MatchCondition>
599
+ std::size_t read_until(SyncReadStream& s,
600
+ DynamicBuffer_v1&& buffers,
601
+ MatchCondition match_condition, asio::error_code& ec,
602
+ constraint_t<
603
+ is_match_condition<MatchCondition>::value
604
+ > = 0,
605
+ constraint_t<
606
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
607
+ > = 0,
608
+ constraint_t<
609
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
610
+ > = 0);
611
+
612
+ #if !defined(ASIO_NO_IOSTREAM)
613
+
614
+ /// Read data into a streambuf until it contains a specified delimiter.
615
+ /**
616
+ * This function is used to read data into the specified streambuf until the
617
+ * streambuf's get area contains the specified delimiter. The call will block
618
+ * until one of the following conditions is true:
619
+ *
620
+ * @li The get area of the streambuf contains the specified delimiter.
621
+ *
622
+ * @li An error occurred.
623
+ *
624
+ * This operation is implemented in terms of zero or more calls to the stream's
625
+ * read_some function. If the streambuf's get area already contains the
626
+ * delimiter, the function returns immediately.
627
+ *
628
+ * @param s The stream from which the data is to be read. The type must support
629
+ * the SyncReadStream concept.
630
+ *
631
+ * @param b A streambuf object into which the data will be read.
632
+ *
633
+ * @param delim The delimiter character.
634
+ *
635
+ * @returns The number of bytes in the streambuf's get area up to and including
636
+ * the delimiter.
637
+ *
638
+ * @throws asio::system_error Thrown on failure.
639
+ *
640
+ * @note After a successful read_until operation, the streambuf may contain
641
+ * additional data beyond the delimiter. An application will typically leave
642
+ * that data in the streambuf for a subsequent read_until operation to examine.
643
+ *
644
+ * @par Example
645
+ * To read data into a streambuf until a newline is encountered:
646
+ * @code asio::streambuf b;
647
+ * asio::read_until(s, b, '\n');
648
+ * std::istream is(&b);
649
+ * std::string line;
650
+ * std::getline(is, line); @endcode
651
+ * After the @c read_until operation completes successfully, the buffer @c b
652
+ * contains the delimiter:
653
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
654
+ * The call to @c std::getline then extracts the data up to and including the
655
+ * newline (which is discarded), so that the string @c line contains:
656
+ * @code { 'a', 'b', ..., 'c' } @endcode
657
+ * The remaining data is left in the buffer @c b as follows:
658
+ * @code { 'd', 'e', ... } @endcode
659
+ * This data may be the start of a new line, to be extracted by a subsequent
660
+ * @c read_until operation.
661
+ */
662
+ template <typename SyncReadStream, typename Allocator>
663
+ std::size_t read_until(SyncReadStream& s,
664
+ asio::basic_streambuf<Allocator>& b, char delim);
665
+
666
+ /// Read data into a streambuf until it contains a specified delimiter.
667
+ /**
668
+ * This function is used to read data into the specified streambuf until the
669
+ * streambuf's get area contains the specified delimiter. The call will block
670
+ * until one of the following conditions is true:
671
+ *
672
+ * @li The get area of the streambuf contains the specified delimiter.
673
+ *
674
+ * @li An error occurred.
675
+ *
676
+ * This operation is implemented in terms of zero or more calls to the stream's
677
+ * read_some function. If the streambuf's get area already contains the
678
+ * delimiter, the function returns immediately.
679
+ *
680
+ * @param s The stream from which the data is to be read. The type must support
681
+ * the SyncReadStream concept.
682
+ *
683
+ * @param b A streambuf object into which the data will be read.
684
+ *
685
+ * @param delim The delimiter character.
686
+ *
687
+ * @param ec Set to indicate what error occurred, if any.
688
+ *
689
+ * @returns The number of bytes in the streambuf's get area up to and including
690
+ * the delimiter. Returns 0 if an error occurred.
691
+ *
692
+ * @note After a successful read_until operation, the streambuf may contain
693
+ * additional data beyond the delimiter. An application will typically leave
694
+ * that data in the streambuf for a subsequent read_until operation to examine.
695
+ */
696
+ template <typename SyncReadStream, typename Allocator>
697
+ std::size_t read_until(SyncReadStream& s,
698
+ asio::basic_streambuf<Allocator>& b, char delim,
699
+ asio::error_code& ec);
700
+
701
+ /// Read data into a streambuf until it contains a specified delimiter.
702
+ /**
703
+ * This function is used to read data into the specified streambuf until the
704
+ * streambuf's get area contains the specified delimiter. The call will block
705
+ * until one of the following conditions is true:
706
+ *
707
+ * @li The get area of the streambuf contains the specified delimiter.
708
+ *
709
+ * @li An error occurred.
710
+ *
711
+ * This operation is implemented in terms of zero or more calls to the stream's
712
+ * read_some function. If the streambuf's get area already contains the
713
+ * delimiter, the function returns immediately.
714
+ *
715
+ * @param s The stream from which the data is to be read. The type must support
716
+ * the SyncReadStream concept.
717
+ *
718
+ * @param b A streambuf object into which the data will be read.
719
+ *
720
+ * @param delim The delimiter string.
721
+ *
722
+ * @returns The number of bytes in the streambuf's get area up to and including
723
+ * the delimiter.
724
+ *
725
+ * @throws asio::system_error Thrown on failure.
726
+ *
727
+ * @note After a successful read_until operation, the streambuf may contain
728
+ * additional data beyond the delimiter. An application will typically leave
729
+ * that data in the streambuf for a subsequent read_until operation to examine.
730
+ *
731
+ * @par Example
732
+ * To read data into a streambuf until a newline is encountered:
733
+ * @code asio::streambuf b;
734
+ * asio::read_until(s, b, "\r\n");
735
+ * std::istream is(&b);
736
+ * std::string line;
737
+ * std::getline(is, line); @endcode
738
+ * After the @c read_until operation completes successfully, the buffer @c b
739
+ * contains the delimiter:
740
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
741
+ * The call to @c std::getline then extracts the data up to and including the
742
+ * newline (which is discarded), so that the string @c line contains:
743
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
744
+ * The remaining data is left in the buffer @c b as follows:
745
+ * @code { 'd', 'e', ... } @endcode
746
+ * This data may be the start of a new line, to be extracted by a subsequent
747
+ * @c read_until operation.
748
+ */
749
+ template <typename SyncReadStream, typename Allocator>
750
+ std::size_t read_until(SyncReadStream& s,
751
+ asio::basic_streambuf<Allocator>& b,
752
+ ASIO_STRING_VIEW_PARAM delim);
753
+
754
+ /// Read data into a streambuf until it contains a specified delimiter.
755
+ /**
756
+ * This function is used to read data into the specified streambuf until the
757
+ * streambuf's get area contains the specified delimiter. The call will block
758
+ * until one of the following conditions is true:
759
+ *
760
+ * @li The get area of the streambuf contains the specified delimiter.
761
+ *
762
+ * @li An error occurred.
763
+ *
764
+ * This operation is implemented in terms of zero or more calls to the stream's
765
+ * read_some function. If the streambuf's get area already contains the
766
+ * delimiter, the function returns immediately.
767
+ *
768
+ * @param s The stream from which the data is to be read. The type must support
769
+ * the SyncReadStream concept.
770
+ *
771
+ * @param b A streambuf object into which the data will be read.
772
+ *
773
+ * @param delim The delimiter string.
774
+ *
775
+ * @param ec Set to indicate what error occurred, if any.
776
+ *
777
+ * @returns The number of bytes in the streambuf's get area up to and including
778
+ * the delimiter. Returns 0 if an error occurred.
779
+ *
780
+ * @note After a successful read_until operation, the streambuf may contain
781
+ * additional data beyond the delimiter. An application will typically leave
782
+ * that data in the streambuf for a subsequent read_until operation to examine.
783
+ */
784
+ template <typename SyncReadStream, typename Allocator>
785
+ std::size_t read_until(SyncReadStream& s,
786
+ asio::basic_streambuf<Allocator>& b,
787
+ ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec);
788
+
789
+ #if defined(ASIO_HAS_BOOST_REGEX) \
790
+ || defined(GENERATING_DOCUMENTATION)
791
+
792
+ /// Read data into a streambuf until some part of the data it contains matches
793
+ /// a regular expression.
794
+ /**
795
+ * This function is used to read data into the specified streambuf until the
796
+ * streambuf's get area contains some data that matches a regular expression.
797
+ * The call will block until one of the following conditions is true:
798
+ *
799
+ * @li A substring of the streambuf's get area matches the regular expression.
800
+ *
801
+ * @li An error occurred.
802
+ *
803
+ * This operation is implemented in terms of zero or more calls to the stream's
804
+ * read_some function. If the streambuf's get area already contains data that
805
+ * matches the regular expression, the function returns immediately.
806
+ *
807
+ * @param s The stream from which the data is to be read. The type must support
808
+ * the SyncReadStream concept.
809
+ *
810
+ * @param b A streambuf object into which the data will be read.
811
+ *
812
+ * @param expr The regular expression.
813
+ *
814
+ * @returns The number of bytes in the streambuf's get area up to and including
815
+ * the substring that matches the regular expression.
816
+ *
817
+ * @throws asio::system_error Thrown on failure.
818
+ *
819
+ * @note After a successful read_until operation, the streambuf may contain
820
+ * additional data beyond that which matched the regular expression. An
821
+ * application will typically leave that data in the streambuf for a subsequent
822
+ * read_until operation to examine.
823
+ *
824
+ * @par Example
825
+ * To read data into a streambuf until a CR-LF sequence is encountered:
826
+ * @code asio::streambuf b;
827
+ * asio::read_until(s, b, boost::regex("\r\n"));
828
+ * std::istream is(&b);
829
+ * std::string line;
830
+ * std::getline(is, line); @endcode
831
+ * After the @c read_until operation completes successfully, the buffer @c b
832
+ * contains the data which matched the regular expression:
833
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
834
+ * The call to @c std::getline then extracts the data up to and including the
835
+ * newline (which is discarded), so that the string @c line contains:
836
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
837
+ * The remaining data is left in the buffer @c b as follows:
838
+ * @code { 'd', 'e', ... } @endcode
839
+ * This data may be the start of a new line, to be extracted by a subsequent
840
+ * @c read_until operation.
841
+ */
842
+ template <typename SyncReadStream, typename Allocator, typename Traits>
843
+ std::size_t read_until(SyncReadStream& s,
844
+ asio::basic_streambuf<Allocator>& b,
845
+ const boost::basic_regex<char, Traits>& expr);
846
+
847
+ /// Read data into a streambuf until some part of the data it contains matches
848
+ /// a regular expression.
849
+ /**
850
+ * This function is used to read data into the specified streambuf until the
851
+ * streambuf's get area contains some data that matches a regular expression.
852
+ * The call will block until one of the following conditions is true:
853
+ *
854
+ * @li A substring of the streambuf's get area matches the regular expression.
855
+ *
856
+ * @li An error occurred.
857
+ *
858
+ * This operation is implemented in terms of zero or more calls to the stream's
859
+ * read_some function. If the streambuf's get area already contains data that
860
+ * matches the regular expression, the function returns immediately.
861
+ *
862
+ * @param s The stream from which the data is to be read. The type must support
863
+ * the SyncReadStream concept.
864
+ *
865
+ * @param b A streambuf object into which the data will be read.
866
+ *
867
+ * @param expr The regular expression.
868
+ *
869
+ * @param ec Set to indicate what error occurred, if any.
870
+ *
871
+ * @returns The number of bytes in the streambuf's get area up to and including
872
+ * the substring that matches the regular expression. Returns 0 if an error
873
+ * occurred.
874
+ *
875
+ * @note After a successful read_until operation, the streambuf may contain
876
+ * additional data beyond that which matched the regular expression. An
877
+ * application will typically leave that data in the streambuf for a subsequent
878
+ * read_until operation to examine.
879
+ */
880
+ template <typename SyncReadStream, typename Allocator, typename Traits>
881
+ std::size_t read_until(SyncReadStream& s,
882
+ asio::basic_streambuf<Allocator>& b,
883
+ const boost::basic_regex<char, Traits>& expr,
884
+ asio::error_code& ec);
885
+
886
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
887
+ // || defined(GENERATING_DOCUMENTATION)
888
+
889
+ /// Read data into a streambuf until a function object indicates a match.
890
+ /**
891
+ * This function is used to read data into the specified streambuf until a
892
+ * user-defined match condition function object, when applied to the data
893
+ * contained in the streambuf, indicates a successful match. The call will
894
+ * block until one of the following conditions is true:
895
+ *
896
+ * @li The match condition function object returns a std::pair where the second
897
+ * element evaluates to true.
898
+ *
899
+ * @li An error occurred.
900
+ *
901
+ * This operation is implemented in terms of zero or more calls to the stream's
902
+ * read_some function. If the match condition function object already indicates
903
+ * a match, the function returns immediately.
904
+ *
905
+ * @param s The stream from which the data is to be read. The type must support
906
+ * the SyncReadStream concept.
907
+ *
908
+ * @param b A streambuf object into which the data will be read.
909
+ *
910
+ * @param match_condition The function object to be called to determine whether
911
+ * a match exists. The signature of the function object must be:
912
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
913
+ * @endcode
914
+ * where @c iterator represents the type:
915
+ * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
916
+ * @endcode
917
+ * The iterator parameters @c begin and @c end define the range of bytes to be
918
+ * scanned to determine whether there is a match. The @c first member of the
919
+ * return value is an iterator marking one-past-the-end of the bytes that have
920
+ * been consumed by the match function. This iterator is used to calculate the
921
+ * @c begin parameter for any subsequent invocation of the match condition. The
922
+ * @c second member of the return value is true if a match has been found, false
923
+ * otherwise.
924
+ *
925
+ * @returns The number of bytes in the streambuf's get area that have been fully
926
+ * consumed by the match function.
927
+ *
928
+ * @throws asio::system_error Thrown on failure.
929
+ *
930
+ * @note After a successful read_until operation, the streambuf may contain
931
+ * additional data beyond that which matched the function object. An application
932
+ * will typically leave that data in the streambuf for a subsequent read_until
933
+ * operation to examine.
934
+ *
935
+ * @note The default implementation of the @c is_match_condition type trait
936
+ * evaluates to true for function pointers and function objects with a
937
+ * @c result_type typedef. It must be specialised for other user-defined
938
+ * function objects.
939
+ *
940
+ * @par Examples
941
+ * To read data into a streambuf until whitespace is encountered:
942
+ * @code typedef asio::buffers_iterator<
943
+ * asio::streambuf::const_buffers_type> iterator;
944
+ *
945
+ * std::pair<iterator, bool>
946
+ * match_whitespace(iterator begin, iterator end)
947
+ * {
948
+ * iterator i = begin;
949
+ * while (i != end)
950
+ * if (std::isspace(*i++))
951
+ * return std::make_pair(i, true);
952
+ * return std::make_pair(i, false);
953
+ * }
954
+ * ...
955
+ * asio::streambuf b;
956
+ * asio::read_until(s, b, match_whitespace);
957
+ * @endcode
958
+ *
959
+ * To read data into a streambuf until a matching character is found:
960
+ * @code class match_char
961
+ * {
962
+ * public:
963
+ * explicit match_char(char c) : c_(c) {}
964
+ *
965
+ * template <typename Iterator>
966
+ * std::pair<Iterator, bool> operator()(
967
+ * Iterator begin, Iterator end) const
968
+ * {
969
+ * Iterator i = begin;
970
+ * while (i != end)
971
+ * if (c_ == *i++)
972
+ * return std::make_pair(i, true);
973
+ * return std::make_pair(i, false);
974
+ * }
975
+ *
976
+ * private:
977
+ * char c_;
978
+ * };
979
+ *
980
+ * namespace asio {
981
+ * template <> struct is_match_condition<match_char>
982
+ * : public boost::true_type {};
983
+ * } // namespace asio
984
+ * ...
985
+ * asio::streambuf b;
986
+ * asio::read_until(s, b, match_char('a'));
987
+ * @endcode
988
+ */
989
+ template <typename SyncReadStream, typename Allocator, typename MatchCondition>
990
+ std::size_t read_until(SyncReadStream& s,
991
+ asio::basic_streambuf<Allocator>& b, MatchCondition match_condition,
992
+ constraint_t<is_match_condition<MatchCondition>::value> = 0);
993
+
994
+ /// Read data into a streambuf until a function object indicates a match.
995
+ /**
996
+ * This function is used to read data into the specified streambuf until a
997
+ * user-defined match condition function object, when applied to the data
998
+ * contained in the streambuf, indicates a successful match. The call will
999
+ * block until one of the following conditions is true:
1000
+ *
1001
+ * @li The match condition function object returns a std::pair where the second
1002
+ * element evaluates to true.
1003
+ *
1004
+ * @li An error occurred.
1005
+ *
1006
+ * This operation is implemented in terms of zero or more calls to the stream's
1007
+ * read_some function. If the match condition function object already indicates
1008
+ * a match, the function returns immediately.
1009
+ *
1010
+ * @param s The stream from which the data is to be read. The type must support
1011
+ * the SyncReadStream concept.
1012
+ *
1013
+ * @param b A streambuf object into which the data will be read.
1014
+ *
1015
+ * @param match_condition The function object to be called to determine whether
1016
+ * a match exists. The signature of the function object must be:
1017
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1018
+ * @endcode
1019
+ * where @c iterator represents the type:
1020
+ * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
1021
+ * @endcode
1022
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1023
+ * scanned to determine whether there is a match. The @c first member of the
1024
+ * return value is an iterator marking one-past-the-end of the bytes that have
1025
+ * been consumed by the match function. This iterator is used to calculate the
1026
+ * @c begin parameter for any subsequent invocation of the match condition. The
1027
+ * @c second member of the return value is true if a match has been found, false
1028
+ * otherwise.
1029
+ *
1030
+ * @param ec Set to indicate what error occurred, if any.
1031
+ *
1032
+ * @returns The number of bytes in the streambuf's get area that have been fully
1033
+ * consumed by the match function. Returns 0 if an error occurred.
1034
+ *
1035
+ * @note After a successful read_until operation, the streambuf may contain
1036
+ * additional data beyond that which matched the function object. An application
1037
+ * will typically leave that data in the streambuf for a subsequent read_until
1038
+ * operation to examine.
1039
+ *
1040
+ * @note The default implementation of the @c is_match_condition type trait
1041
+ * evaluates to true for function pointers and function objects with a
1042
+ * @c result_type typedef. It must be specialised for other user-defined
1043
+ * function objects.
1044
+ */
1045
+ template <typename SyncReadStream, typename Allocator, typename MatchCondition>
1046
+ std::size_t read_until(SyncReadStream& s,
1047
+ asio::basic_streambuf<Allocator>& b,
1048
+ MatchCondition match_condition, asio::error_code& ec,
1049
+ constraint_t<is_match_condition<MatchCondition>::value> = 0);
1050
+
1051
+ #endif // !defined(ASIO_NO_IOSTREAM)
1052
+ #endif // !defined(ASIO_NO_EXTENSIONS)
1053
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1054
+
1055
+ /// Read data into a dynamic buffer sequence until it contains a specified
1056
+ /// delimiter.
1057
+ /**
1058
+ * This function is used to read data into the specified dynamic buffer
1059
+ * sequence until the dynamic buffer sequence's get area contains the specified
1060
+ * delimiter. The call will block until one of the following conditions is
1061
+ * true:
1062
+ *
1063
+ * @li The get area of the dynamic buffer sequence contains the specified
1064
+ * delimiter.
1065
+ *
1066
+ * @li An error occurred.
1067
+ *
1068
+ * This operation is implemented in terms of zero or more calls to the stream's
1069
+ * read_some function. If the dynamic buffer sequence's get area already
1070
+ * contains the delimiter, the function returns immediately.
1071
+ *
1072
+ * @param s The stream from which the data is to be read. The type must support
1073
+ * the SyncReadStream concept.
1074
+ *
1075
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1076
+ *
1077
+ * @param delim The delimiter character.
1078
+ *
1079
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1080
+ * and including the delimiter.
1081
+ *
1082
+ * @throws asio::system_error Thrown on failure.
1083
+ *
1084
+ * @note After a successful read_until operation, the dynamic buffer sequence
1085
+ * may contain additional data beyond the delimiter. An application will
1086
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1087
+ * read_until operation to examine.
1088
+ *
1089
+ * @par Example
1090
+ * To read data into a @c std::string until a newline is encountered:
1091
+ * @code std::string data;
1092
+ * std::size_t n = asio::read_until(s,
1093
+ * asio::dynamic_buffer(data), '\n');
1094
+ * std::string line = data.substr(0, n);
1095
+ * data.erase(0, n); @endcode
1096
+ * After the @c read_until operation completes successfully, the string @c data
1097
+ * contains the delimiter:
1098
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
1099
+ * The call to @c substr then extracts the data up to and including the
1100
+ * delimiter, so that the string @c line contains:
1101
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
1102
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
1103
+ * follows:
1104
+ * @code { 'd', 'e', ... } @endcode
1105
+ * This data may be the start of a new line, to be extracted by a subsequent
1106
+ * @c read_until operation.
1107
+ */
1108
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1109
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers, char delim,
1110
+ constraint_t<
1111
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1112
+ > = 0);
1113
+
1114
+ /// Read data into a dynamic buffer sequence until it contains a specified
1115
+ /// delimiter.
1116
+ /**
1117
+ * This function is used to read data into the specified dynamic buffer
1118
+ * sequence until the dynamic buffer sequence's get area contains the specified
1119
+ * delimiter. The call will block until one of the following conditions is
1120
+ * true:
1121
+ *
1122
+ * @li The get area of the dynamic buffer sequence contains the specified
1123
+ * delimiter.
1124
+ *
1125
+ * @li An error occurred.
1126
+ *
1127
+ * This operation is implemented in terms of zero or more calls to the stream's
1128
+ * read_some function. If the dynamic buffer sequence's get area already
1129
+ * contains the delimiter, the function returns immediately.
1130
+ *
1131
+ * @param s The stream from which the data is to be read. The type must support
1132
+ * the SyncReadStream concept.
1133
+ *
1134
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1135
+ *
1136
+ * @param delim The delimiter character.
1137
+ *
1138
+ * @param ec Set to indicate what error occurred, if any.
1139
+ *
1140
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1141
+ * and including the delimiter. Returns 0 if an error occurred.
1142
+ *
1143
+ * @note After a successful read_until operation, the dynamic buffer sequence
1144
+ * may contain additional data beyond the delimiter. An application will
1145
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1146
+ * read_until operation to examine.
1147
+ */
1148
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1149
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1150
+ char delim, asio::error_code& ec,
1151
+ constraint_t<
1152
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1153
+ > = 0);
1154
+
1155
+ /// Read data into a dynamic buffer sequence until it contains a specified
1156
+ /// delimiter.
1157
+ /**
1158
+ * This function is used to read data into the specified dynamic buffer
1159
+ * sequence until the dynamic buffer sequence's get area contains the specified
1160
+ * delimiter. The call will block until one of the following conditions is
1161
+ * true:
1162
+ *
1163
+ * @li The get area of the dynamic buffer sequence contains the specified
1164
+ * delimiter.
1165
+ *
1166
+ * @li An error occurred.
1167
+ *
1168
+ * This operation is implemented in terms of zero or more calls to the stream's
1169
+ * read_some function. If the dynamic buffer sequence's get area already
1170
+ * contains the delimiter, the function returns immediately.
1171
+ *
1172
+ * @param s The stream from which the data is to be read. The type must support
1173
+ * the SyncReadStream concept.
1174
+ *
1175
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1176
+ *
1177
+ * @param delim The delimiter string.
1178
+ *
1179
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1180
+ * and including the delimiter.
1181
+ *
1182
+ * @note After a successful read_until operation, the dynamic buffer sequence
1183
+ * may contain additional data beyond the delimiter. An application will
1184
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1185
+ * read_until operation to examine.
1186
+ *
1187
+ * @par Example
1188
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
1189
+ * @code std::string data;
1190
+ * std::size_t n = asio::read_until(s,
1191
+ * asio::dynamic_buffer(data), "\r\n");
1192
+ * std::string line = data.substr(0, n);
1193
+ * data.erase(0, n); @endcode
1194
+ * After the @c read_until operation completes successfully, the string @c data
1195
+ * contains the delimiter:
1196
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1197
+ * The call to @c substr then extracts the data up to and including the
1198
+ * delimiter, so that the string @c line contains:
1199
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1200
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
1201
+ * follows:
1202
+ * @code { 'd', 'e', ... } @endcode
1203
+ * This data may be the start of a new line, to be extracted by a subsequent
1204
+ * @c read_until operation.
1205
+ */
1206
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1207
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1208
+ ASIO_STRING_VIEW_PARAM delim,
1209
+ constraint_t<
1210
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1211
+ > = 0);
1212
+
1213
+ /// Read data into a dynamic buffer sequence until it contains a specified
1214
+ /// delimiter.
1215
+ /**
1216
+ * This function is used to read data into the specified dynamic buffer
1217
+ * sequence until the dynamic buffer sequence's get area contains the specified
1218
+ * delimiter. The call will block until one of the following conditions is
1219
+ * true:
1220
+ *
1221
+ * @li The get area of the dynamic buffer sequence contains the specified
1222
+ * delimiter.
1223
+ *
1224
+ * @li An error occurred.
1225
+ *
1226
+ * This operation is implemented in terms of zero or more calls to the stream's
1227
+ * read_some function. If the dynamic buffer sequence's get area already
1228
+ * contains the delimiter, the function returns immediately.
1229
+ *
1230
+ * @param s The stream from which the data is to be read. The type must support
1231
+ * the SyncReadStream concept.
1232
+ *
1233
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1234
+ *
1235
+ * @param delim The delimiter string.
1236
+ *
1237
+ * @param ec Set to indicate what error occurred, if any.
1238
+ *
1239
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1240
+ * and including the delimiter. Returns 0 if an error occurred.
1241
+ *
1242
+ * @note After a successful read_until operation, the dynamic buffer sequence
1243
+ * may contain additional data beyond the delimiter. An application will
1244
+ * typically leave that data in the dynamic buffer sequence for a subsequent
1245
+ * read_until operation to examine.
1246
+ */
1247
+ template <typename SyncReadStream, typename DynamicBuffer_v2>
1248
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1249
+ ASIO_STRING_VIEW_PARAM delim, asio::error_code& ec,
1250
+ constraint_t<
1251
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1252
+ > = 0);
1253
+
1254
+ #if !defined(ASIO_NO_EXTENSIONS)
1255
+ #if defined(ASIO_HAS_BOOST_REGEX) \
1256
+ || defined(GENERATING_DOCUMENTATION)
1257
+
1258
+ /// Read data into a dynamic buffer sequence until some part of the data it
1259
+ /// contains matches a regular expression.
1260
+ /**
1261
+ * This function is used to read data into the specified dynamic buffer
1262
+ * sequence until the dynamic buffer sequence's get area contains some data
1263
+ * that matches a regular expression. The call will block until one of the
1264
+ * following conditions is true:
1265
+ *
1266
+ * @li A substring of the dynamic buffer sequence's get area matches the
1267
+ * regular expression.
1268
+ *
1269
+ * @li An error occurred.
1270
+ *
1271
+ * This operation is implemented in terms of zero or more calls to the stream's
1272
+ * read_some function. If the dynamic buffer sequence's get area already
1273
+ * contains data that matches the regular expression, the function returns
1274
+ * immediately.
1275
+ *
1276
+ * @param s The stream from which the data is to be read. The type must support
1277
+ * the SyncReadStream concept.
1278
+ *
1279
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1280
+ *
1281
+ * @param expr The regular expression.
1282
+ *
1283
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1284
+ * and including the substring that matches the regular expression.
1285
+ *
1286
+ * @throws asio::system_error Thrown on failure.
1287
+ *
1288
+ * @note After a successful read_until operation, the dynamic buffer sequence
1289
+ * may contain additional data beyond that which matched the regular
1290
+ * expression. An application will typically leave that data in the dynamic
1291
+ * buffer sequence for a subsequent read_until operation to examine.
1292
+ *
1293
+ * @par Example
1294
+ * To read data into a @c std::string until a CR-LF sequence is encountered:
1295
+ * @code std::string data;
1296
+ * std::size_t n = asio::read_until(s,
1297
+ * asio::dynamic_buffer(data), boost::regex("\r\n"));
1298
+ * std::string line = data.substr(0, n);
1299
+ * data.erase(0, n); @endcode
1300
+ * After the @c read_until operation completes successfully, the string @c data
1301
+ * contains the delimiter:
1302
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1303
+ * The call to @c substr then extracts the data up to and including the
1304
+ * delimiter, so that the string @c line contains:
1305
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1306
+ * After the call to @c erase, the remaining data is left in the buffer @c b as
1307
+ * follows:
1308
+ * @code { 'd', 'e', ... } @endcode
1309
+ * This data may be the start of a new line, to be extracted by a subsequent
1310
+ * @c read_until operation.
1311
+ */
1312
+ template <typename SyncReadStream, typename DynamicBuffer_v2, typename Traits>
1313
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1314
+ const boost::basic_regex<char, Traits>& expr,
1315
+ constraint_t<
1316
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1317
+ > = 0);
1318
+
1319
+ /// Read data into a dynamic buffer sequence until some part of the data it
1320
+ /// contains matches a regular expression.
1321
+ /**
1322
+ * This function is used to read data into the specified dynamic buffer
1323
+ * sequence until the dynamic buffer sequence's get area contains some data
1324
+ * that matches a regular expression. The call will block until one of the
1325
+ * following conditions is true:
1326
+ *
1327
+ * @li A substring of the dynamic buffer sequence's get area matches the
1328
+ * regular expression.
1329
+ *
1330
+ * @li An error occurred.
1331
+ *
1332
+ * This operation is implemented in terms of zero or more calls to the stream's
1333
+ * read_some function. If the dynamic buffer sequence's get area already
1334
+ * contains data that matches the regular expression, the function returns
1335
+ * immediately.
1336
+ *
1337
+ * @param s The stream from which the data is to be read. The type must support
1338
+ * the SyncReadStream concept.
1339
+ *
1340
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1341
+ *
1342
+ * @param expr The regular expression.
1343
+ *
1344
+ * @param ec Set to indicate what error occurred, if any.
1345
+ *
1346
+ * @returns The number of bytes in the dynamic buffer sequence's get area up to
1347
+ * and including the substring that matches the regular expression. Returns 0
1348
+ * if an error occurred.
1349
+ *
1350
+ * @note After a successful read_until operation, the dynamic buffer sequence
1351
+ * may contain additional data beyond that which matched the regular
1352
+ * expression. An application will typically leave that data in the dynamic
1353
+ * buffer sequence for a subsequent read_until operation to examine.
1354
+ */
1355
+ template <typename SyncReadStream, typename DynamicBuffer_v2, typename Traits>
1356
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1357
+ const boost::basic_regex<char, Traits>& expr, asio::error_code& ec,
1358
+ constraint_t<
1359
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1360
+ > = 0);
1361
+
1362
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
1363
+ // || defined(GENERATING_DOCUMENTATION)
1364
+
1365
+ /// Read data into a dynamic buffer sequence until a function object indicates a
1366
+ /// match.
1367
+
1368
+ /**
1369
+ * This function is used to read data into the specified dynamic buffer
1370
+ * sequence until a user-defined match condition function object, when applied
1371
+ * to the data contained in the dynamic buffer sequence, indicates a successful
1372
+ * match. The call will block until one of the following conditions is true:
1373
+ *
1374
+ * @li The match condition function object returns a std::pair where the second
1375
+ * element evaluates to true.
1376
+ *
1377
+ * @li An error occurred.
1378
+ *
1379
+ * This operation is implemented in terms of zero or more calls to the stream's
1380
+ * read_some function. If the match condition function object already indicates
1381
+ * a match, the function returns immediately.
1382
+ *
1383
+ * @param s The stream from which the data is to be read. The type must support
1384
+ * the SyncReadStream concept.
1385
+ *
1386
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1387
+ *
1388
+ * @param match_condition The function object to be called to determine whether
1389
+ * a match exists. The signature of the function object must be:
1390
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1391
+ * @endcode
1392
+ * where @c iterator represents the type:
1393
+ * @code buffers_iterator<typename DynamicBuffer_v2::const_buffers_type>
1394
+ * @endcode
1395
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1396
+ * scanned to determine whether there is a match. The @c first member of the
1397
+ * return value is an iterator marking one-past-the-end of the bytes that have
1398
+ * been consumed by the match function. This iterator is used to calculate the
1399
+ * @c begin parameter for any subsequent invocation of the match condition. The
1400
+ * @c second member of the return value is true if a match has been found, false
1401
+ * otherwise.
1402
+ *
1403
+ * @returns The number of bytes in the dynamic_buffer's get area that
1404
+ * have been fully consumed by the match function.
1405
+ *
1406
+ * @throws asio::system_error Thrown on failure.
1407
+ *
1408
+ * @note After a successful read_until operation, the dynamic buffer sequence
1409
+ * may contain additional data beyond that which matched the function object.
1410
+ * An application will typically leave that data in the dynamic buffer sequence
1411
+ * for a subsequent read_until operation to examine.
1412
+
1413
+ * @note The default implementation of the @c is_match_condition type trait
1414
+ * evaluates to true for function pointers and function objects with a
1415
+ * @c result_type typedef. It must be specialised for other user-defined
1416
+ * function objects.
1417
+ *
1418
+ * @par Examples
1419
+ * To read data into a dynamic buffer sequence until whitespace is encountered:
1420
+ * @code typedef asio::buffers_iterator<
1421
+ * asio::const_buffers_1> iterator;
1422
+ *
1423
+ * std::pair<iterator, bool>
1424
+ * match_whitespace(iterator begin, iterator end)
1425
+ * {
1426
+ * iterator i = begin;
1427
+ * while (i != end)
1428
+ * if (std::isspace(*i++))
1429
+ * return std::make_pair(i, true);
1430
+ * return std::make_pair(i, false);
1431
+ * }
1432
+ * ...
1433
+ * std::string data;
1434
+ * asio::read_until(s, data, match_whitespace);
1435
+ * @endcode
1436
+ *
1437
+ * To read data into a @c std::string until a matching character is found:
1438
+ * @code class match_char
1439
+ * {
1440
+ * public:
1441
+ * explicit match_char(char c) : c_(c) {}
1442
+ *
1443
+ * template <typename Iterator>
1444
+ * std::pair<Iterator, bool> operator()(
1445
+ * Iterator begin, Iterator end) const
1446
+ * {
1447
+ * Iterator i = begin;
1448
+ * while (i != end)
1449
+ * if (c_ == *i++)
1450
+ * return std::make_pair(i, true);
1451
+ * return std::make_pair(i, false);
1452
+ * }
1453
+ *
1454
+ * private:
1455
+ * char c_;
1456
+ * };
1457
+ *
1458
+ * namespace asio {
1459
+ * template <> struct is_match_condition<match_char>
1460
+ * : public boost::true_type {};
1461
+ * } // namespace asio
1462
+ * ...
1463
+ * std::string data;
1464
+ * asio::read_until(s, data, match_char('a'));
1465
+ * @endcode
1466
+ */
1467
+ template <typename SyncReadStream,
1468
+ typename DynamicBuffer_v2, typename MatchCondition>
1469
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1470
+ MatchCondition match_condition,
1471
+ constraint_t<
1472
+ is_match_condition<MatchCondition>::value
1473
+ > = 0,
1474
+ constraint_t<
1475
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1476
+ > = 0);
1477
+
1478
+ /// Read data into a dynamic buffer sequence until a function object indicates a
1479
+ /// match.
1480
+ /**
1481
+ * This function is used to read data into the specified dynamic buffer
1482
+ * sequence until a user-defined match condition function object, when applied
1483
+ * to the data contained in the dynamic buffer sequence, indicates a successful
1484
+ * match. The call will block until one of the following conditions is true:
1485
+ *
1486
+ * @li The match condition function object returns a std::pair where the second
1487
+ * element evaluates to true.
1488
+ *
1489
+ * @li An error occurred.
1490
+ *
1491
+ * This operation is implemented in terms of zero or more calls to the stream's
1492
+ * read_some function. If the match condition function object already indicates
1493
+ * a match, the function returns immediately.
1494
+ *
1495
+ * @param s The stream from which the data is to be read. The type must support
1496
+ * the SyncReadStream concept.
1497
+ *
1498
+ * @param buffers A dynamic buffer sequence into which the data will be read.
1499
+ *
1500
+ * @param match_condition The function object to be called to determine whether
1501
+ * a match exists. The signature of the function object must be:
1502
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1503
+ * @endcode
1504
+ * where @c iterator represents the type:
1505
+ * @code buffers_iterator<DynamicBuffer_v2::const_buffers_type>
1506
+ * @endcode
1507
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1508
+ * scanned to determine whether there is a match. The @c first member of the
1509
+ * return value is an iterator marking one-past-the-end of the bytes that have
1510
+ * been consumed by the match function. This iterator is used to calculate the
1511
+ * @c begin parameter for any subsequent invocation of the match condition. The
1512
+ * @c second member of the return value is true if a match has been found, false
1513
+ * otherwise.
1514
+ *
1515
+ * @param ec Set to indicate what error occurred, if any.
1516
+ *
1517
+ * @returns The number of bytes in the dynamic buffer sequence's get area that
1518
+ * have been fully consumed by the match function. Returns 0 if an error
1519
+ * occurred.
1520
+ *
1521
+ * @note After a successful read_until operation, the dynamic buffer sequence
1522
+ * may contain additional data beyond that which matched the function object.
1523
+ * An application will typically leave that data in the dynamic buffer sequence
1524
+ * for a subsequent read_until operation to examine.
1525
+ *
1526
+ * @note The default implementation of the @c is_match_condition type trait
1527
+ * evaluates to true for function pointers and function objects with a
1528
+ * @c result_type typedef. It must be specialised for other user-defined
1529
+ * function objects.
1530
+ */
1531
+ template <typename SyncReadStream,
1532
+ typename DynamicBuffer_v2, typename MatchCondition>
1533
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
1534
+ MatchCondition match_condition, asio::error_code& ec,
1535
+ constraint_t<
1536
+ is_match_condition<MatchCondition>::value
1537
+ > = 0,
1538
+ constraint_t<
1539
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
1540
+ > = 0);
1541
+
1542
+ #endif // !defined(ASIO_NO_EXTENSIONS)
1543
+
1544
+ /*@}*/
1545
+ /**
1546
+ * @defgroup async_read_until asio::async_read_until
1547
+ *
1548
+ * @brief The @c async_read_until function is a composed asynchronous operation
1549
+ * that reads data into a dynamic buffer sequence, or into a streambuf, until
1550
+ * it contains a delimiter, matches a regular expression, or a function object
1551
+ * indicates a match.
1552
+ */
1553
+ /*@{*/
1554
+
1555
+ #if !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
1556
+
1557
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1558
+ /// until it contains a specified delimiter.
1559
+ /**
1560
+ * This function is used to asynchronously read data into the specified dynamic
1561
+ * buffer sequence until the dynamic buffer sequence's get area contains the
1562
+ * specified delimiter. It is an initiating function for an @ref
1563
+ * asynchronous_operation, and always returns immediately. The asynchronous
1564
+ * operation will continue until one of the following conditions is true:
1565
+ *
1566
+ * @li The get area of the dynamic buffer sequence contains the specified
1567
+ * delimiter.
1568
+ *
1569
+ * @li An error occurred.
1570
+ *
1571
+ * This operation is implemented in terms of zero or more calls to the stream's
1572
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1573
+ * the dynamic buffer sequence's get area already contains the delimiter, this
1574
+ * asynchronous operation completes immediately. The program must ensure that
1575
+ * the stream performs no other read operations (such as async_read,
1576
+ * async_read_until, the stream's async_read_some function, or any other
1577
+ * composed operations that perform reads) until this operation completes.
1578
+ *
1579
+ * @param s The stream from which the data is to be read. The type must support
1580
+ * the AsyncReadStream concept.
1581
+ *
1582
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1583
+ * Although the buffers object may be copied as necessary, ownership of the
1584
+ * underlying memory blocks is retained by the caller, which must guarantee
1585
+ * that they remain valid until the completion handler is called.
1586
+ *
1587
+ * @param delim The delimiter character.
1588
+ *
1589
+ * @param token The @ref completion_token that will be used to produce a
1590
+ * completion handler, which will be called when the read completes.
1591
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1592
+ * @ref yield_context, or a function object with the correct completion
1593
+ * signature. The function signature of the completion handler must be:
1594
+ * @code void handler(
1595
+ * // Result of operation.
1596
+ * const asio::error_code& error,
1597
+ *
1598
+ * // The number of bytes in the dynamic buffer sequence's
1599
+ * // get area up to and including the delimiter.
1600
+ * std::size_t bytes_transferred
1601
+ * ); @endcode
1602
+ * Regardless of whether the asynchronous operation completes immediately or
1603
+ * not, the completion handler will not be invoked from within this function.
1604
+ * On immediate completion, invocation of the handler will be performed in a
1605
+ * manner equivalent to using asio::async_immediate().
1606
+ *
1607
+ * @par Completion Signature
1608
+ * @code void(asio::error_code, std::size_t) @endcode
1609
+ *
1610
+ * @note After a successful async_read_until operation, the dynamic buffer
1611
+ * sequence may contain additional data beyond the delimiter. An application
1612
+ * will typically leave that data in the dynamic buffer sequence for a
1613
+ * subsequent async_read_until operation to examine.
1614
+ *
1615
+ * @par Example
1616
+ * To asynchronously read data into a @c std::string until a newline is
1617
+ * encountered:
1618
+ * @code std::string data;
1619
+ * ...
1620
+ * void handler(const asio::error_code& e, std::size_t size)
1621
+ * {
1622
+ * if (!e)
1623
+ * {
1624
+ * std::string line = data.substr(0, n);
1625
+ * data.erase(0, n);
1626
+ * ...
1627
+ * }
1628
+ * }
1629
+ * ...
1630
+ * asio::async_read_until(s, data, '\n', handler); @endcode
1631
+ * After the @c async_read_until operation completes successfully, the buffer
1632
+ * @c data contains the delimiter:
1633
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
1634
+ * The call to @c substr then extracts the data up to and including the
1635
+ * delimiter, so that the string @c line contains:
1636
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
1637
+ * After the call to @c erase, the remaining data is left in the buffer @c data
1638
+ * as follows:
1639
+ * @code { 'd', 'e', ... } @endcode
1640
+ * This data may be the start of a new line, to be extracted by a subsequent
1641
+ * @c async_read_until operation.
1642
+ *
1643
+ * @par Per-Operation Cancellation
1644
+ * This asynchronous operation supports cancellation for the following
1645
+ * asio::cancellation_type values:
1646
+ *
1647
+ * @li @c cancellation_type::terminal
1648
+ *
1649
+ * @li @c cancellation_type::partial
1650
+ *
1651
+ * if they are also supported by the @c AsyncReadStream type's
1652
+ * @c async_read_some operation.
1653
+ */
1654
+ template <typename AsyncReadStream, typename DynamicBuffer_v1,
1655
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1656
+ std::size_t)) ReadToken = default_completion_token_t<
1657
+ typename AsyncReadStream::executor_type>>
1658
+ inline auto async_read_until(AsyncReadStream& s,
1659
+ DynamicBuffer_v1&& buffers, char delim,
1660
+ ReadToken&& token = default_completion_token_t<
1661
+ typename AsyncReadStream::executor_type>(),
1662
+ constraint_t<
1663
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1664
+ > = 0,
1665
+ constraint_t<
1666
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1667
+ > = 0)
1668
+ -> decltype(
1669
+ async_initiate<ReadToken,
1670
+ void (asio::error_code, std::size_t)>(
1671
+ declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream>>(),
1672
+ token, static_cast<DynamicBuffer_v1&&>(buffers), delim))
1673
+ {
1674
+ return async_initiate<ReadToken,
1675
+ void (asio::error_code, std::size_t)>(
1676
+ detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
1677
+ token, static_cast<DynamicBuffer_v1&&>(buffers), delim);
1678
+ }
1679
+
1680
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1681
+ /// until it contains a specified delimiter.
1682
+ /**
1683
+ * This function is used to asynchronously read data into the specified dynamic
1684
+ * buffer sequence until the dynamic buffer sequence's get area contains the
1685
+ * specified delimiter. It is an initiating function for an @ref
1686
+ * asynchronous_operation, and always returns immediately. The asynchronous
1687
+ * operation will continue until one of the following conditions is true:
1688
+ *
1689
+ * @li The get area of the dynamic buffer sequence contains the specified
1690
+ * delimiter.
1691
+ *
1692
+ * @li An error occurred.
1693
+ *
1694
+ * This operation is implemented in terms of zero or more calls to the stream's
1695
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1696
+ * the dynamic buffer sequence's get area already contains the delimiter, this
1697
+ * asynchronous operation completes immediately. The program must ensure that
1698
+ * the stream performs no other read operations (such as async_read,
1699
+ * async_read_until, the stream's async_read_some function, or any other
1700
+ * composed operations that perform reads) until this operation completes.
1701
+ *
1702
+ * @param s The stream from which the data is to be read. The type must support
1703
+ * the AsyncReadStream concept.
1704
+ *
1705
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1706
+ * Although the buffers object may be copied as necessary, ownership of the
1707
+ * underlying memory blocks is retained by the caller, which must guarantee
1708
+ * that they remain valid until the completion handler is called.
1709
+ *
1710
+ * @param delim The delimiter string.
1711
+ *
1712
+ * @param token The @ref completion_token that will be used to produce a
1713
+ * completion handler, which will be called when the read completes.
1714
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1715
+ * @ref yield_context, or a function object with the correct completion
1716
+ * signature. The function signature of the completion handler must be:
1717
+ * @code void handler(
1718
+ * // Result of operation.
1719
+ * const asio::error_code& error,
1720
+ *
1721
+ * // The number of bytes in the dynamic buffer sequence's
1722
+ * // get area up to and including the delimiter.
1723
+ * std::size_t bytes_transferred
1724
+ * ); @endcode
1725
+ * Regardless of whether the asynchronous operation completes immediately or
1726
+ * not, the completion handler will not be invoked from within this function.
1727
+ * On immediate completion, invocation of the handler will be performed in a
1728
+ * manner equivalent to using asio::async_immediate().
1729
+ *
1730
+ * @par Completion Signature
1731
+ * @code void(asio::error_code, std::size_t) @endcode
1732
+ *
1733
+ * @note After a successful async_read_until operation, the dynamic buffer
1734
+ * sequence may contain additional data beyond the delimiter. An application
1735
+ * will typically leave that data in the dynamic buffer sequence for a
1736
+ * subsequent async_read_until operation to examine.
1737
+ *
1738
+ * @par Example
1739
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
1740
+ * encountered:
1741
+ * @code std::string data;
1742
+ * ...
1743
+ * void handler(const asio::error_code& e, std::size_t size)
1744
+ * {
1745
+ * if (!e)
1746
+ * {
1747
+ * std::string line = data.substr(0, n);
1748
+ * data.erase(0, n);
1749
+ * ...
1750
+ * }
1751
+ * }
1752
+ * ...
1753
+ * asio::async_read_until(s, data, "\r\n", handler); @endcode
1754
+ * After the @c async_read_until operation completes successfully, the string
1755
+ * @c data contains the delimiter:
1756
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1757
+ * The call to @c substr then extracts the data up to and including the
1758
+ * delimiter, so that the string @c line contains:
1759
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1760
+ * After the call to @c erase, the remaining data is left in the string @c data
1761
+ * as follows:
1762
+ * @code { 'd', 'e', ... } @endcode
1763
+ * This data may be the start of a new line, to be extracted by a subsequent
1764
+ * @c async_read_until operation.
1765
+ *
1766
+ * @par Per-Operation Cancellation
1767
+ * This asynchronous operation supports cancellation for the following
1768
+ * asio::cancellation_type values:
1769
+ *
1770
+ * @li @c cancellation_type::terminal
1771
+ *
1772
+ * @li @c cancellation_type::partial
1773
+ *
1774
+ * if they are also supported by the @c AsyncReadStream type's
1775
+ * @c async_read_some operation.
1776
+ */
1777
+ template <typename AsyncReadStream, typename DynamicBuffer_v1,
1778
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1779
+ std::size_t)) ReadToken = default_completion_token_t<
1780
+ typename AsyncReadStream::executor_type>>
1781
+ inline auto async_read_until(AsyncReadStream& s,
1782
+ DynamicBuffer_v1&& buffers,
1783
+ ASIO_STRING_VIEW_PARAM delim,
1784
+ ReadToken&& token = default_completion_token_t<
1785
+ typename AsyncReadStream::executor_type>(),
1786
+ constraint_t<
1787
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1788
+ > = 0,
1789
+ constraint_t<
1790
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1791
+ > = 0)
1792
+ -> decltype(
1793
+ async_initiate<ReadToken,
1794
+ void (asio::error_code, std::size_t)>(
1795
+ declval<detail::initiate_async_read_until_delim_string_v1<
1796
+ AsyncReadStream>>(),
1797
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
1798
+ static_cast<std::string>(delim)))
1799
+ {
1800
+ return async_initiate<ReadToken,
1801
+ void (asio::error_code, std::size_t)>(
1802
+ detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
1803
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
1804
+ static_cast<std::string>(delim));
1805
+ }
1806
+
1807
+ #if !defined(ASIO_NO_EXTENSIONS)
1808
+ #if defined(ASIO_HAS_BOOST_REGEX) \
1809
+ || defined(GENERATING_DOCUMENTATION)
1810
+
1811
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1812
+ /// until some part of its data matches a regular expression.
1813
+ /**
1814
+ * This function is used to asynchronously read data into the specified dynamic
1815
+ * buffer sequence until the dynamic buffer sequence's get area contains some
1816
+ * data that matches a regular expression. It is an initiating function for an
1817
+ * @ref asynchronous_operation, and always returns immediately. The
1818
+ * asynchronous operation will continue until one of the following conditions
1819
+ * is true:
1820
+ *
1821
+ * @li A substring of the dynamic buffer sequence's get area matches the regular
1822
+ * expression.
1823
+ *
1824
+ * @li An error occurred.
1825
+ *
1826
+ * This operation is implemented in terms of zero or more calls to the stream's
1827
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1828
+ * the dynamic buffer sequence's get area already contains data that matches
1829
+ * the regular expression, this asynchronous operation completes immediately.
1830
+ * The program must ensure that the stream performs no other read operations
1831
+ * (such as async_read, async_read_until, the stream's async_read_some
1832
+ * function, or any other composed operations that perform reads) until this
1833
+ * operation completes.
1834
+ *
1835
+ * @param s The stream from which the data is to be read. The type must support
1836
+ * the AsyncReadStream concept.
1837
+ *
1838
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1839
+ * Although the buffers object may be copied as necessary, ownership of the
1840
+ * underlying memory blocks is retained by the caller, which must guarantee
1841
+ * that they remain valid until the completion handler is called.
1842
+ *
1843
+ * @param expr The regular expression.
1844
+ *
1845
+ * @param token The @ref completion_token that will be used to produce a
1846
+ * completion handler, which will be called when the read completes.
1847
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1848
+ * @ref yield_context, or a function object with the correct completion
1849
+ * signature. The function signature of the completion handler must be:
1850
+ * @code void handler(
1851
+ * // Result of operation.
1852
+ * const asio::error_code& error,
1853
+ *
1854
+ * // The number of bytes in the dynamic buffer
1855
+ * // sequence's get area up to and including the
1856
+ * // substring that matches the regular expression.
1857
+ * // 0 if an error occurred.
1858
+ * std::size_t bytes_transferred
1859
+ * ); @endcode
1860
+ * Regardless of whether the asynchronous operation completes immediately or
1861
+ * not, the completion handler will not be invoked from within this function.
1862
+ * On immediate completion, invocation of the handler will be performed in a
1863
+ * manner equivalent to using asio::async_immediate().
1864
+ *
1865
+ * @par Completion Signature
1866
+ * @code void(asio::error_code, std::size_t) @endcode
1867
+ *
1868
+ * @note After a successful async_read_until operation, the dynamic buffer
1869
+ * sequence may contain additional data beyond that which matched the regular
1870
+ * expression. An application will typically leave that data in the dynamic
1871
+ * buffer sequence for a subsequent async_read_until operation to examine.
1872
+ *
1873
+ * @par Example
1874
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
1875
+ * encountered:
1876
+ * @code std::string data;
1877
+ * ...
1878
+ * void handler(const asio::error_code& e, std::size_t size)
1879
+ * {
1880
+ * if (!e)
1881
+ * {
1882
+ * std::string line = data.substr(0, n);
1883
+ * data.erase(0, n);
1884
+ * ...
1885
+ * }
1886
+ * }
1887
+ * ...
1888
+ * asio::async_read_until(s, data,
1889
+ * boost::regex("\r\n"), handler); @endcode
1890
+ * After the @c async_read_until operation completes successfully, the string
1891
+ * @c data contains the data which matched the regular expression:
1892
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
1893
+ * The call to @c substr then extracts the data up to and including the match,
1894
+ * so that the string @c line contains:
1895
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
1896
+ * After the call to @c erase, the remaining data is left in the string @c data
1897
+ * as follows:
1898
+ * @code { 'd', 'e', ... } @endcode
1899
+ * This data may be the start of a new line, to be extracted by a subsequent
1900
+ * @c async_read_until operation.
1901
+ *
1902
+ * @par Per-Operation Cancellation
1903
+ * This asynchronous operation supports cancellation for the following
1904
+ * asio::cancellation_type values:
1905
+ *
1906
+ * @li @c cancellation_type::terminal
1907
+ *
1908
+ * @li @c cancellation_type::partial
1909
+ *
1910
+ * if they are also supported by the @c AsyncReadStream type's
1911
+ * @c async_read_some operation.
1912
+ */
1913
+ template <typename AsyncReadStream, typename DynamicBuffer_v1, typename Traits,
1914
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
1915
+ std::size_t)) ReadToken = default_completion_token_t<
1916
+ typename AsyncReadStream::executor_type>>
1917
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
1918
+ const boost::basic_regex<char, Traits>& expr,
1919
+ ReadToken&& token = default_completion_token_t<
1920
+ typename AsyncReadStream::executor_type>(),
1921
+ constraint_t<
1922
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1923
+ > = 0,
1924
+ constraint_t<
1925
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1926
+ > = 0)
1927
+ -> decltype(
1928
+ async_initiate<ReadToken,
1929
+ void (asio::error_code, std::size_t)>(
1930
+ declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream>>(),
1931
+ token, static_cast<DynamicBuffer_v1&&>(buffers), expr))
1932
+ {
1933
+ return async_initiate<ReadToken,
1934
+ void (asio::error_code, std::size_t)>(
1935
+ detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
1936
+ token, static_cast<DynamicBuffer_v1&&>(buffers), expr);
1937
+ }
1938
+
1939
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
1940
+ // || defined(GENERATING_DOCUMENTATION)
1941
+
1942
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
1943
+ /// until a function object indicates a match.
1944
+ /**
1945
+ * This function is used to asynchronously read data into the specified dynamic
1946
+ * buffer sequence until a user-defined match condition function object, when
1947
+ * applied to the data contained in the dynamic buffer sequence, indicates a
1948
+ * successful match. It is an initiating function for an @ref
1949
+ * asynchronous_operation, and always returns immediately. The asynchronous
1950
+ * operation will continue until one of the following conditions is true:
1951
+ *
1952
+ * @li The match condition function object returns a std::pair where the second
1953
+ * element evaluates to true.
1954
+ *
1955
+ * @li An error occurred.
1956
+ *
1957
+ * This operation is implemented in terms of zero or more calls to the stream's
1958
+ * async_read_some function, and is known as a <em>composed operation</em>. If
1959
+ * the match condition function object already indicates a match, this
1960
+ * asynchronous operation completes immediately. The program must ensure that
1961
+ * the stream performs no other read operations (such as async_read,
1962
+ * async_read_until, the stream's async_read_some function, or any other
1963
+ * composed operations that perform reads) until this operation completes.
1964
+ *
1965
+ * @param s The stream from which the data is to be read. The type must support
1966
+ * the AsyncReadStream concept.
1967
+ *
1968
+ * @param buffers The dynamic buffer sequence into which the data will be read.
1969
+ * Although the buffers object may be copied as necessary, ownership of the
1970
+ * underlying memory blocks is retained by the caller, which must guarantee
1971
+ * that they remain valid until the completion handler is called.
1972
+ *
1973
+ * @param match_condition The function object to be called to determine whether
1974
+ * a match exists. The signature of the function object must be:
1975
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
1976
+ * @endcode
1977
+ * where @c iterator represents the type:
1978
+ * @code buffers_iterator<typename DynamicBuffer_v1::const_buffers_type>
1979
+ * @endcode
1980
+ * The iterator parameters @c begin and @c end define the range of bytes to be
1981
+ * scanned to determine whether there is a match. The @c first member of the
1982
+ * return value is an iterator marking one-past-the-end of the bytes that have
1983
+ * been consumed by the match function. This iterator is used to calculate the
1984
+ * @c begin parameter for any subsequent invocation of the match condition. The
1985
+ * @c second member of the return value is true if a match has been found, false
1986
+ * otherwise.
1987
+ *
1988
+ * @param token The @ref completion_token that will be used to produce a
1989
+ * completion handler, which will be called when the read completes.
1990
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
1991
+ * @ref yield_context, or a function object with the correct completion
1992
+ * signature. The function signature of the completion handler must be:
1993
+ * @code void handler(
1994
+ * // Result of operation.
1995
+ * const asio::error_code& error,
1996
+ *
1997
+ * // The number of bytes in the dynamic buffer sequence's
1998
+ * // get area that have been fully consumed by the match
1999
+ * // function. O if an error occurred.
2000
+ * std::size_t bytes_transferred
2001
+ * ); @endcode
2002
+ * Regardless of whether the asynchronous operation completes immediately or
2003
+ * not, the completion handler will not be invoked from within this function.
2004
+ * On immediate completion, invocation of the handler will be performed in a
2005
+ * manner equivalent to using asio::async_immediate().
2006
+ *
2007
+ * @note After a successful async_read_until operation, the dynamic buffer
2008
+ * sequence may contain additional data beyond that which matched the function
2009
+ * object. An application will typically leave that data in the dynamic buffer
2010
+ * sequence for a subsequent async_read_until operation to examine.
2011
+ *
2012
+ * @par Completion Signature
2013
+ * @code void(asio::error_code, std::size_t) @endcode
2014
+ *
2015
+ * @note The default implementation of the @c is_match_condition type trait
2016
+ * evaluates to true for function pointers and function objects with a
2017
+ * @c result_type typedef. It must be specialised for other user-defined
2018
+ * function objects.
2019
+ *
2020
+ * @par Examples
2021
+ * To asynchronously read data into a @c std::string until whitespace is
2022
+ * encountered:
2023
+ * @code typedef asio::buffers_iterator<
2024
+ * asio::const_buffers_1> iterator;
2025
+ *
2026
+ * std::pair<iterator, bool>
2027
+ * match_whitespace(iterator begin, iterator end)
2028
+ * {
2029
+ * iterator i = begin;
2030
+ * while (i != end)
2031
+ * if (std::isspace(*i++))
2032
+ * return std::make_pair(i, true);
2033
+ * return std::make_pair(i, false);
2034
+ * }
2035
+ * ...
2036
+ * void handler(const asio::error_code& e, std::size_t size);
2037
+ * ...
2038
+ * std::string data;
2039
+ * asio::async_read_until(s, data, match_whitespace, handler);
2040
+ * @endcode
2041
+ *
2042
+ * To asynchronously read data into a @c std::string until a matching character
2043
+ * is found:
2044
+ * @code class match_char
2045
+ * {
2046
+ * public:
2047
+ * explicit match_char(char c) : c_(c) {}
2048
+ *
2049
+ * template <typename Iterator>
2050
+ * std::pair<Iterator, bool> operator()(
2051
+ * Iterator begin, Iterator end) const
2052
+ * {
2053
+ * Iterator i = begin;
2054
+ * while (i != end)
2055
+ * if (c_ == *i++)
2056
+ * return std::make_pair(i, true);
2057
+ * return std::make_pair(i, false);
2058
+ * }
2059
+ *
2060
+ * private:
2061
+ * char c_;
2062
+ * };
2063
+ *
2064
+ * namespace asio {
2065
+ * template <> struct is_match_condition<match_char>
2066
+ * : public boost::true_type {};
2067
+ * } // namespace asio
2068
+ * ...
2069
+ * void handler(const asio::error_code& e, std::size_t size);
2070
+ * ...
2071
+ * std::string data;
2072
+ * asio::async_read_until(s, data, match_char('a'), handler);
2073
+ * @endcode
2074
+ *
2075
+ * @par Per-Operation Cancellation
2076
+ * This asynchronous operation supports cancellation for the following
2077
+ * asio::cancellation_type values:
2078
+ *
2079
+ * @li @c cancellation_type::terminal
2080
+ *
2081
+ * @li @c cancellation_type::partial
2082
+ *
2083
+ * if they are also supported by the @c AsyncReadStream type's
2084
+ * @c async_read_some operation.
2085
+ */
2086
+ template <typename AsyncReadStream,
2087
+ typename DynamicBuffer_v1, typename MatchCondition,
2088
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2089
+ std::size_t)) ReadToken = default_completion_token_t<
2090
+ typename AsyncReadStream::executor_type>>
2091
+ inline auto async_read_until(AsyncReadStream& s,
2092
+ DynamicBuffer_v1&& buffers, MatchCondition match_condition,
2093
+ ReadToken&& token = default_completion_token_t<
2094
+ typename AsyncReadStream::executor_type>(),
2095
+ constraint_t<
2096
+ is_match_condition<MatchCondition>::value
2097
+ > = 0,
2098
+ constraint_t<
2099
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
2100
+ > = 0,
2101
+ constraint_t<
2102
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
2103
+ > = 0)
2104
+ -> decltype(
2105
+ async_initiate<ReadToken,
2106
+ void (asio::error_code, std::size_t)>(
2107
+ declval<detail::initiate_async_read_until_match_v1<AsyncReadStream>>(),
2108
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
2109
+ match_condition))
2110
+ {
2111
+ return async_initiate<ReadToken,
2112
+ void (asio::error_code, std::size_t)>(
2113
+ detail::initiate_async_read_until_match_v1<AsyncReadStream>(s),
2114
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
2115
+ match_condition);
2116
+ }
2117
+
2118
+ #if !defined(ASIO_NO_IOSTREAM)
2119
+
2120
+ /// Start an asynchronous operation to read data into a streambuf until it
2121
+ /// contains a specified delimiter.
2122
+ /**
2123
+ * This function is used to asynchronously read data into the specified
2124
+ * streambuf until the streambuf's get area contains the specified delimiter.
2125
+ * It is an initiating function for an @ref asynchronous_operation, and always
2126
+ * returns immediately. The asynchronous operation will continue until one of
2127
+ * the following conditions is true:
2128
+ *
2129
+ * @li The get area of the streambuf contains the specified delimiter.
2130
+ *
2131
+ * @li An error occurred.
2132
+ *
2133
+ * This operation is implemented in terms of zero or more calls to the stream's
2134
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2135
+ * the streambuf's get area already contains the delimiter, this asynchronous
2136
+ * operation completes immediately. The program must ensure that the stream
2137
+ * performs no other read operations (such as async_read, async_read_until, the
2138
+ * stream's async_read_some function, or any other composed operations that
2139
+ * perform reads) until this operation completes.
2140
+ *
2141
+ * @param s The stream from which the data is to be read. The type must support
2142
+ * the AsyncReadStream concept.
2143
+ *
2144
+ * @param b A streambuf object into which the data will be read. Ownership of
2145
+ * the streambuf is retained by the caller, which must guarantee that it remains
2146
+ * valid until the completion handler is called.
2147
+ *
2148
+ * @param delim The delimiter character.
2149
+ *
2150
+ * @param token The @ref completion_token that will be used to produce a
2151
+ * completion handler, which will be called when the read completes.
2152
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2153
+ * @ref yield_context, or a function object with the correct completion
2154
+ * signature. The function signature of the completion handler must be:
2155
+ * @code void handler(
2156
+ * // Result of operation.
2157
+ * const asio::error_code& error,
2158
+ *
2159
+ * // The number of bytes in the streambuf's get
2160
+ * // area up to and including the delimiter.
2161
+ * // 0 if an error occurred.
2162
+ * std::size_t bytes_transferred
2163
+ * ); @endcode
2164
+ * Regardless of whether the asynchronous operation completes immediately or
2165
+ * not, the completion handler will not be invoked from within this function.
2166
+ * On immediate completion, invocation of the handler will be performed in a
2167
+ * manner equivalent to using asio::async_immediate().
2168
+ *
2169
+ * @par Completion Signature
2170
+ * @code void(asio::error_code, std::size_t) @endcode
2171
+ *
2172
+ * @note After a successful async_read_until operation, the streambuf may
2173
+ * contain additional data beyond the delimiter. An application will typically
2174
+ * leave that data in the streambuf for a subsequent async_read_until operation
2175
+ * to examine.
2176
+ *
2177
+ * @par Example
2178
+ * To asynchronously read data into a streambuf until a newline is encountered:
2179
+ * @code asio::streambuf b;
2180
+ * ...
2181
+ * void handler(const asio::error_code& e, std::size_t size)
2182
+ * {
2183
+ * if (!e)
2184
+ * {
2185
+ * std::istream is(&b);
2186
+ * std::string line;
2187
+ * std::getline(is, line);
2188
+ * ...
2189
+ * }
2190
+ * }
2191
+ * ...
2192
+ * asio::async_read_until(s, b, '\n', handler); @endcode
2193
+ * After the @c async_read_until operation completes successfully, the buffer
2194
+ * @c b contains the delimiter:
2195
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
2196
+ * The call to @c std::getline then extracts the data up to and including the
2197
+ * newline (which is discarded), so that the string @c line contains:
2198
+ * @code { 'a', 'b', ..., 'c' } @endcode
2199
+ * The remaining data is left in the buffer @c b as follows:
2200
+ * @code { 'd', 'e', ... } @endcode
2201
+ * This data may be the start of a new line, to be extracted by a subsequent
2202
+ * @c async_read_until operation.
2203
+ *
2204
+ * @par Per-Operation Cancellation
2205
+ * This asynchronous operation supports cancellation for the following
2206
+ * asio::cancellation_type values:
2207
+ *
2208
+ * @li @c cancellation_type::terminal
2209
+ *
2210
+ * @li @c cancellation_type::partial
2211
+ *
2212
+ * if they are also supported by the @c AsyncReadStream type's
2213
+ * @c async_read_some operation.
2214
+ */
2215
+ template <typename AsyncReadStream, typename Allocator,
2216
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2217
+ std::size_t)) ReadToken = default_completion_token_t<
2218
+ typename AsyncReadStream::executor_type>>
2219
+ inline auto async_read_until(AsyncReadStream& s,
2220
+ asio::basic_streambuf<Allocator>& b, char delim,
2221
+ ReadToken&& token = default_completion_token_t<
2222
+ typename AsyncReadStream::executor_type>())
2223
+ -> decltype(
2224
+ async_initiate<ReadToken,
2225
+ void (asio::error_code, std::size_t)>(
2226
+ declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream>>(),
2227
+ token, basic_streambuf_ref<Allocator>(b), delim))
2228
+ {
2229
+ return async_initiate<ReadToken,
2230
+ void (asio::error_code, std::size_t)>(
2231
+ detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
2232
+ token, basic_streambuf_ref<Allocator>(b), delim);
2233
+ }
2234
+
2235
+ /// Start an asynchronous operation to read data into a streambuf until it
2236
+ /// contains a specified delimiter.
2237
+ /**
2238
+ * This function is used to asynchronously read data into the specified
2239
+ * streambuf until the streambuf's get area contains the specified delimiter.
2240
+ * It is an initiating function for an @ref asynchronous_operation, and always
2241
+ * returns immediately. The asynchronous operation will continue until one of
2242
+ * the following conditions is true:
2243
+ *
2244
+ * @li The get area of the streambuf contains the specified delimiter.
2245
+ *
2246
+ * @li An error occurred.
2247
+ *
2248
+ * This operation is implemented in terms of zero or more calls to the stream's
2249
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2250
+ * the streambuf's get area already contains the delimiter, this asynchronous
2251
+ * operation completes immediately. The program must ensure that the stream
2252
+ * performs no other read operations (such as async_read, async_read_until, the
2253
+ * stream's async_read_some function, or any other composed operations that
2254
+ * perform reads) until this operation completes.
2255
+ *
2256
+ * @param s The stream from which the data is to be read. The type must support
2257
+ * the AsyncReadStream concept.
2258
+ *
2259
+ * @param b A streambuf object into which the data will be read. Ownership of
2260
+ * the streambuf is retained by the caller, which must guarantee that it remains
2261
+ * valid until the completion handler is called.
2262
+ *
2263
+ * @param delim The delimiter string.
2264
+ *
2265
+ * @param token The @ref completion_token that will be used to produce a
2266
+ * completion handler, which will be called when the read completes.
2267
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2268
+ * @ref yield_context, or a function object with the correct completion
2269
+ * signature. The function signature of the completion handler must be:
2270
+ * @code void handler(
2271
+ * // Result of operation.
2272
+ * const asio::error_code& error,
2273
+ *
2274
+ * // The number of bytes in the streambuf's get
2275
+ * // area up to and including the delimiter.
2276
+ * // 0 if an error occurred.
2277
+ * std::size_t bytes_transferred
2278
+ * ); @endcode
2279
+ * Regardless of whether the asynchronous operation completes immediately or
2280
+ * not, the completion handler will not be invoked from within this function.
2281
+ * On immediate completion, invocation of the handler will be performed in a
2282
+ * manner equivalent to using asio::async_immediate().
2283
+ *
2284
+ * @par Completion Signature
2285
+ * @code void(asio::error_code, std::size_t) @endcode
2286
+ *
2287
+ * @note After a successful async_read_until operation, the streambuf may
2288
+ * contain additional data beyond the delimiter. An application will typically
2289
+ * leave that data in the streambuf for a subsequent async_read_until operation
2290
+ * to examine.
2291
+ *
2292
+ * @par Example
2293
+ * To asynchronously read data into a streambuf until a newline is encountered:
2294
+ * @code asio::streambuf b;
2295
+ * ...
2296
+ * void handler(const asio::error_code& e, std::size_t size)
2297
+ * {
2298
+ * if (!e)
2299
+ * {
2300
+ * std::istream is(&b);
2301
+ * std::string line;
2302
+ * std::getline(is, line);
2303
+ * ...
2304
+ * }
2305
+ * }
2306
+ * ...
2307
+ * asio::async_read_until(s, b, "\r\n", handler); @endcode
2308
+ * After the @c async_read_until operation completes successfully, the buffer
2309
+ * @c b contains the delimiter:
2310
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2311
+ * The call to @c std::getline then extracts the data up to and including the
2312
+ * newline (which is discarded), so that the string @c line contains:
2313
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
2314
+ * The remaining data is left in the buffer @c b as follows:
2315
+ * @code { 'd', 'e', ... } @endcode
2316
+ * This data may be the start of a new line, to be extracted by a subsequent
2317
+ * @c async_read_until operation.
2318
+ *
2319
+ * @par Per-Operation Cancellation
2320
+ * This asynchronous operation supports cancellation for the following
2321
+ * asio::cancellation_type values:
2322
+ *
2323
+ * @li @c cancellation_type::terminal
2324
+ *
2325
+ * @li @c cancellation_type::partial
2326
+ *
2327
+ * if they are also supported by the @c AsyncReadStream type's
2328
+ * @c async_read_some operation.
2329
+ */
2330
+ template <typename AsyncReadStream, typename Allocator,
2331
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2332
+ std::size_t)) ReadToken = default_completion_token_t<
2333
+ typename AsyncReadStream::executor_type>>
2334
+ inline auto async_read_until(AsyncReadStream& s,
2335
+ asio::basic_streambuf<Allocator>& b,
2336
+ ASIO_STRING_VIEW_PARAM delim,
2337
+ ReadToken&& token = default_completion_token_t<
2338
+ typename AsyncReadStream::executor_type>())
2339
+ -> decltype(
2340
+ async_initiate<ReadToken,
2341
+ void (asio::error_code, std::size_t)>(
2342
+ declval<detail::initiate_async_read_until_delim_string_v1<
2343
+ AsyncReadStream>>(),
2344
+ token, basic_streambuf_ref<Allocator>(b),
2345
+ static_cast<std::string>(delim)))
2346
+ {
2347
+ return async_initiate<ReadToken,
2348
+ void (asio::error_code, std::size_t)>(
2349
+ detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
2350
+ token, basic_streambuf_ref<Allocator>(b),
2351
+ static_cast<std::string>(delim));
2352
+ }
2353
+
2354
+ #if defined(ASIO_HAS_BOOST_REGEX) \
2355
+ || defined(GENERATING_DOCUMENTATION)
2356
+
2357
+ /// Start an asynchronous operation to read data into a streambuf until some
2358
+ /// part of its data matches a regular expression.
2359
+ /**
2360
+ * This function is used to asynchronously read data into the specified
2361
+ * streambuf until the streambuf's get area contains some data that matches a
2362
+ * regular expression. It is an initiating function for an @ref
2363
+ * asynchronous_operation, and always returns immediately. The asynchronous
2364
+ * operation will continue until one of the following conditions is true:
2365
+ *
2366
+ * @li A substring of the streambuf's get area matches the regular expression.
2367
+ *
2368
+ * @li An error occurred.
2369
+ *
2370
+ * This operation is implemented in terms of zero or more calls to the stream's
2371
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2372
+ * the streambuf's get area already contains data that matches the regular
2373
+ * expression, this asynchronous operation completes immediately. The program
2374
+ * must ensure that the stream performs no other read operations (such as
2375
+ * async_read, async_read_until, the stream's async_read_some function, or any
2376
+ * other composed operations that perform reads) until this operation
2377
+ * completes.
2378
+ *
2379
+ * @param s The stream from which the data is to be read. The type must support
2380
+ * the AsyncReadStream concept.
2381
+ *
2382
+ * @param b A streambuf object into which the data will be read. Ownership of
2383
+ * the streambuf is retained by the caller, which must guarantee that it remains
2384
+ * valid until the completion handler is called.
2385
+ *
2386
+ * @param expr The regular expression.
2387
+ *
2388
+ * @param token The @ref completion_token that will be used to produce a
2389
+ * completion handler, which will be called when the read completes.
2390
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2391
+ * @ref yield_context, or a function object with the correct completion
2392
+ * signature. The function signature of the completion handler must be:
2393
+ * @code void handler(
2394
+ * // Result of operation.
2395
+ * const asio::error_code& error,
2396
+ *
2397
+ * // The number of bytes in the streambuf's get
2398
+ * // area up to and including the substring
2399
+ * // that matches the regular. expression.
2400
+ * // 0 if an error occurred.
2401
+ * std::size_t bytes_transferred
2402
+ * ); @endcode
2403
+ * Regardless of whether the asynchronous operation completes immediately or
2404
+ * not, the completion handler will not be invoked from within this function.
2405
+ * On immediate completion, invocation of the handler will be performed in a
2406
+ * manner equivalent to using asio::async_immediate().
2407
+ *
2408
+ * @par Completion Signature
2409
+ * @code void(asio::error_code, std::size_t) @endcode
2410
+ *
2411
+ * @note After a successful async_read_until operation, the streambuf may
2412
+ * contain additional data beyond that which matched the regular expression. An
2413
+ * application will typically leave that data in the streambuf for a subsequent
2414
+ * async_read_until operation to examine.
2415
+ *
2416
+ * @par Example
2417
+ * To asynchronously read data into a streambuf until a CR-LF sequence is
2418
+ * encountered:
2419
+ * @code asio::streambuf b;
2420
+ * ...
2421
+ * void handler(const asio::error_code& e, std::size_t size)
2422
+ * {
2423
+ * if (!e)
2424
+ * {
2425
+ * std::istream is(&b);
2426
+ * std::string line;
2427
+ * std::getline(is, line);
2428
+ * ...
2429
+ * }
2430
+ * }
2431
+ * ...
2432
+ * asio::async_read_until(s, b, boost::regex("\r\n"), handler); @endcode
2433
+ * After the @c async_read_until operation completes successfully, the buffer
2434
+ * @c b contains the data which matched the regular expression:
2435
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2436
+ * The call to @c std::getline then extracts the data up to and including the
2437
+ * newline (which is discarded), so that the string @c line contains:
2438
+ * @code { 'a', 'b', ..., 'c', '\r' } @endcode
2439
+ * The remaining data is left in the buffer @c b as follows:
2440
+ * @code { 'd', 'e', ... } @endcode
2441
+ * This data may be the start of a new line, to be extracted by a subsequent
2442
+ * @c async_read_until operation.
2443
+ *
2444
+ * @par Per-Operation Cancellation
2445
+ * This asynchronous operation supports cancellation for the following
2446
+ * asio::cancellation_type values:
2447
+ *
2448
+ * @li @c cancellation_type::terminal
2449
+ *
2450
+ * @li @c cancellation_type::partial
2451
+ *
2452
+ * if they are also supported by the @c AsyncReadStream type's
2453
+ * @c async_read_some operation.
2454
+ */
2455
+ template <typename AsyncReadStream, typename Allocator, typename Traits,
2456
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2457
+ std::size_t)) ReadToken = default_completion_token_t<
2458
+ typename AsyncReadStream::executor_type>>
2459
+ inline auto async_read_until(AsyncReadStream& s,
2460
+ asio::basic_streambuf<Allocator>& b,
2461
+ const boost::basic_regex<char, Traits>& expr,
2462
+ ReadToken&& token = default_completion_token_t<
2463
+ typename AsyncReadStream::executor_type>())
2464
+ -> decltype(
2465
+ async_initiate<ReadToken,
2466
+ void (asio::error_code, std::size_t)>(
2467
+ declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream>>(),
2468
+ token, basic_streambuf_ref<Allocator>(b), expr))
2469
+ {
2470
+ return async_initiate<ReadToken,
2471
+ void (asio::error_code, std::size_t)>(
2472
+ detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
2473
+ token, basic_streambuf_ref<Allocator>(b), expr);
2474
+ }
2475
+
2476
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
2477
+ // || defined(GENERATING_DOCUMENTATION)
2478
+
2479
+ /// Start an asynchronous operation to read data into a streambuf until a
2480
+ /// function object indicates a match.
2481
+ /**
2482
+ * This function is used to asynchronously read data into the specified
2483
+ * streambuf until a user-defined match condition function object, when applied
2484
+ * to the data contained in the streambuf, indicates a successful match. It is
2485
+ * an initiating function for an @ref asynchronous_operation, and always
2486
+ * returns immediately. The asynchronous operation will continue until one of
2487
+ * the following conditions is true:
2488
+ *
2489
+ * @li The match condition function object returns a std::pair where the second
2490
+ * element evaluates to true.
2491
+ *
2492
+ * @li An error occurred.
2493
+ *
2494
+ * This operation is implemented in terms of zero or more calls to the stream's
2495
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2496
+ * the match condition function object already indicates a match, this
2497
+ * asynchronous operation completes immediately. The program must ensure that
2498
+ * the stream performs no other read operations (such as async_read,
2499
+ * async_read_until, the stream's async_read_some function, or any other
2500
+ * composed operations that perform reads) until this operation completes.
2501
+ *
2502
+ * @param s The stream from which the data is to be read. The type must support
2503
+ * the AsyncReadStream concept.
2504
+ *
2505
+ * @param b A streambuf object into which the data will be read.
2506
+ *
2507
+ * @param match_condition The function object to be called to determine whether
2508
+ * a match exists. The signature of the function object must be:
2509
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
2510
+ * @endcode
2511
+ * where @c iterator represents the type:
2512
+ * @code buffers_iterator<basic_streambuf<Allocator>::const_buffers_type>
2513
+ * @endcode
2514
+ * The iterator parameters @c begin and @c end define the range of bytes to be
2515
+ * scanned to determine whether there is a match. The @c first member of the
2516
+ * return value is an iterator marking one-past-the-end of the bytes that have
2517
+ * been consumed by the match function. This iterator is used to calculate the
2518
+ * @c begin parameter for any subsequent invocation of the match condition. The
2519
+ * @c second member of the return value is true if a match has been found, false
2520
+ * otherwise.
2521
+ *
2522
+ * @param token The @ref completion_token that will be used to produce a
2523
+ * completion handler, which will be called when the read completes.
2524
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2525
+ * @ref yield_context, or a function object with the correct completion
2526
+ * signature. The function signature of the completion handler must be:
2527
+ * @code void handler(
2528
+ * // Result of operation.
2529
+ * const asio::error_code& error,
2530
+ *
2531
+ * // The number of bytes in the streambuf's get
2532
+ * // area that have been fully consumed by the
2533
+ * // match function. O if an error occurred.
2534
+ * std::size_t bytes_transferred
2535
+ * ); @endcode
2536
+ * Regardless of whether the asynchronous operation completes immediately or
2537
+ * not, the completion handler will not be invoked from within this function.
2538
+ * On immediate completion, invocation of the handler will be performed in a
2539
+ * manner equivalent to using asio::async_immediate().
2540
+ *
2541
+ * @note After a successful async_read_until operation, the streambuf may
2542
+ * contain additional data beyond that which matched the function object. An
2543
+ * application will typically leave that data in the streambuf for a subsequent
2544
+ * async_read_until operation to examine.
2545
+ *
2546
+ * @par Completion Signature
2547
+ * @code void(asio::error_code, std::size_t) @endcode
2548
+ *
2549
+ * @note The default implementation of the @c is_match_condition type trait
2550
+ * evaluates to true for function pointers and function objects with a
2551
+ * @c result_type typedef. It must be specialised for other user-defined
2552
+ * function objects.
2553
+ *
2554
+ * @par Examples
2555
+ * To asynchronously read data into a streambuf until whitespace is encountered:
2556
+ * @code typedef asio::buffers_iterator<
2557
+ * asio::streambuf::const_buffers_type> iterator;
2558
+ *
2559
+ * std::pair<iterator, bool>
2560
+ * match_whitespace(iterator begin, iterator end)
2561
+ * {
2562
+ * iterator i = begin;
2563
+ * while (i != end)
2564
+ * if (std::isspace(*i++))
2565
+ * return std::make_pair(i, true);
2566
+ * return std::make_pair(i, false);
2567
+ * }
2568
+ * ...
2569
+ * void handler(const asio::error_code& e, std::size_t size);
2570
+ * ...
2571
+ * asio::streambuf b;
2572
+ * asio::async_read_until(s, b, match_whitespace, handler);
2573
+ * @endcode
2574
+ *
2575
+ * To asynchronously read data into a streambuf until a matching character is
2576
+ * found:
2577
+ * @code class match_char
2578
+ * {
2579
+ * public:
2580
+ * explicit match_char(char c) : c_(c) {}
2581
+ *
2582
+ * template <typename Iterator>
2583
+ * std::pair<Iterator, bool> operator()(
2584
+ * Iterator begin, Iterator end) const
2585
+ * {
2586
+ * Iterator i = begin;
2587
+ * while (i != end)
2588
+ * if (c_ == *i++)
2589
+ * return std::make_pair(i, true);
2590
+ * return std::make_pair(i, false);
2591
+ * }
2592
+ *
2593
+ * private:
2594
+ * char c_;
2595
+ * };
2596
+ *
2597
+ * namespace asio {
2598
+ * template <> struct is_match_condition<match_char>
2599
+ * : public boost::true_type {};
2600
+ * } // namespace asio
2601
+ * ...
2602
+ * void handler(const asio::error_code& e, std::size_t size);
2603
+ * ...
2604
+ * asio::streambuf b;
2605
+ * asio::async_read_until(s, b, match_char('a'), handler);
2606
+ * @endcode
2607
+ *
2608
+ * @par Per-Operation Cancellation
2609
+ * This asynchronous operation supports cancellation for the following
2610
+ * asio::cancellation_type values:
2611
+ *
2612
+ * @li @c cancellation_type::terminal
2613
+ *
2614
+ * @li @c cancellation_type::partial
2615
+ *
2616
+ * if they are also supported by the @c AsyncReadStream type's
2617
+ * @c async_read_some operation.
2618
+ */
2619
+ template <typename AsyncReadStream, typename Allocator, typename MatchCondition,
2620
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2621
+ std::size_t)) ReadToken = default_completion_token_t<
2622
+ typename AsyncReadStream::executor_type>>
2623
+ inline auto async_read_until(AsyncReadStream& s,
2624
+ asio::basic_streambuf<Allocator>& b, MatchCondition match_condition,
2625
+ ReadToken&& token = default_completion_token_t<
2626
+ typename AsyncReadStream::executor_type>(),
2627
+ constraint_t<is_match_condition<MatchCondition>::value> = 0)
2628
+ -> decltype(
2629
+ async_initiate<ReadToken,
2630
+ void (asio::error_code, std::size_t)>(
2631
+ declval<detail::initiate_async_read_until_match_v1<AsyncReadStream>>(),
2632
+ token, basic_streambuf_ref<Allocator>(b), match_condition))
2633
+ {
2634
+ return async_initiate<ReadToken,
2635
+ void (asio::error_code, std::size_t)>(
2636
+ detail::initiate_async_read_until_match_v1<AsyncReadStream>(s),
2637
+ token, basic_streambuf_ref<Allocator>(b), match_condition);
2638
+ }
2639
+
2640
+ #endif // !defined(ASIO_NO_IOSTREAM)
2641
+ #endif // !defined(ASIO_NO_EXTENSIONS)
2642
+ #endif // !defined(ASIO_NO_DYNAMIC_BUFFER_V1)
2643
+
2644
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2645
+ /// until it contains a specified delimiter.
2646
+ /**
2647
+ * This function is used to asynchronously read data into the specified dynamic
2648
+ * buffer sequence until the dynamic buffer sequence's get area contains the
2649
+ * specified delimiter. It is an initiating function for an @ref
2650
+ * asynchronous_operation, and always returns immediately. The asynchronous
2651
+ * operation will continue until one of the following conditions is true:
2652
+ *
2653
+ * @li The get area of the dynamic buffer sequence contains the specified
2654
+ * delimiter.
2655
+ *
2656
+ * @li An error occurred.
2657
+ *
2658
+ * This operation is implemented in terms of zero or more calls to the stream's
2659
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2660
+ * the dynamic buffer sequence's get area already contains the delimiter, this
2661
+ * asynchronous operation completes immediately. The program must ensure that
2662
+ * the stream performs no other read operations (such as async_read,
2663
+ * async_read_until, the stream's async_read_some function, or any other
2664
+ * composed operations that perform reads) until this operation completes.
2665
+ *
2666
+ * @param s The stream from which the data is to be read. The type must support
2667
+ * the AsyncReadStream concept.
2668
+ *
2669
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2670
+ * Although the buffers object may be copied as necessary, ownership of the
2671
+ * underlying memory blocks is retained by the caller, which must guarantee
2672
+ * that they remain valid until the completion handler is called.
2673
+ *
2674
+ * @param delim The delimiter character.
2675
+ *
2676
+ * @param token The @ref completion_token that will be used to produce a
2677
+ * completion handler, which will be called when the read completes.
2678
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2679
+ * @ref yield_context, or a function object with the correct completion
2680
+ * signature. The function signature of the completion handler must be:
2681
+ * @code void handler(
2682
+ * // Result of operation.
2683
+ * const asio::error_code& error,
2684
+ *
2685
+ * // The number of bytes in the dynamic buffer sequence's
2686
+ * // get area up to and including the delimiter.
2687
+ * // 0 if an error occurred.
2688
+ * std::size_t bytes_transferred
2689
+ * ); @endcode
2690
+ * Regardless of whether the asynchronous operation completes immediately or
2691
+ * not, the completion handler will not be invoked from within this function.
2692
+ * On immediate completion, invocation of the handler will be performed in a
2693
+ * manner equivalent to using asio::async_immediate().
2694
+ *
2695
+ * @par Completion Signature
2696
+ * @code void(asio::error_code, std::size_t) @endcode
2697
+ *
2698
+ * @note After a successful async_read_until operation, the dynamic buffer
2699
+ * sequence may contain additional data beyond the delimiter. An application
2700
+ * will typically leave that data in the dynamic buffer sequence for a
2701
+ * subsequent async_read_until operation to examine.
2702
+ *
2703
+ * @par Example
2704
+ * To asynchronously read data into a @c std::string until a newline is
2705
+ * encountered:
2706
+ * @code std::string data;
2707
+ * ...
2708
+ * void handler(const asio::error_code& e, std::size_t size)
2709
+ * {
2710
+ * if (!e)
2711
+ * {
2712
+ * std::string line = data.substr(0, n);
2713
+ * data.erase(0, n);
2714
+ * ...
2715
+ * }
2716
+ * }
2717
+ * ...
2718
+ * asio::async_read_until(s, data, '\n', handler); @endcode
2719
+ * After the @c async_read_until operation completes successfully, the buffer
2720
+ * @c data contains the delimiter:
2721
+ * @code { 'a', 'b', ..., 'c', '\n', 'd', 'e', ... } @endcode
2722
+ * The call to @c substr then extracts the data up to and including the
2723
+ * delimiter, so that the string @c line contains:
2724
+ * @code { 'a', 'b', ..., 'c', '\n' } @endcode
2725
+ * After the call to @c erase, the remaining data is left in the buffer @c data
2726
+ * as follows:
2727
+ * @code { 'd', 'e', ... } @endcode
2728
+ * This data may be the start of a new line, to be extracted by a subsequent
2729
+ * @c async_read_until operation.
2730
+ *
2731
+ * @par Per-Operation Cancellation
2732
+ * This asynchronous operation supports cancellation for the following
2733
+ * asio::cancellation_type values:
2734
+ *
2735
+ * @li @c cancellation_type::terminal
2736
+ *
2737
+ * @li @c cancellation_type::partial
2738
+ *
2739
+ * if they are also supported by the @c AsyncReadStream type's
2740
+ * @c async_read_some operation.
2741
+ */
2742
+ template <typename AsyncReadStream, typename DynamicBuffer_v2,
2743
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2744
+ std::size_t)) ReadToken = default_completion_token_t<
2745
+ typename AsyncReadStream::executor_type>>
2746
+ inline auto async_read_until(AsyncReadStream& s,
2747
+ DynamicBuffer_v2 buffers, char delim,
2748
+ ReadToken&& token = default_completion_token_t<
2749
+ typename AsyncReadStream::executor_type>(),
2750
+ constraint_t<
2751
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2752
+ > = 0)
2753
+ -> decltype(
2754
+ async_initiate<ReadToken,
2755
+ void (asio::error_code, std::size_t)>(
2756
+ declval<detail::initiate_async_read_until_delim_v2<AsyncReadStream>>(),
2757
+ token, static_cast<DynamicBuffer_v2&&>(buffers), delim))
2758
+ {
2759
+ return async_initiate<ReadToken,
2760
+ void (asio::error_code, std::size_t)>(
2761
+ detail::initiate_async_read_until_delim_v2<AsyncReadStream>(s),
2762
+ token, static_cast<DynamicBuffer_v2&&>(buffers), delim);
2763
+ }
2764
+
2765
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2766
+ /// until it contains a specified delimiter.
2767
+ /**
2768
+ * This function is used to asynchronously read data into the specified dynamic
2769
+ * buffer sequence until the dynamic buffer sequence's get area contains the
2770
+ * specified delimiter. It is an initiating function for an @ref
2771
+ * asynchronous_operation, and always returns immediately. The asynchronous
2772
+ * operation will continue until one of the following conditions is true:
2773
+ *
2774
+ * @li The get area of the dynamic buffer sequence contains the specified
2775
+ * delimiter.
2776
+ *
2777
+ * @li An error occurred.
2778
+ *
2779
+ * This operation is implemented in terms of zero or more calls to the stream's
2780
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2781
+ * the dynamic buffer sequence's get area already contains the delimiter, this
2782
+ * asynchronous operation completes immediately. The program must ensure that
2783
+ * the stream performs no other read operations (such as async_read,
2784
+ * async_read_until, the stream's async_read_some function, or any other
2785
+ * composed operations that perform reads) until this operation completes.
2786
+ *
2787
+ * @param s The stream from which the data is to be read. The type must support
2788
+ * the AsyncReadStream concept.
2789
+ *
2790
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2791
+ * Although the buffers object may be copied as necessary, ownership of the
2792
+ * underlying memory blocks is retained by the caller, which must guarantee
2793
+ * that they remain valid until the completion handler is called.
2794
+ *
2795
+ * @param delim The delimiter string.
2796
+ *
2797
+ * @param token The @ref completion_token that will be used to produce a
2798
+ * completion handler, which will be called when the read completes.
2799
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2800
+ * @ref yield_context, or a function object with the correct completion
2801
+ * signature. The function signature of the completion handler must be:
2802
+ * @code void handler(
2803
+ * // Result of operation.
2804
+ * const asio::error_code& error,
2805
+ *
2806
+ * // The number of bytes in the dynamic buffer sequence's
2807
+ * // get area up to and including the delimiter.
2808
+ * std::size_t bytes_transferred
2809
+ * ); @endcode
2810
+ * Regardless of whether the asynchronous operation completes immediately or
2811
+ * not, the completion handler will not be invoked from within this function.
2812
+ * On immediate completion, invocation of the handler will be performed in a
2813
+ * manner equivalent to using asio::async_immediate().
2814
+ *
2815
+ * @par Completion Signature
2816
+ * @code void(asio::error_code, std::size_t) @endcode
2817
+ *
2818
+ * @note After a successful async_read_until operation, the dynamic buffer
2819
+ * sequence may contain additional data beyond the delimiter. An application
2820
+ * will typically leave that data in the dynamic buffer sequence for a
2821
+ * subsequent async_read_until operation to examine.
2822
+ *
2823
+ * @par Example
2824
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
2825
+ * encountered:
2826
+ * @code std::string data;
2827
+ * ...
2828
+ * void handler(const asio::error_code& e, std::size_t size)
2829
+ * {
2830
+ * if (!e)
2831
+ * {
2832
+ * std::string line = data.substr(0, n);
2833
+ * data.erase(0, n);
2834
+ * ...
2835
+ * }
2836
+ * }
2837
+ * ...
2838
+ * asio::async_read_until(s, data, "\r\n", handler); @endcode
2839
+ * After the @c async_read_until operation completes successfully, the string
2840
+ * @c data contains the delimiter:
2841
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2842
+ * The call to @c substr then extracts the data up to and including the
2843
+ * delimiter, so that the string @c line contains:
2844
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
2845
+ * After the call to @c erase, the remaining data is left in the string @c data
2846
+ * as follows:
2847
+ * @code { 'd', 'e', ... } @endcode
2848
+ * This data may be the start of a new line, to be extracted by a subsequent
2849
+ * @c async_read_until operation.
2850
+ *
2851
+ * @par Per-Operation Cancellation
2852
+ * This asynchronous operation supports cancellation for the following
2853
+ * asio::cancellation_type values:
2854
+ *
2855
+ * @li @c cancellation_type::terminal
2856
+ *
2857
+ * @li @c cancellation_type::partial
2858
+ *
2859
+ * if they are also supported by the @c AsyncReadStream type's
2860
+ * @c async_read_some operation.
2861
+ */
2862
+ template <typename AsyncReadStream, typename DynamicBuffer_v2,
2863
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2864
+ std::size_t)) ReadToken = default_completion_token_t<
2865
+ typename AsyncReadStream::executor_type>>
2866
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2867
+ ASIO_STRING_VIEW_PARAM delim,
2868
+ ReadToken&& token = default_completion_token_t<
2869
+ typename AsyncReadStream::executor_type>(),
2870
+ constraint_t<
2871
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2872
+ > = 0)
2873
+ -> decltype(
2874
+ async_initiate<ReadToken,
2875
+ void (asio::error_code, std::size_t)>(
2876
+ declval<detail::initiate_async_read_until_delim_string_v2<
2877
+ AsyncReadStream>>(),
2878
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
2879
+ static_cast<std::string>(delim)))
2880
+ {
2881
+ return async_initiate<ReadToken,
2882
+ void (asio::error_code, std::size_t)>(
2883
+ detail::initiate_async_read_until_delim_string_v2<AsyncReadStream>(s),
2884
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
2885
+ static_cast<std::string>(delim));
2886
+ }
2887
+
2888
+ #if !defined(ASIO_NO_EXTENSIONS)
2889
+ #if defined(ASIO_HAS_BOOST_REGEX) \
2890
+ || defined(GENERATING_DOCUMENTATION)
2891
+
2892
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
2893
+ /// until some part of its data matches a regular expression.
2894
+ /**
2895
+ * This function is used to asynchronously read data into the specified dynamic
2896
+ * buffer sequence until the dynamic buffer sequence's get area contains some
2897
+ * data that matches a regular expression. It is an initiating function for an
2898
+ * @ref asynchronous_operation, and always returns immediately. The
2899
+ * asynchronous operation will continue until one of the following conditions
2900
+ * is true:
2901
+ *
2902
+ * @li A substring of the dynamic buffer sequence's get area matches the regular
2903
+ * expression.
2904
+ *
2905
+ * @li An error occurred.
2906
+ *
2907
+ * This operation is implemented in terms of zero or more calls to the stream's
2908
+ * async_read_some function, and is known as a <em>composed operation</em>. If
2909
+ * the dynamic buffer sequence's get area already contains data that matches
2910
+ * the regular expression, this asynchronous operation completes immediately.
2911
+ * The program must ensure that the stream performs no other read operations
2912
+ * (such as async_read, async_read_until, the stream's async_read_some
2913
+ * function, or any other composed operations that perform reads) until this
2914
+ * operation completes.
2915
+ *
2916
+ * @param s The stream from which the data is to be read. The type must support
2917
+ * the AsyncReadStream concept.
2918
+ *
2919
+ * @param buffers The dynamic buffer sequence into which the data will be read.
2920
+ * Although the buffers object may be copied as necessary, ownership of the
2921
+ * underlying memory blocks is retained by the caller, which must guarantee
2922
+ * that they remain valid until the completion handler is called.
2923
+ *
2924
+ * @param expr The regular expression.
2925
+ *
2926
+ * @param token The @ref completion_token that will be used to produce a
2927
+ * completion handler, which will be called when the read completes.
2928
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
2929
+ * @ref yield_context, or a function object with the correct completion
2930
+ * signature. The function signature of the completion handler must be:
2931
+ * @code void handler(
2932
+ * // Result of operation.
2933
+ * const asio::error_code& error,
2934
+ *
2935
+ * // The number of bytes in the dynamic buffer
2936
+ * // sequence's get area up to and including the
2937
+ * // substring that matches the regular expression.
2938
+ * // 0 if an error occurred.
2939
+ * std::size_t bytes_transferred
2940
+ * ); @endcode
2941
+ * Regardless of whether the asynchronous operation completes immediately or
2942
+ * not, the completion handler will not be invoked from within this function.
2943
+ * On immediate completion, invocation of the handler will be performed in a
2944
+ * manner equivalent to using asio::async_immediate().
2945
+ *
2946
+ * @par Completion Signature
2947
+ * @code void(asio::error_code, std::size_t) @endcode
2948
+ *
2949
+ * @note After a successful async_read_until operation, the dynamic buffer
2950
+ * sequence may contain additional data beyond that which matched the regular
2951
+ * expression. An application will typically leave that data in the dynamic
2952
+ * buffer sequence for a subsequent async_read_until operation to examine.
2953
+ *
2954
+ * @par Example
2955
+ * To asynchronously read data into a @c std::string until a CR-LF sequence is
2956
+ * encountered:
2957
+ * @code std::string data;
2958
+ * ...
2959
+ * void handler(const asio::error_code& e, std::size_t size)
2960
+ * {
2961
+ * if (!e)
2962
+ * {
2963
+ * std::string line = data.substr(0, n);
2964
+ * data.erase(0, n);
2965
+ * ...
2966
+ * }
2967
+ * }
2968
+ * ...
2969
+ * asio::async_read_until(s, data,
2970
+ * boost::regex("\r\n"), handler); @endcode
2971
+ * After the @c async_read_until operation completes successfully, the string
2972
+ * @c data contains the data which matched the regular expression:
2973
+ * @code { 'a', 'b', ..., 'c', '\r', '\n', 'd', 'e', ... } @endcode
2974
+ * The call to @c substr then extracts the data up to and including the match,
2975
+ * so that the string @c line contains:
2976
+ * @code { 'a', 'b', ..., 'c', '\r', '\n' } @endcode
2977
+ * After the call to @c erase, the remaining data is left in the string @c data
2978
+ * as follows:
2979
+ * @code { 'd', 'e', ... } @endcode
2980
+ * This data may be the start of a new line, to be extracted by a subsequent
2981
+ * @c async_read_until operation.
2982
+ *
2983
+ * @par Per-Operation Cancellation
2984
+ * This asynchronous operation supports cancellation for the following
2985
+ * asio::cancellation_type values:
2986
+ *
2987
+ * @li @c cancellation_type::terminal
2988
+ *
2989
+ * @li @c cancellation_type::partial
2990
+ *
2991
+ * if they are also supported by the @c AsyncReadStream type's
2992
+ * @c async_read_some operation.
2993
+ */
2994
+ template <typename AsyncReadStream, typename DynamicBuffer_v2, typename Traits,
2995
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
2996
+ std::size_t)) ReadToken = default_completion_token_t<
2997
+ typename AsyncReadStream::executor_type>>
2998
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2999
+ const boost::basic_regex<char, Traits>& expr,
3000
+ ReadToken&& token = default_completion_token_t<
3001
+ typename AsyncReadStream::executor_type>(),
3002
+ constraint_t<
3003
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
3004
+ > = 0)
3005
+ -> decltype(
3006
+ async_initiate<ReadToken,
3007
+ void (asio::error_code, std::size_t)>(
3008
+ declval<detail::initiate_async_read_until_expr_v2<AsyncReadStream>>(),
3009
+ token, static_cast<DynamicBuffer_v2&&>(buffers), expr))
3010
+ {
3011
+ return async_initiate<ReadToken,
3012
+ void (asio::error_code, std::size_t)>(
3013
+ detail::initiate_async_read_until_expr_v2<AsyncReadStream>(s),
3014
+ token, static_cast<DynamicBuffer_v2&&>(buffers), expr);
3015
+ }
3016
+
3017
+ #endif // defined(ASIO_HAS_BOOST_REGEX)
3018
+ // || defined(GENERATING_DOCUMENTATION)
3019
+
3020
+ /// Start an asynchronous operation to read data into a dynamic buffer sequence
3021
+ /// until a function object indicates a match.
3022
+ /**
3023
+ * This function is used to asynchronously read data into the specified dynamic
3024
+ * buffer sequence until a user-defined match condition function object, when
3025
+ * applied to the data contained in the dynamic buffer sequence, indicates a
3026
+ * successful match. It is an initiating function for an @ref
3027
+ * asynchronous_operation, and always returns immediately. The asynchronous
3028
+ * operation will continue until one of the following conditions is true:
3029
+ *
3030
+ * @li The match condition function object returns a std::pair where the second
3031
+ * element evaluates to true.
3032
+ *
3033
+ * @li An error occurred.
3034
+ *
3035
+ * This operation is implemented in terms of zero or more calls to the stream's
3036
+ * async_read_some function, and is known as a <em>composed operation</em>. If
3037
+ * the match condition function object already indicates a match, this
3038
+ * asynchronous operation completes immediately. The program must ensure that
3039
+ * the stream performs no other read operations (such as async_read,
3040
+ * async_read_until, the stream's async_read_some function, or any other
3041
+ * composed operations that perform reads) until this operation completes.
3042
+ *
3043
+ * @param s The stream from which the data is to be read. The type must support
3044
+ * the AsyncReadStream concept.
3045
+ *
3046
+ * @param buffers The dynamic buffer sequence into which the data will be read.
3047
+ * Although the buffers object may be copied as necessary, ownership of the
3048
+ * underlying memory blocks is retained by the caller, which must guarantee
3049
+ * that they remain valid until the completion handler is called.
3050
+ *
3051
+ * @param match_condition The function object to be called to determine whether
3052
+ * a match exists. The signature of the function object must be:
3053
+ * @code pair<iterator, bool> match_condition(iterator begin, iterator end);
3054
+ * @endcode
3055
+ * where @c iterator represents the type:
3056
+ * @code buffers_iterator<typename DynamicBuffer_v2::const_buffers_type>
3057
+ * @endcode
3058
+ * The iterator parameters @c begin and @c end define the range of bytes to be
3059
+ * scanned to determine whether there is a match. The @c first member of the
3060
+ * return value is an iterator marking one-past-the-end of the bytes that have
3061
+ * been consumed by the match function. This iterator is used to calculate the
3062
+ * @c begin parameter for any subsequent invocation of the match condition. The
3063
+ * @c second member of the return value is true if a match has been found, false
3064
+ * otherwise.
3065
+ *
3066
+ * @param token The @ref completion_token that will be used to produce a
3067
+ * completion handler, which will be called when the read completes.
3068
+ * Potential completion tokens include @ref use_future, @ref use_awaitable,
3069
+ * @ref yield_context, or a function object with the correct completion
3070
+ * signature. The function signature of the completion handler must be:
3071
+ * @code void handler(
3072
+ * // Result of operation.
3073
+ * const asio::error_code& error,
3074
+ *
3075
+ * // The number of bytes in the dynamic buffer sequence's
3076
+ * // get area that have been fully consumed by the match
3077
+ * // function. O if an error occurred.
3078
+ * std::size_t bytes_transferred
3079
+ * ); @endcode
3080
+ * Regardless of whether the asynchronous operation completes immediately or
3081
+ * not, the completion handler will not be invoked from within this function.
3082
+ * On immediate completion, invocation of the handler will be performed in a
3083
+ * manner equivalent to using asio::async_immediate().
3084
+ *
3085
+ * @note After a successful async_read_until operation, the dynamic buffer
3086
+ * sequence may contain additional data beyond that which matched the function
3087
+ * object. An application will typically leave that data in the dynamic buffer
3088
+ * sequence for a subsequent async_read_until operation to examine.
3089
+ *
3090
+ * @par Completion Signature
3091
+ * @code void(asio::error_code, std::size_t) @endcode
3092
+ *
3093
+ * @note The default implementation of the @c is_match_condition type trait
3094
+ * evaluates to true for function pointers and function objects with a
3095
+ * @c result_type typedef. It must be specialised for other user-defined
3096
+ * function objects.
3097
+ *
3098
+ * @par Examples
3099
+ * To asynchronously read data into a @c std::string until whitespace is
3100
+ * encountered:
3101
+ * @code typedef asio::buffers_iterator<
3102
+ * asio::const_buffers_1> iterator;
3103
+ *
3104
+ * std::pair<iterator, bool>
3105
+ * match_whitespace(iterator begin, iterator end)
3106
+ * {
3107
+ * iterator i = begin;
3108
+ * while (i != end)
3109
+ * if (std::isspace(*i++))
3110
+ * return std::make_pair(i, true);
3111
+ * return std::make_pair(i, false);
3112
+ * }
3113
+ * ...
3114
+ * void handler(const asio::error_code& e, std::size_t size);
3115
+ * ...
3116
+ * std::string data;
3117
+ * asio::async_read_until(s, data, match_whitespace, handler);
3118
+ * @endcode
3119
+ *
3120
+ * To asynchronously read data into a @c std::string until a matching character
3121
+ * is found:
3122
+ * @code class match_char
3123
+ * {
3124
+ * public:
3125
+ * explicit match_char(char c) : c_(c) {}
3126
+ *
3127
+ * template <typename Iterator>
3128
+ * std::pair<Iterator, bool> operator()(
3129
+ * Iterator begin, Iterator end) const
3130
+ * {
3131
+ * Iterator i = begin;
3132
+ * while (i != end)
3133
+ * if (c_ == *i++)
3134
+ * return std::make_pair(i, true);
3135
+ * return std::make_pair(i, false);
3136
+ * }
3137
+ *
3138
+ * private:
3139
+ * char c_;
3140
+ * };
3141
+ *
3142
+ * namespace asio {
3143
+ * template <> struct is_match_condition<match_char>
3144
+ * : public boost::true_type {};
3145
+ * } // namespace asio
3146
+ * ...
3147
+ * void handler(const asio::error_code& e, std::size_t size);
3148
+ * ...
3149
+ * std::string data;
3150
+ * asio::async_read_until(s, data, match_char('a'), handler);
3151
+ * @endcode
3152
+ *
3153
+ * @par Per-Operation Cancellation
3154
+ * This asynchronous operation supports cancellation for the following
3155
+ * asio::cancellation_type values:
3156
+ *
3157
+ * @li @c cancellation_type::terminal
3158
+ *
3159
+ * @li @c cancellation_type::partial
3160
+ *
3161
+ * if they are also supported by the @c AsyncReadStream type's
3162
+ * @c async_read_some operation.
3163
+ */
3164
+ template <typename AsyncReadStream,
3165
+ typename DynamicBuffer_v2, typename MatchCondition,
3166
+ ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
3167
+ std::size_t)) ReadToken = default_completion_token_t<
3168
+ typename AsyncReadStream::executor_type>>
3169
+ inline auto async_read_until(AsyncReadStream& s,
3170
+ DynamicBuffer_v2 buffers, MatchCondition match_condition,
3171
+ ReadToken&& token = default_completion_token_t<
3172
+ typename AsyncReadStream::executor_type>(),
3173
+ constraint_t<
3174
+ is_match_condition<MatchCondition>::value
3175
+ > = 0,
3176
+ constraint_t<
3177
+ is_dynamic_buffer_v2<DynamicBuffer_v2>::value
3178
+ > = 0)
3179
+ -> decltype(
3180
+ async_initiate<ReadToken,
3181
+ void (asio::error_code, std::size_t)>(
3182
+ declval<detail::initiate_async_read_until_match_v2<AsyncReadStream>>(),
3183
+ token, static_cast<DynamicBuffer_v2&&>(buffers), match_condition))
3184
+ {
3185
+ return async_initiate<ReadToken,
3186
+ void (asio::error_code, std::size_t)>(
3187
+ detail::initiate_async_read_until_match_v2<AsyncReadStream>(s),
3188
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
3189
+ match_condition);
3190
+ }
3191
+
3192
+ #endif // !defined(ASIO_NO_EXTENSIONS)
3193
+
3194
+ /*@}*/
3195
+
3196
+ } // namespace asio
3197
+
3198
+ #include "asio/detail/pop_options.hpp"
3199
+
3200
+ #include "asio/impl/read_until.hpp"
3201
+
3202
+ #endif // ASIO_READ_UNTIL_HPP