couchbase 3.5.2 → 3.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1899) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/any_completion_executor.hpp +336 -0
  4. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/any_completion_handler.hpp +822 -0
  5. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/any_io_executor.hpp +351 -0
  6. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/append.hpp +65 -0
  7. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/as_tuple.hpp +126 -0
  8. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/associated_allocator.hpp +214 -0
  9. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/associated_cancellation_slot.hpp +221 -0
  10. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/associated_executor.hpp +235 -0
  11. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/associated_immediate_executor.hpp +280 -0
  12. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/associator.hpp +35 -0
  13. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/async_result.hpp +942 -0
  14. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/awaitable.hpp +142 -0
  15. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_datagram_socket.hpp +1362 -0
  16. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_deadline_timer.hpp +710 -0
  17. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_file.hpp +824 -0
  18. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_io_object.hpp +286 -0
  19. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_random_access_file.hpp +689 -0
  20. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_raw_socket.hpp +1356 -0
  21. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_readable_pipe.hpp +626 -0
  22. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_seq_packet_socket.hpp +823 -0
  23. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_serial_port.hpp +987 -0
  24. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_signal_set.hpp +648 -0
  25. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_socket.hpp +1936 -0
  26. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_socket_acceptor.hpp +2708 -0
  27. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_socket_iostream.hpp +331 -0
  28. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_socket_streambuf.hpp +642 -0
  29. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_stream_file.hpp +744 -0
  30. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_stream_socket.hpp +1163 -0
  31. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_streambuf.hpp +450 -0
  32. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_streambuf_fwd.hpp +36 -0
  33. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_waitable_timer.hpp +824 -0
  34. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/basic_writable_pipe.hpp +622 -0
  35. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/bind_allocator.hpp +530 -0
  36. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/bind_cancellation_slot.hpp +544 -0
  37. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/bind_executor.hpp +582 -0
  38. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/bind_immediate_executor.hpp +549 -0
  39. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffer.hpp +2751 -0
  40. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffer_registration.hpp +318 -0
  41. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffered_read_stream.hpp +273 -0
  42. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffered_read_stream_fwd.hpp +25 -0
  43. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffered_stream.hpp +292 -0
  44. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffered_stream_fwd.hpp +25 -0
  45. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffered_write_stream.hpp +265 -0
  46. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffered_write_stream_fwd.hpp +25 -0
  47. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/buffers_iterator.hpp +521 -0
  48. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/cancellation_signal.hpp +245 -0
  49. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/cancellation_state.hpp +235 -0
  50. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/cancellation_type.hpp +157 -0
  51. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/co_spawn.hpp +523 -0
  52. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/completion_condition.hpp +218 -0
  53. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/compose.hpp +319 -0
  54. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/connect.hpp +1180 -0
  55. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/connect_pipe.hpp +83 -0
  56. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/consign.hpp +75 -0
  57. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/coroutine.hpp +329 -0
  58. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/deadline_timer.hpp +38 -0
  59. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/defer.hpp +218 -0
  60. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/deferred.hpp +715 -0
  61. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detached.hpp +105 -0
  62. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/array.hpp +30 -0
  63. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/array_fwd.hpp +32 -0
  64. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/assert.hpp +32 -0
  65. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/atomic_count.hpp +59 -0
  66. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +164 -0
  67. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/base_from_completion_cond.hpp +69 -0
  68. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/bind_handler.hpp +711 -0
  69. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  70. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/buffer_resize_guard.hpp +66 -0
  71. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +837 -0
  72. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/buffered_stream_storage.hpp +126 -0
  73. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/call_stack.hpp +125 -0
  74. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/chrono.hpp +45 -0
  75. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/chrono_time_traits.hpp +190 -0
  76. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/completion_handler.hpp +88 -0
  77. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/composed_work.hpp +252 -0
  78. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/concurrency_hint.hpp +94 -0
  79. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +120 -0
  80. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +149 -0
  81. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/config.hpp +1422 -0
  82. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/consuming_buffers.hpp +443 -0
  83. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/cstddef.hpp +27 -0
  84. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/cstdint.hpp +40 -0
  85. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/date_time_fwd.hpp +34 -0
  86. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/deadline_timer_service.hpp +335 -0
  87. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/dependent_type.hpp +36 -0
  88. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/descriptor_ops.hpp +179 -0
  89. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/descriptor_read_op.hpp +188 -0
  90. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/descriptor_write_op.hpp +187 -0
  91. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/dev_poll_reactor.hpp +247 -0
  92. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/epoll_reactor.hpp +295 -0
  93. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/event.hpp +46 -0
  94. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +83 -0
  95. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/exception.hpp +29 -0
  96. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/executor_function.hpp +152 -0
  97. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/executor_op.hpp +84 -0
  98. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/fd_set_adapter.hpp +39 -0
  99. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/fenced_block.hpp +40 -0
  100. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/functional.hpp +33 -0
  101. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/future.hpp +32 -0
  102. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/global.hpp +50 -0
  103. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +225 -0
  104. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/handler_cont_helpers.hpp +45 -0
  105. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/handler_tracking.hpp +264 -0
  106. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/handler_type_requirements.hpp +553 -0
  107. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/handler_work.hpp +511 -0
  108. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/hash_map.hpp +331 -0
  109. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +118 -0
  110. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +991 -0
  111. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +111 -0
  112. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +469 -0
  113. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +109 -0
  114. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +826 -0
  115. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +171 -0
  116. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/handler_tracking.ipp +398 -0
  117. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +205 -0
  118. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +140 -0
  119. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/io_uring_service.hpp +112 -0
  120. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/io_uring_service.ipp +914 -0
  121. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +249 -0
  122. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +113 -0
  123. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +608 -0
  124. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/null_event.ipp +74 -0
  125. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +129 -0
  126. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/posix_event.ipp +63 -0
  127. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/posix_mutex.ipp +46 -0
  128. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +168 -0
  129. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/posix_thread.ipp +84 -0
  130. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +46 -0
  131. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +230 -0
  132. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +310 -0
  133. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +158 -0
  134. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/scheduler.ipp +675 -0
  135. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/select_reactor.hpp +124 -0
  136. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/select_reactor.ipp +400 -0
  137. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/service_registry.hpp +93 -0
  138. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/service_registry.ipp +197 -0
  139. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/signal_set_service.ipp +826 -0
  140. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/socket_ops.ipp +4035 -0
  141. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +185 -0
  142. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +346 -0
  143. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +158 -0
  144. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/strand_service.hpp +86 -0
  145. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/strand_service.ipp +202 -0
  146. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/thread_context.ipp +35 -0
  147. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/throw_error.ipp +49 -0
  148. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +97 -0
  149. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +101 -0
  150. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_event.ipp +76 -0
  151. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +280 -0
  152. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +619 -0
  153. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +119 -0
  154. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +614 -0
  155. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +200 -0
  156. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +821 -0
  157. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_mutex.ipp +84 -0
  158. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +452 -0
  159. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +136 -0
  160. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_thread.ipp +150 -0
  161. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +57 -0
  162. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +626 -0
  163. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +92 -0
  164. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +121 -0
  165. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/impl/winsock_init.ipp +82 -0
  166. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/initiate_defer.hpp +207 -0
  167. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/initiate_dispatch.hpp +193 -0
  168. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/initiate_post.hpp +207 -0
  169. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_control.hpp +84 -0
  170. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_object_impl.hpp +177 -0
  171. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +195 -0
  172. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +190 -0
  173. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +687 -0
  174. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +189 -0
  175. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +185 -0
  176. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_file_service.hpp +261 -0
  177. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +114 -0
  178. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_operation.hpp +84 -0
  179. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_service.hpp +319 -0
  180. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +280 -0
  181. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +140 -0
  182. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +205 -0
  183. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +206 -0
  184. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +192 -0
  185. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +191 -0
  186. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +194 -0
  187. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_service.hpp +629 -0
  188. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +663 -0
  189. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/io_uring_wait_op.hpp +112 -0
  190. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/is_buffer_sequence.hpp +296 -0
  191. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/is_executor.hpp +126 -0
  192. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +70 -0
  193. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/kqueue_reactor.hpp +271 -0
  194. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +59 -0
  195. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/memory.hpp +126 -0
  196. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/mutex.hpp +46 -0
  197. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/non_const_lvalue.hpp +43 -0
  198. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/noncopyable.hpp +43 -0
  199. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_event.hpp +106 -0
  200. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_fenced_block.hpp +47 -0
  201. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_global.hpp +59 -0
  202. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_mutex.hpp +60 -0
  203. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_reactor.hpp +83 -0
  204. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_signal_blocker.hpp +69 -0
  205. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_socket_service.hpp +519 -0
  206. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_static_mutex.hpp +60 -0
  207. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_thread.hpp +67 -0
  208. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/null_tss_ptr.hpp +68 -0
  209. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/object_pool.hpp +171 -0
  210. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +214 -0
  211. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/op_queue.hpp +162 -0
  212. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/operation.hpp +38 -0
  213. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +89 -0
  214. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/pop_options.hpp +157 -0
  215. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_event.hpp +175 -0
  216. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +118 -0
  217. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_global.hpp +80 -0
  218. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_mutex.hpp +76 -0
  219. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_serial_port_service.hpp +249 -0
  220. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_signal_blocker.hpp +85 -0
  221. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_static_mutex.hpp +64 -0
  222. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_thread.hpp +109 -0
  223. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/posix_tss_ptr.hpp +79 -0
  224. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/push_options.hpp +228 -0
  225. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +566 -0
  226. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +131 -0
  227. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +323 -0
  228. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +162 -0
  229. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +197 -0
  230. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +203 -0
  231. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +184 -0
  232. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +201 -0
  233. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +194 -0
  234. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_service.hpp +633 -0
  235. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +750 -0
  236. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactive_wait_op.hpp +131 -0
  237. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactor.hpp +54 -0
  238. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactor_op.hpp +71 -0
  239. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/reactor_op_queue.hpp +212 -0
  240. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/recycling_allocator.hpp +105 -0
  241. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/regex_fwd.hpp +35 -0
  242. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +140 -0
  243. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/resolve_op.hpp +45 -0
  244. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/resolve_query_op.hpp +150 -0
  245. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/resolver_service.hpp +147 -0
  246. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/resolver_service_base.hpp +158 -0
  247. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/scheduler.hpp +241 -0
  248. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/scheduler_operation.hpp +78 -0
  249. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/scheduler_task.hpp +49 -0
  250. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/scheduler_thread_info.hpp +40 -0
  251. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/scoped_lock.hpp +101 -0
  252. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/scoped_ptr.hpp +87 -0
  253. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/select_interrupter.hpp +46 -0
  254. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/select_reactor.hpp +291 -0
  255. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/service_registry.hpp +163 -0
  256. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/signal_blocker.hpp +44 -0
  257. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/signal_handler.hpp +90 -0
  258. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/signal_init.hpp +47 -0
  259. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/signal_op.hpp +53 -0
  260. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/signal_set_service.hpp +292 -0
  261. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/socket_holder.hpp +98 -0
  262. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/socket_ops.hpp +375 -0
  263. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/socket_option.hpp +316 -0
  264. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/socket_select_interrupter.hpp +91 -0
  265. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/socket_types.hpp +427 -0
  266. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/source_location.hpp +45 -0
  267. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/static_mutex.hpp +50 -0
  268. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/std_event.hpp +183 -0
  269. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/std_fenced_block.hpp +57 -0
  270. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/std_global.hpp +65 -0
  271. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/std_mutex.hpp +68 -0
  272. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/std_static_mutex.hpp +76 -0
  273. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/std_thread.hpp +66 -0
  274. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/strand_executor_service.hpp +173 -0
  275. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/strand_service.hpp +144 -0
  276. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/string_view.hpp +47 -0
  277. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/thread.hpp +58 -0
  278. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/thread_context.hpp +51 -0
  279. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/thread_group.hpp +99 -0
  280. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/thread_info_base.hpp +250 -0
  281. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/throw_error.hpp +62 -0
  282. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/throw_exception.hpp +55 -0
  283. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/timer_queue.hpp +389 -0
  284. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/timer_queue_base.hpp +68 -0
  285. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/timer_queue_ptime.hpp +103 -0
  286. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/timer_queue_set.hpp +66 -0
  287. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/timer_scheduler.hpp +37 -0
  288. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +42 -0
  289. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/tss_ptr.hpp +69 -0
  290. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/type_traits.hpp +178 -0
  291. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/utility.hpp +83 -0
  292. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/wait_handler.hpp +90 -0
  293. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/wait_op.hpp +49 -0
  294. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_event.hpp +164 -0
  295. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +149 -0
  296. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_global.hpp +71 -0
  297. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_file_service.hpp +287 -0
  298. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +119 -0
  299. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +431 -0
  300. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +114 -0
  301. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_io_context.hpp +347 -0
  302. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +129 -0
  303. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_operation.hpp +96 -0
  304. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +100 -0
  305. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +171 -0
  306. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +233 -0
  307. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +339 -0
  308. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +138 -0
  309. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +126 -0
  310. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +135 -0
  311. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +127 -0
  312. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +120 -0
  313. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +680 -0
  314. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +829 -0
  315. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +34 -0
  316. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +130 -0
  317. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_mutex.hpp +78 -0
  318. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_object_handle_service.hpp +194 -0
  319. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_static_mutex.hpp +74 -0
  320. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_thread.hpp +147 -0
  321. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/win_tss_ptr.hpp +79 -0
  322. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winapp_thread.hpp +124 -0
  323. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/wince_thread.hpp +124 -0
  324. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_async_manager.hpp +305 -0
  325. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_async_op.hpp +65 -0
  326. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_resolve_op.hpp +125 -0
  327. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_resolver_service.hpp +212 -0
  328. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +98 -0
  329. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +119 -0
  330. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +110 -0
  331. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +250 -0
  332. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +362 -0
  333. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +147 -0
  334. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winrt_utils.hpp +106 -0
  335. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/winsock_init.hpp +128 -0
  336. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/work_dispatcher.hpp +143 -0
  337. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/detail/wrapped_handler.hpp +217 -0
  338. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/dispatch.hpp +197 -0
  339. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/error.hpp +389 -0
  340. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/error_code.hpp +39 -0
  341. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/allocator.hpp +278 -0
  342. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/any_executor.hpp +1933 -0
  343. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/bad_executor.hpp +46 -0
  344. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/blocking.hpp +1360 -0
  345. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/blocking_adaptation.hpp +1080 -0
  346. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/context.hpp +191 -0
  347. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/context_as.hpp +190 -0
  348. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/executor.hpp +116 -0
  349. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  350. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/invocable_archetype.hpp +43 -0
  351. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/mapping.hpp +1002 -0
  352. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/occupancy.hpp +184 -0
  353. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/outstanding_work.hpp +753 -0
  354. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/prefer_only.hpp +328 -0
  355. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution/relationship.hpp +751 -0
  356. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution.hpp +33 -0
  357. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/execution_context.hpp +388 -0
  358. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/executor.hpp +363 -0
  359. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/executor_work_guard.hpp +362 -0
  360. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/append.hpp +36 -0
  361. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/as_single.hpp +132 -0
  362. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/as_tuple.hpp +36 -0
  363. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/awaitable_operators.hpp +536 -0
  364. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/basic_channel.hpp +513 -0
  365. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +513 -0
  366. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/cancellation_condition.hpp +152 -0
  367. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/channel.hpp +70 -0
  368. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/channel_error.hpp +82 -0
  369. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/channel_traits.hpp +301 -0
  370. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/co_composed.hpp +145 -0
  371. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/concurrent_channel.hpp +70 -0
  372. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/deferred.hpp +36 -0
  373. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_handler.hpp +77 -0
  374. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_message.hpp +129 -0
  375. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_operation.hpp +361 -0
  376. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_payload.hpp +222 -0
  377. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +127 -0
  378. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +192 -0
  379. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +148 -0
  380. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/channel_service.hpp +677 -0
  381. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/has_signature.hpp +54 -0
  382. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +621 -0
  383. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/impl/as_single.hpp +176 -0
  384. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/impl/channel_error.ipp +61 -0
  385. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/impl/co_composed.hpp +1174 -0
  386. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/impl/parallel_group.hpp +788 -0
  387. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/parallel_group.hpp +457 -0
  388. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/experimental/prepend.hpp +36 -0
  389. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/file_base.hpp +166 -0
  390. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/basic_endpoint.hpp +189 -0
  391. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/datagram_protocol.hpp +123 -0
  392. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/detail/endpoint.hpp +133 -0
  393. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +110 -0
  394. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/raw_protocol.hpp +121 -0
  395. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/seq_packet_protocol.hpp +122 -0
  396. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/generic/stream_protocol.hpp +127 -0
  397. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/handler_continuation_hook.hpp +54 -0
  398. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/high_resolution_timer.hpp +39 -0
  399. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/any_completion_executor.ipp +126 -0
  400. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/any_io_executor.ipp +134 -0
  401. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/append.hpp +162 -0
  402. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/as_tuple.hpp +245 -0
  403. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/awaitable.hpp +1196 -0
  404. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/buffered_read_stream.hpp +404 -0
  405. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/buffered_write_stream.hpp +384 -0
  406. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/cancellation_signal.ipp +96 -0
  407. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/co_spawn.hpp +449 -0
  408. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/connect.hpp +809 -0
  409. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/connect_pipe.hpp +73 -0
  410. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/connect_pipe.ipp +149 -0
  411. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/consign.hpp +137 -0
  412. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/deferred.hpp +147 -0
  413. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/detached.hpp +77 -0
  414. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/error.ipp +128 -0
  415. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/error_code.ipp +206 -0
  416. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/execution_context.hpp +77 -0
  417. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/execution_context.ipp +82 -0
  418. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/executor.hpp +317 -0
  419. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/executor.ipp +43 -0
  420. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/io_context.hpp +433 -0
  421. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/io_context.ipp +176 -0
  422. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/multiple_exceptions.ipp +45 -0
  423. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/prepend.hpp +163 -0
  424. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/read.hpp +1053 -0
  425. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/read_at.hpp +628 -0
  426. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/read_until.hpp +2941 -0
  427. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/redirect_error.hpp +250 -0
  428. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/serial_port_base.hpp +59 -0
  429. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/serial_port_base.ipp +554 -0
  430. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/spawn.hpp +1400 -0
  431. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/src.hpp +94 -0
  432. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/system_context.hpp +34 -0
  433. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/system_context.ipp +92 -0
  434. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/system_executor.hpp +179 -0
  435. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/thread_pool.hpp +277 -0
  436. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/thread_pool.ipp +142 -0
  437. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/use_awaitable.hpp +301 -0
  438. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/use_future.hpp +707 -0
  439. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/write.hpp +939 -0
  440. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/impl/write_at.hpp +551 -0
  441. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/io_context.hpp +1505 -0
  442. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/io_context_strand.hpp +396 -0
  443. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/io_service.hpp +33 -0
  444. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/io_service_strand.hpp +20 -0
  445. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address.hpp +281 -0
  446. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address_v4.hpp +421 -0
  447. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address_v4_iterator.hpp +156 -0
  448. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address_v4_range.hpp +128 -0
  449. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address_v6.hpp +407 -0
  450. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address_v6_iterator.hpp +178 -0
  451. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/address_v6_range.hpp +124 -0
  452. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/bad_address_cast.hpp +63 -0
  453. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/basic_endpoint.hpp +282 -0
  454. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/basic_resolver.hpp +1112 -0
  455. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/basic_resolver_entry.hpp +113 -0
  456. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +188 -0
  457. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/basic_resolver_query.hpp +260 -0
  458. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/basic_resolver_results.hpp +307 -0
  459. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/detail/endpoint.hpp +141 -0
  460. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +195 -0
  461. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/detail/socket_option.hpp +566 -0
  462. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/host_name.hpp +42 -0
  463. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/icmp.hpp +115 -0
  464. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/address.hpp +67 -0
  465. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/address.ipp +235 -0
  466. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/address_v4.hpp +67 -0
  467. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/address_v4.ipp +206 -0
  468. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/address_v6.hpp +67 -0
  469. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/address_v6.ipp +342 -0
  470. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +43 -0
  471. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/host_name.ipp +54 -0
  472. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/network_v4.hpp +54 -0
  473. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/network_v4.ipp +218 -0
  474. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/network_v6.hpp +53 -0
  475. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/impl/network_v6.ipp +187 -0
  476. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/multicast.hpp +191 -0
  477. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/network_v4.hpp +257 -0
  478. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/network_v6.hpp +231 -0
  479. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/resolver_base.hpp +129 -0
  480. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/resolver_query_base.hpp +43 -0
  481. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/tcp.hpp +155 -0
  482. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/udp.hpp +111 -0
  483. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/unicast.hpp +70 -0
  484. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ip/v6_only.hpp +69 -0
  485. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  486. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/is_contiguous_iterator.hpp +45 -0
  487. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/is_executor.hpp +46 -0
  488. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/is_read_buffered.hpp +59 -0
  489. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/is_write_buffered.hpp +59 -0
  490. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/basic_endpoint.hpp +243 -0
  491. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/connect_pair.hpp +101 -0
  492. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/datagram_protocol.hpp +80 -0
  493. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/detail/endpoint.hpp +139 -0
  494. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/detail/impl/endpoint.ipp +131 -0
  495. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/seq_packet_protocol.hpp +84 -0
  496. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/local/stream_protocol.hpp +90 -0
  497. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/multiple_exceptions.hpp +52 -0
  498. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/packaged_task.hpp +66 -0
  499. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/placeholders.hpp +75 -0
  500. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/posix/basic_descriptor.hpp +773 -0
  501. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +559 -0
  502. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/posix/descriptor.hpp +37 -0
  503. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/posix/descriptor_base.hpp +90 -0
  504. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/posix/stream_descriptor.hpp +37 -0
  505. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/post.hpp +213 -0
  506. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/prefer.hpp +577 -0
  507. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/prepend.hpp +66 -0
  508. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/query.hpp +311 -0
  509. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/random_access_file.hpp +35 -0
  510. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/read.hpp +1448 -0
  511. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/read_at.hpp +778 -0
  512. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/read_until.hpp +3124 -0
  513. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/readable_pipe.hpp +35 -0
  514. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/recycling_allocator.hpp +138 -0
  515. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/redirect_error.hpp +64 -0
  516. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/registered_buffer.hpp +344 -0
  517. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/require.hpp +433 -0
  518. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/require_concept.hpp +343 -0
  519. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/serial_port.hpp +36 -0
  520. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/serial_port_base.hpp +167 -0
  521. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/signal_set.hpp +28 -0
  522. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/signal_set_base.hpp +171 -0
  523. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/socket_base.hpp +559 -0
  524. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/spawn.hpp +872 -0
  525. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/context.hpp +762 -0
  526. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/context_base.hpp +209 -0
  527. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +119 -0
  528. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/engine.hpp +169 -0
  529. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/handshake_op.hpp +67 -0
  530. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/impl/engine.ipp +377 -0
  531. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +169 -0
  532. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/io.hpp +376 -0
  533. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/openssl_init.hpp +101 -0
  534. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/openssl_types.hpp +34 -0
  535. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/password_callback.hpp +66 -0
  536. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/read_op.hpp +72 -0
  537. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +69 -0
  538. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/stream_core.hpp +217 -0
  539. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/verify_callback.hpp +62 -0
  540. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/detail/write_op.hpp +76 -0
  541. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/error.hpp +123 -0
  542. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/host_name_verification.hpp +90 -0
  543. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/impl/context.hpp +67 -0
  544. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/impl/context.ipp +1319 -0
  545. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/impl/error.ipp +124 -0
  546. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +73 -0
  547. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +164 -0
  548. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/impl/src.hpp +29 -0
  549. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/rfc2818_verification.hpp +98 -0
  550. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/stream.hpp +1042 -0
  551. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/stream_base.hpp +52 -0
  552. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/verify_context.hpp +67 -0
  553. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl/verify_mode.hpp +63 -0
  554. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ssl.hpp +28 -0
  555. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  556. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/steady_timer.hpp +37 -0
  557. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/strand.hpp +557 -0
  558. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/stream_file.hpp +35 -0
  559. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/streambuf.hpp +33 -0
  560. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/system_context.hpp +90 -0
  561. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/system_error.hpp +31 -0
  562. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/system_executor.hpp +671 -0
  563. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/system_timer.hpp +37 -0
  564. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/this_coro.hpp +267 -0
  565. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/thread.hpp +92 -0
  566. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/thread_pool.hpp +963 -0
  567. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/time_traits.hpp +86 -0
  568. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  569. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/execute_member.hpp +104 -0
  570. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/prefer_free.hpp +104 -0
  571. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/prefer_member.hpp +104 -0
  572. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/query_free.hpp +104 -0
  573. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/query_member.hpp +104 -0
  574. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +101 -0
  575. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/require_concept_free.hpp +104 -0
  576. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/require_concept_member.hpp +104 -0
  577. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/require_free.hpp +104 -0
  578. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/require_member.hpp +104 -0
  579. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/static_query.hpp +102 -0
  580. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/static_require.hpp +115 -0
  581. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/traits/static_require_concept.hpp +116 -0
  582. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/buffer.hpp +24 -0
  583. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/executor.hpp +35 -0
  584. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/internet.hpp +40 -0
  585. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/io_context.hpp +20 -0
  586. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/net.hpp +26 -0
  587. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/netfwd.hpp +236 -0
  588. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/socket.hpp +27 -0
  589. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/ts/timer.hpp +26 -0
  590. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/unyield.hpp +21 -0
  591. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/use_awaitable.hpp +161 -0
  592. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/use_future.hpp +159 -0
  593. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/uses_executor.hpp +67 -0
  594. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/version.hpp +23 -0
  595. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/wait_traits.hpp +56 -0
  596. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/basic_object_handle.hpp +485 -0
  597. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +455 -0
  598. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/basic_random_access_handle.hpp +567 -0
  599. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/basic_stream_handle.hpp +551 -0
  600. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/object_handle.hpp +38 -0
  601. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/overlapped_handle.hpp +39 -0
  602. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/overlapped_ptr.hpp +145 -0
  603. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/random_access_handle.hpp +37 -0
  604. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/windows/stream_handle.hpp +37 -0
  605. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/writable_pipe.hpp +35 -0
  606. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/write.hpp +1414 -0
  607. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/write_at.hpp +789 -0
  608. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio/yield.hpp +23 -0
  609. data/ext/cache/asio/6a3b5a552ffb18a235024ec851619cfcb1337a98/asio/asio/include/asio.hpp +199 -0
  610. data/ext/cache/extconf_include.rb +3 -3
  611. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +520 -0
  612. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +2598 -0
  613. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +484 -0
  614. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/args.h +228 -0
  615. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/base.h +3061 -0
  616. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/chrono.h +2432 -0
  617. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/color.h +612 -0
  618. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/compile.h +529 -0
  619. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/core.h +5 -0
  620. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/format-inl.h +1904 -0
  621. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/format.h +4419 -0
  622. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/os.h +439 -0
  623. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/ostream.h +211 -0
  624. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/printf.h +656 -0
  625. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/ranges.h +882 -0
  626. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/std.h +699 -0
  627. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt/xchar.h +322 -0
  628. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +135 -0
  629. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +403 -0
  630. data/ext/cache/llhttp/c67596e14f24b689a867a26fa36e02bdba733b9b/llhttp/CMakeLists.txt +117 -0
  631. data/ext/cache/llhttp/c67596e14f24b689a867a26fa36e02bdba733b9b/llhttp/include/llhttp.h +903 -0
  632. data/ext/cache/llhttp/c67596e14f24b689a867a26fa36e02bdba733b9b/llhttp/src/llhttp.c +10168 -0
  633. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/CMakeLists.txt +438 -0
  634. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/cmake/config.h.in +69 -0
  635. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy-internal.h +424 -0
  636. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy-stubs-internal.h +531 -0
  637. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy.cc +2645 -0
  638. data/ext/cache/snappy/585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c/snappy/snappy.h +257 -0
  639. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/CMakeLists.txt +359 -0
  640. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/async_logger-inl.h +86 -0
  641. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/common.h +411 -0
  642. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/circular_q.h +115 -0
  643. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/file_helper-inl.h +152 -0
  644. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/os-inl.h +594 -0
  645. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/periodic_worker.h +58 -0
  646. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/registry-inl.h +261 -0
  647. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/registry.h +129 -0
  648. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/thread_pool-inl.h +132 -0
  649. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/details/thread_pool.h +128 -0
  650. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/fmt.h +30 -0
  651. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/mdc.h +46 -0
  652. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/pattern_formatter-inl.h +1324 -0
  653. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/sinks/qt_sinks.h +304 -0
  654. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/stopwatch.h +66 -0
  655. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/version.h +11 -0
  656. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +46 -0
  657. data/ext/couchbase/CMakeLists.txt +26 -3
  658. data/ext/couchbase/cmake/0001-fix-build-for-mingw-w64-ucrt-x86_64-toolchain.patch +4 -3
  659. data/ext/couchbase/cmake/CompilerWarnings.cmake +1 -0
  660. data/ext/couchbase/cmake/OpenSSL.cmake +15 -8
  661. data/ext/couchbase/cmake/StandardProjectSettings.cmake +1 -1
  662. data/ext/couchbase/cmake/StaticAnalyzers.cmake +28 -6
  663. data/ext/couchbase/cmake/Testing.cmake +27 -5
  664. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +14 -10
  665. data/ext/couchbase/cmake/VersionInfo.cmake +3 -3
  666. data/ext/couchbase/cmake/build_config.hxx.in +1 -0
  667. data/ext/couchbase/core/agent.cxx +148 -121
  668. data/ext/couchbase/core/agent.hxx +39 -36
  669. data/ext/couchbase/core/agent_config.cxx +2 -2
  670. data/ext/couchbase/core/agent_group.cxx +53 -32
  671. data/ext/couchbase/core/agent_group.hxx +8 -7
  672. data/ext/couchbase/core/agent_group_config.cxx +2 -2
  673. data/ext/couchbase/core/analytics_query_options.cxx +6 -0
  674. data/ext/couchbase/core/bucket.cxx +103 -57
  675. data/ext/couchbase/core/bucket.hxx +3 -2
  676. data/ext/couchbase/core/cluster.cxx +457 -48
  677. data/ext/couchbase/core/cluster.hxx +11 -0
  678. data/ext/couchbase/core/cluster_agent.cxx +36 -4
  679. data/ext/couchbase/core/cluster_agent.hxx +15 -1
  680. data/ext/couchbase/core/cluster_agent_config.cxx +2 -2
  681. data/ext/couchbase/core/cluster_options.cxx +5 -4
  682. data/ext/couchbase/core/cluster_options.hxx +3 -0
  683. data/ext/couchbase/core/collections_component.cxx +56 -32
  684. data/ext/couchbase/core/collections_component.hxx +2 -2
  685. data/ext/couchbase/core/columnar/agent.cxx +86 -0
  686. data/ext/couchbase/core/columnar/agent.hxx +56 -0
  687. data/ext/couchbase/core/columnar/agent_config.cxx +47 -0
  688. data/ext/couchbase/core/columnar/agent_config.hxx +57 -0
  689. data/ext/couchbase/core/columnar/background_bootstrap_listener.hxx +42 -0
  690. data/ext/couchbase/core/columnar/backoff_calculator.cxx +62 -0
  691. data/ext/couchbase/core/columnar/backoff_calculator.hxx +34 -0
  692. data/ext/couchbase/core/columnar/bootstrap_notification_subscriber.hxx +32 -0
  693. data/ext/couchbase/core/columnar/error.cxx +50 -0
  694. data/ext/couchbase/core/columnar/error.hxx +52 -0
  695. data/ext/couchbase/core/columnar/error_codes.cxx +68 -0
  696. data/ext/couchbase/core/columnar/error_codes.hxx +47 -0
  697. data/ext/couchbase/core/columnar/query_component.cxx +442 -0
  698. data/ext/couchbase/core/columnar/query_component.hxx +56 -0
  699. data/ext/couchbase/core/columnar/query_options.hxx +64 -0
  700. data/ext/couchbase/core/columnar/query_result.cxx +133 -0
  701. data/ext/couchbase/core/columnar/query_result.hxx +78 -0
  702. data/ext/couchbase/core/columnar/retry_info.hxx +31 -0
  703. data/ext/couchbase/core/columnar/security_options.hxx +34 -0
  704. data/ext/couchbase/core/config_profiles.cxx +6 -3
  705. data/ext/couchbase/core/core_sdk_shim.cxx +3 -1
  706. data/ext/couchbase/core/crud_component.cxx +50 -33
  707. data/ext/couchbase/core/crud_component.hxx +4 -4
  708. data/ext/couchbase/core/diagnostics.hxx +3 -3
  709. data/ext/couchbase/core/dispatcher.cxx +8 -0
  710. data/ext/couchbase/core/document_id.cxx +25 -13
  711. data/ext/couchbase/core/error_context/analytics_json.hxx +2 -2
  712. data/ext/couchbase/core/error_context/http_json.hxx +2 -3
  713. data/ext/couchbase/core/error_context/key_value.cxx +9 -0
  714. data/ext/couchbase/core/error_context/query_json.hxx +2 -2
  715. data/ext/couchbase/core/error_context/query_public_json.hxx +1 -0
  716. data/ext/couchbase/core/error_context/search_json.hxx +2 -2
  717. data/ext/couchbase/core/error_context/subdocument_json.hxx +2 -3
  718. data/ext/couchbase/core/free_form_http_request.cxx +59 -19
  719. data/ext/couchbase/core/free_form_http_request.hxx +32 -17
  720. data/ext/couchbase/core/http_component.cxx +404 -0
  721. data/ext/couchbase/core/http_component.hxx +57 -0
  722. data/ext/couchbase/core/impl/analytics.cxx +19 -10
  723. data/ext/couchbase/core/impl/analytics_error_category.cxx +1 -0
  724. data/ext/couchbase/core/impl/analytics_index_manager.cxx +75 -51
  725. data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +13 -7
  726. data/ext/couchbase/core/impl/binary_collection.cxx +73 -54
  727. data/ext/couchbase/core/impl/boolean_field_query.cxx +3 -1
  728. data/ext/couchbase/core/impl/boolean_query.cxx +4 -2
  729. data/ext/couchbase/core/impl/bootstrap_error.hxx +34 -0
  730. data/ext/couchbase/core/impl/bucket.cxx +11 -1
  731. data/ext/couchbase/core/impl/bucket_manager.cxx +21 -22
  732. data/ext/couchbase/core/impl/cluster.cxx +42 -5
  733. data/ext/couchbase/core/impl/collection.cxx +62 -14
  734. data/ext/couchbase/core/impl/collection_manager.cxx +16 -1
  735. data/ext/couchbase/core/impl/common_error_category.cxx +1 -0
  736. data/ext/couchbase/core/impl/configuration_profiles_registry.cxx +11 -4
  737. data/ext/couchbase/core/impl/conjunction_query.cxx +2 -1
  738. data/ext/couchbase/core/impl/date_range.cxx +7 -0
  739. data/ext/couchbase/core/impl/date_range_facet.cxx +2 -0
  740. data/ext/couchbase/core/impl/date_range_facet_result.cxx +9 -1
  741. data/ext/couchbase/core/impl/date_range_query.cxx +7 -2
  742. data/ext/couchbase/core/impl/diagnostics.cxx +14 -10
  743. data/ext/couchbase/core/impl/disjunction_query.cxx +4 -2
  744. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +22 -8
  745. data/ext/couchbase/core/impl/dns_srv_tracker.hxx +3 -3
  746. data/ext/couchbase/core/impl/doc_id_query.cxx +2 -1
  747. data/ext/couchbase/core/impl/encoded_search_query.hxx +2 -1
  748. data/ext/couchbase/core/impl/error.cxx +20 -5
  749. data/ext/couchbase/core/impl/error_context.cxx +1 -0
  750. data/ext/couchbase/core/impl/expiry.cxx +14 -6
  751. data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +7 -0
  752. data/ext/couchbase/core/impl/field_level_encryption_error_category.cxx +1 -0
  753. data/ext/couchbase/core/impl/geo_bounding_box_query.cxx +1 -0
  754. data/ext/couchbase/core/impl/geo_distance_query.cxx +1 -0
  755. data/ext/couchbase/core/impl/geo_polygon_query.cxx +1 -0
  756. data/ext/couchbase/core/impl/get_replica.cxx +6 -2
  757. data/ext/couchbase/core/impl/get_replica.hxx +1 -1
  758. data/ext/couchbase/core/impl/internal_date_range_facet_result.cxx +11 -1
  759. data/ext/couchbase/core/impl/internal_error_context.cxx +2 -2
  760. data/ext/couchbase/core/impl/internal_error_context.hxx +3 -2
  761. data/ext/couchbase/core/impl/internal_numeric_range_facet_result.cxx +11 -1
  762. data/ext/couchbase/core/impl/internal_scan_result.hxx +6 -0
  763. data/ext/couchbase/core/impl/internal_search_error_context.cxx +11 -0
  764. data/ext/couchbase/core/impl/internal_search_meta_data.cxx +10 -1
  765. data/ext/couchbase/core/impl/internal_search_result.cxx +19 -7
  766. data/ext/couchbase/core/impl/internal_search_row.cxx +6 -0
  767. data/ext/couchbase/core/impl/internal_search_row.hxx +2 -0
  768. data/ext/couchbase/core/impl/internal_term_facet_result.cxx +4 -1
  769. data/ext/couchbase/core/impl/observe_poll.cxx +12 -12
  770. data/ext/couchbase/core/impl/observe_poll.hxx +1 -1
  771. data/ext/couchbase/core/impl/observe_seqno.cxx +1 -1
  772. data/ext/couchbase/core/impl/observe_seqno.hxx +4 -4
  773. data/ext/couchbase/core/impl/query.cxx +22 -18
  774. data/ext/couchbase/core/impl/query_index_manager.cxx +38 -33
  775. data/ext/couchbase/core/impl/replica_utils.cxx +1 -1
  776. data/ext/couchbase/core/impl/scan_result.cxx +1 -1
  777. data/ext/couchbase/core/impl/scope.cxx +8 -6
  778. data/ext/couchbase/core/impl/search.cxx +14 -16
  779. data/ext/couchbase/core/impl/search_meta_data.cxx +7 -0
  780. data/ext/couchbase/core/impl/search_request.cxx +1 -1
  781. data/ext/couchbase/core/impl/search_row.cxx +5 -0
  782. data/ext/couchbase/core/impl/search_row_locations.cxx +6 -0
  783. data/ext/couchbase/core/impl/subdoc/join_values.cxx +2 -2
  784. data/ext/couchbase/core/impl/subdoc/lookup_in_macro.cxx +15 -12
  785. data/ext/couchbase/core/impl/subdoc/lookup_in_specs.cxx +1 -1
  786. data/ext/couchbase/core/impl/subdoc/mutate_in_macro.cxx +3 -3
  787. data/ext/couchbase/core/impl/subdoc/mutate_in_specs.cxx +1 -1
  788. data/ext/couchbase/core/impl/transaction_get_result.cxx +9 -3
  789. data/ext/couchbase/core/impl/vector_query.cxx +1 -1
  790. data/ext/couchbase/core/io/config_tracker.cxx +685 -0
  791. data/ext/couchbase/core/io/config_tracker.hxx +122 -0
  792. data/ext/couchbase/core/io/dns_client.cxx +12 -5
  793. data/ext/couchbase/core/io/dns_config.cxx +5 -3
  794. data/ext/couchbase/core/io/http_command.hxx +67 -10
  795. data/ext/couchbase/core/io/http_message.hxx +4 -1
  796. data/ext/couchbase/core/io/http_session.cxx +792 -0
  797. data/ext/couchbase/core/io/http_session.hxx +82 -547
  798. data/ext/couchbase/core/io/http_session_manager.hxx +385 -19
  799. data/ext/couchbase/core/io/http_streaming_parser.cxx +166 -0
  800. data/ext/couchbase/core/io/http_streaming_parser.hxx +62 -0
  801. data/ext/couchbase/core/io/http_streaming_response.cxx +226 -0
  802. data/ext/couchbase/core/io/http_streaming_response.hxx +73 -0
  803. data/ext/couchbase/core/io/mcbp_message.hxx +1 -1
  804. data/ext/couchbase/core/io/mcbp_parser.cxx +5 -5
  805. data/ext/couchbase/core/io/mcbp_session.cxx +361 -153
  806. data/ext/couchbase/core/io/mcbp_session.hxx +21 -5
  807. data/ext/couchbase/core/io/streams.hxx +31 -25
  808. data/ext/couchbase/core/logger/logger.cxx +28 -18
  809. data/ext/couchbase/core/logger/logger.hxx +1 -1
  810. data/ext/couchbase/core/management/search_index.cxx +6 -7
  811. data/ext/couchbase/core/mcbp/buffer_writer.cxx +1 -1
  812. data/ext/couchbase/core/mcbp/codec.cxx +25 -23
  813. data/ext/couchbase/core/mcbp/codec.hxx +5 -4
  814. data/ext/couchbase/core/mcbp/operation_queue.cxx +12 -10
  815. data/ext/couchbase/core/mcbp/operation_queue.hxx +4 -4
  816. data/ext/couchbase/core/mcbp/packet.cxx +2 -0
  817. data/ext/couchbase/core/mcbp/queue_request.cxx +10 -7
  818. data/ext/couchbase/core/meta/CMakeLists.txt +3 -1
  819. data/ext/couchbase/core/meta/version.cxx +7 -0
  820. data/ext/couchbase/core/metrics/CMakeLists.txt +3 -1
  821. data/ext/couchbase/core/metrics/logging_meter.cxx +2 -2
  822. data/ext/couchbase/core/mozilla_ca_bundle.hxx +2 -1
  823. data/ext/couchbase/core/operations/document_analytics.cxx +3 -1
  824. data/ext/couchbase/core/operations/document_get_projected.cxx +16 -12
  825. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +0 -11
  826. data/ext/couchbase/core/operations/document_query.cxx +12 -3
  827. data/ext/couchbase/core/operations/document_view.cxx +2 -0
  828. data/ext/couchbase/core/operations/http_noop.hxx +1 -1
  829. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +9 -5
  830. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +9 -5
  831. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.cxx +8 -5
  832. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +9 -5
  833. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +9 -5
  834. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +6 -3
  835. data/ext/couchbase/core/operations/management/analytics_index_create.cxx +10 -5
  836. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +9 -5
  837. data/ext/couchbase/core/operations/management/analytics_index_get_all.cxx +8 -5
  838. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +9 -5
  839. data/ext/couchbase/core/operations/management/analytics_link_create.cxx +9 -7
  840. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +9 -5
  841. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +9 -5
  842. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +8 -4
  843. data/ext/couchbase/core/operations/management/analytics_link_replace.cxx +9 -7
  844. data/ext/couchbase/core/operations/management/bucket_create.cxx +7 -3
  845. data/ext/couchbase/core/operations/management/bucket_describe.cxx +16 -13
  846. data/ext/couchbase/core/operations/management/bucket_drop.cxx +6 -5
  847. data/ext/couchbase/core/operations/management/bucket_flush.cxx +6 -5
  848. data/ext/couchbase/core/operations/management/bucket_get.cxx +6 -4
  849. data/ext/couchbase/core/operations/management/bucket_get_all.cxx +7 -3
  850. data/ext/couchbase/core/operations/management/bucket_update.cxx +7 -3
  851. data/ext/couchbase/core/operations/management/change_password.cxx +5 -3
  852. data/ext/couchbase/core/operations/management/cluster_describe.cxx +6 -3
  853. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.cxx +4 -2
  854. data/ext/couchbase/core/operations/management/collection_create.cxx +10 -7
  855. data/ext/couchbase/core/operations/management/collection_drop.cxx +10 -7
  856. data/ext/couchbase/core/operations/management/collection_update.cxx +8 -5
  857. data/ext/couchbase/core/operations/management/collections_manifest_get.cxx +4 -3
  858. data/ext/couchbase/core/operations/management/error_utils.cxx +21 -12
  859. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +5 -3
  860. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +5 -3
  861. data/ext/couchbase/core/operations/management/eventing_get_all_functions.cxx +6 -3
  862. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +5 -3
  863. data/ext/couchbase/core/operations/management/eventing_get_status.cxx +6 -3
  864. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +5 -3
  865. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +5 -3
  866. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +5 -3
  867. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +18 -13
  868. data/ext/couchbase/core/operations/management/freeform.cxx +5 -4
  869. data/ext/couchbase/core/operations/management/freeform.hxx +1 -1
  870. data/ext/couchbase/core/operations/management/group_drop.cxx +5 -4
  871. data/ext/couchbase/core/operations/management/group_get.cxx +6 -4
  872. data/ext/couchbase/core/operations/management/group_get_all.cxx +7 -3
  873. data/ext/couchbase/core/operations/management/group_upsert.cxx +9 -6
  874. data/ext/couchbase/core/operations/management/query_index_build.cxx +8 -5
  875. data/ext/couchbase/core/operations/management/query_index_create.cxx +6 -3
  876. data/ext/couchbase/core/operations/management/query_index_drop.cxx +7 -3
  877. data/ext/couchbase/core/operations/management/query_index_get_all.cxx +14 -7
  878. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.cxx +11 -6
  879. data/ext/couchbase/core/operations/management/role_get_all.cxx +8 -5
  880. data/ext/couchbase/core/operations/management/scope_create.cxx +8 -6
  881. data/ext/couchbase/core/operations/management/scope_drop.cxx +9 -7
  882. data/ext/couchbase/core/operations/management/scope_get_all.cxx +6 -3
  883. data/ext/couchbase/core/operations/management/search_get_stats.cxx +4 -3
  884. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +5 -2
  885. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +5 -3
  886. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +5 -2
  887. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +5 -3
  888. data/ext/couchbase/core/operations/management/search_index_drop.cxx +5 -3
  889. data/ext/couchbase/core/operations/management/search_index_get.cxx +5 -3
  890. data/ext/couchbase/core/operations/management/search_index_get_all.cxx +5 -3
  891. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +7 -2
  892. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +7 -3
  893. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +5 -3
  894. data/ext/couchbase/core/operations/management/user_drop.cxx +5 -4
  895. data/ext/couchbase/core/operations/management/user_get.cxx +7 -4
  896. data/ext/couchbase/core/operations/management/user_get_all.cxx +8 -5
  897. data/ext/couchbase/core/operations/management/user_upsert.cxx +10 -7
  898. data/ext/couchbase/core/operations/management/view_index_drop.cxx +6 -3
  899. data/ext/couchbase/core/operations/management/view_index_get.cxx +6 -3
  900. data/ext/couchbase/core/operations/management/view_index_get_all.cxx +5 -3
  901. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +5 -3
  902. data/ext/couchbase/core/origin.cxx +33 -28
  903. data/ext/couchbase/core/origin.hxx +1 -1
  904. data/ext/couchbase/core/pending_operation_connection_info.hxx +32 -0
  905. data/ext/couchbase/core/platform/base64.cc +6 -3
  906. data/ext/couchbase/core/platform/dirutils.cc +7 -4
  907. data/ext/couchbase/core/platform/random.cc +10 -8
  908. data/ext/couchbase/core/platform/random.h +1 -1
  909. data/ext/couchbase/core/platform/string_hex.cc +7 -2
  910. data/ext/couchbase/core/platform/terminate_handler.cc +2 -1
  911. data/ext/couchbase/core/platform/uuid.cc +8 -3
  912. data/ext/couchbase/core/protocol/client_request.cxx +1 -1
  913. data/ext/couchbase/core/protocol/client_request.hxx +1 -3
  914. data/ext/couchbase/core/protocol/client_response.cxx +1 -0
  915. data/ext/couchbase/core/protocol/cmd_cluster_map_change_notification.cxx +5 -3
  916. data/ext/couchbase/core/protocol/cmd_get_and_lock.hxx +1 -1
  917. data/ext/couchbase/core/protocol/cmd_get_and_touch.hxx +1 -1
  918. data/ext/couchbase/core/protocol/cmd_get_cluster_config.cxx +2 -1
  919. data/ext/couchbase/core/protocol/cmd_get_cluster_config.hxx +2 -2
  920. data/ext/couchbase/core/protocol/cmd_get_collections_manifest.cxx +2 -1
  921. data/ext/couchbase/core/protocol/cmd_get_error_map.cxx +2 -1
  922. data/ext/couchbase/core/protocol/cmd_hello.cxx +5 -5
  923. data/ext/couchbase/core/protocol/cmd_mutate_in.cxx +2 -2
  924. data/ext/couchbase/core/protocol/cmd_observe_seqno.cxx +3 -2
  925. data/ext/couchbase/core/protocol/cmd_observe_seqno.hxx +1 -1
  926. data/ext/couchbase/core/protocol/status.cxx +0 -1
  927. data/ext/couchbase/core/range_scan_load_balancer.cxx +10 -9
  928. data/ext/couchbase/core/range_scan_load_balancer.hxx +3 -4
  929. data/ext/couchbase/core/range_scan_orchestrator.cxx +44 -27
  930. data/ext/couchbase/core/retry_orchestrator.cxx +1 -1
  931. data/ext/couchbase/core/retry_orchestrator.hxx +1 -1
  932. data/ext/couchbase/core/row_streamer.cxx +239 -0
  933. data/ext/couchbase/core/row_streamer.hxx +68 -0
  934. data/ext/couchbase/core/scan_result.cxx +4 -4
  935. data/ext/couchbase/core/scan_result.hxx +1 -1
  936. data/ext/couchbase/core/timeout_defaults.hxx +1 -0
  937. data/ext/couchbase/core/topology/collections_manifest.hxx +3 -3
  938. data/ext/couchbase/core/topology/configuration_json.hxx +2 -2
  939. data/ext/couchbase/core/tracing/CMakeLists.txt +3 -1
  940. data/ext/couchbase/core/transactions/active_transaction_record.cxx +31 -32
  941. data/ext/couchbase/core/transactions/async_attempt_context.hxx +3 -3
  942. data/ext/couchbase/core/transactions/atr_cleanup_entry.cxx +68 -56
  943. data/ext/couchbase/core/transactions/atr_ids.cxx +3 -2
  944. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +498 -395
  945. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +38 -65
  946. data/ext/couchbase/core/transactions/attempt_context_testing_hooks.cxx +3 -0
  947. data/ext/couchbase/core/transactions/binary.cxx +1 -1
  948. data/ext/couchbase/core/transactions/cleanup_testing_hooks.cxx +2 -1
  949. data/ext/couchbase/core/transactions/document_metadata.hxx +4 -4
  950. data/ext/couchbase/core/transactions/exceptions.cxx +11 -12
  951. data/ext/couchbase/core/transactions/forward_compat.cxx +40 -29
  952. data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +12 -11
  953. data/ext/couchbase/core/transactions/internal/doc_record.cxx +7 -7
  954. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +46 -96
  955. data/ext/couchbase/core/transactions/internal/transactions_cleanup.hxx +34 -33
  956. data/ext/couchbase/core/transactions/internal/utils.hxx +3 -2
  957. data/ext/couchbase/core/transactions/result.cxx +1 -1
  958. data/ext/couchbase/core/transactions/staged_mutation.cxx +104 -96
  959. data/ext/couchbase/core/transactions/staged_mutation.hxx +28 -26
  960. data/ext/couchbase/core/transactions/transaction_context.cxx +118 -8
  961. data/ext/couchbase/core/transactions/transaction_get_result.cxx +5 -1
  962. data/ext/couchbase/core/transactions/transaction_get_result.hxx +9 -17
  963. data/ext/couchbase/core/transactions/transaction_keyspace.cxx +1 -1
  964. data/ext/couchbase/core/transactions/transaction_links.cxx +87 -2
  965. data/ext/couchbase/core/transactions/transaction_links.hxx +6 -65
  966. data/ext/couchbase/core/transactions/transaction_options.cxx +3 -2
  967. data/ext/couchbase/core/transactions/transactions.cxx +10 -7
  968. data/ext/couchbase/core/transactions/transactions_cleanup.cxx +59 -68
  969. data/ext/couchbase/core/transactions/transactions_config.cxx +1 -3
  970. data/ext/couchbase/core/transactions/uid_generator.cxx +3 -1
  971. data/ext/couchbase/core/transactions/utils.cxx +14 -14
  972. data/ext/couchbase/core/transactions.hxx +3 -4
  973. data/ext/couchbase/core/utils/connection_string.cxx +14 -2
  974. data/ext/couchbase/core/utils/duration_parser.cxx +11 -9
  975. data/ext/couchbase/core/utils/json.cxx +14 -4
  976. data/ext/couchbase/core/utils/json.hxx +1 -1
  977. data/ext/couchbase/core/utils/json_streaming_lexer.cxx +44 -9
  978. data/ext/couchbase/core/utils/json_streaming_lexer.hxx +4 -0
  979. data/ext/couchbase/core/utils/url_codec.cxx +7 -4
  980. data/ext/couchbase/couchbase/analytics_index_manager.hxx +24 -24
  981. data/ext/couchbase/couchbase/bucket_manager.hxx +1 -0
  982. data/ext/couchbase/couchbase/create_bucket_options.hxx +1 -0
  983. data/ext/couchbase/couchbase/date_range_facet_result.hxx +1 -0
  984. data/ext/couchbase/couchbase/drop_bucket_options.hxx +3 -3
  985. data/ext/couchbase/couchbase/expiry.hxx +2 -2
  986. data/ext/couchbase/couchbase/flush_bucket_options.hxx +2 -4
  987. data/ext/couchbase/couchbase/get_all_buckets_options.hxx +2 -3
  988. data/ext/couchbase/couchbase/get_bucket_options.hxx +2 -3
  989. data/ext/couchbase/couchbase/match_query.hxx +1 -1
  990. data/ext/couchbase/couchbase/query_index_manager.hxx +14 -14
  991. data/ext/couchbase/couchbase/query_result.hxx +0 -3
  992. data/ext/couchbase/couchbase/search_meta_data.hxx +3 -0
  993. data/ext/couchbase/couchbase/search_row.hxx +3 -0
  994. data/ext/couchbase/couchbase/search_row_location.hxx +2 -1
  995. data/ext/couchbase/couchbase/search_row_locations.hxx +4 -0
  996. data/ext/couchbase/couchbase/search_sort_field.hxx +2 -2
  997. data/ext/couchbase/couchbase/subdoc/lookup_in_macro.hxx +1 -1
  998. data/ext/couchbase/couchbase/term_query.hxx +1 -1
  999. data/ext/couchbase/couchbase/transactions/transaction_keyspace.hxx +1 -1
  1000. data/ext/couchbase/couchbase/update_bucket_options.hxx +3 -3
  1001. data/ext/rcb_version.cxx +2 -0
  1002. data/lib/couchbase/version.rb +1 -1
  1003. metadata +828 -904
  1004. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/any_completion_executor.hpp +0 -336
  1005. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/any_completion_handler.hpp +0 -812
  1006. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/any_io_executor.hpp +0 -351
  1007. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/append.hpp +0 -65
  1008. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/as_tuple.hpp +0 -126
  1009. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_allocator.hpp +0 -214
  1010. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_cancellation_slot.hpp +0 -221
  1011. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_executor.hpp +0 -235
  1012. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associated_immediate_executor.hpp +0 -280
  1013. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/associator.hpp +0 -35
  1014. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/async_result.hpp +0 -893
  1015. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/awaitable.hpp +0 -142
  1016. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_datagram_socket.hpp +0 -1362
  1017. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_deadline_timer.hpp +0 -710
  1018. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_file.hpp +0 -824
  1019. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_io_object.hpp +0 -286
  1020. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_random_access_file.hpp +0 -689
  1021. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_raw_socket.hpp +0 -1356
  1022. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_readable_pipe.hpp +0 -626
  1023. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_seq_packet_socket.hpp +0 -823
  1024. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_serial_port.hpp +0 -987
  1025. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_signal_set.hpp +0 -648
  1026. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket.hpp +0 -1936
  1027. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket_acceptor.hpp +0 -2708
  1028. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket_iostream.hpp +0 -331
  1029. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_socket_streambuf.hpp +0 -642
  1030. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_stream_file.hpp +0 -744
  1031. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_stream_socket.hpp +0 -1163
  1032. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_streambuf.hpp +0 -450
  1033. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_streambuf_fwd.hpp +0 -36
  1034. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_waitable_timer.hpp +0 -824
  1035. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/basic_writable_pipe.hpp +0 -622
  1036. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_allocator.hpp +0 -524
  1037. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_cancellation_slot.hpp +0 -536
  1038. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_executor.hpp +0 -576
  1039. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/bind_immediate_executor.hpp +0 -543
  1040. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffer.hpp +0 -2751
  1041. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffer_registration.hpp +0 -318
  1042. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_read_stream.hpp +0 -273
  1043. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_read_stream_fwd.hpp +0 -25
  1044. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_stream.hpp +0 -292
  1045. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_stream_fwd.hpp +0 -25
  1046. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_write_stream.hpp +0 -265
  1047. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffered_write_stream_fwd.hpp +0 -25
  1048. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/buffers_iterator.hpp +0 -521
  1049. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/cancellation_signal.hpp +0 -245
  1050. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/cancellation_state.hpp +0 -235
  1051. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/cancellation_type.hpp +0 -157
  1052. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/co_spawn.hpp +0 -523
  1053. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/completion_condition.hpp +0 -218
  1054. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/compose.hpp +0 -319
  1055. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/connect.hpp +0 -1180
  1056. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/connect_pipe.hpp +0 -83
  1057. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/consign.hpp +0 -75
  1058. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/coroutine.hpp +0 -328
  1059. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/deadline_timer.hpp +0 -38
  1060. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/defer.hpp +0 -218
  1061. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/deferred.hpp +0 -715
  1062. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detached.hpp +0 -105
  1063. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/array.hpp +0 -30
  1064. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/array_fwd.hpp +0 -32
  1065. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/assert.hpp +0 -32
  1066. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/atomic_count.hpp +0 -59
  1067. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/base_from_cancellation_state.hpp +0 -164
  1068. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/base_from_completion_cond.hpp +0 -69
  1069. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/bind_handler.hpp +0 -711
  1070. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/blocking_executor_op.hpp +0 -107
  1071. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/buffer_resize_guard.hpp +0 -66
  1072. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +0 -837
  1073. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/buffered_stream_storage.hpp +0 -126
  1074. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/call_stack.hpp +0 -125
  1075. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/chrono.hpp +0 -45
  1076. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/chrono_time_traits.hpp +0 -190
  1077. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/completion_handler.hpp +0 -88
  1078. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/composed_work.hpp +0 -252
  1079. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/concurrency_hint.hpp +0 -94
  1080. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +0 -120
  1081. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +0 -149
  1082. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/config.hpp +0 -1422
  1083. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/consuming_buffers.hpp +0 -443
  1084. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/cstddef.hpp +0 -27
  1085. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/cstdint.hpp +0 -40
  1086. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/date_time_fwd.hpp +0 -34
  1087. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/deadline_timer_service.hpp +0 -335
  1088. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/dependent_type.hpp +0 -36
  1089. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/descriptor_ops.hpp +0 -179
  1090. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/descriptor_read_op.hpp +0 -188
  1091. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/descriptor_write_op.hpp +0 -187
  1092. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/dev_poll_reactor.hpp +0 -247
  1093. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/epoll_reactor.hpp +0 -295
  1094. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/event.hpp +0 -46
  1095. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +0 -83
  1096. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/exception.hpp +0 -29
  1097. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/executor_function.hpp +0 -152
  1098. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/executor_op.hpp +0 -84
  1099. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/fd_set_adapter.hpp +0 -39
  1100. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/fenced_block.hpp +0 -40
  1101. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/functional.hpp +0 -33
  1102. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/future.hpp +0 -32
  1103. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/global.hpp +0 -50
  1104. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +0 -225
  1105. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_cont_helpers.hpp +0 -45
  1106. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_tracking.hpp +0 -264
  1107. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_type_requirements.hpp +0 -553
  1108. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/handler_work.hpp +0 -511
  1109. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/hash_map.hpp +0 -331
  1110. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +0 -118
  1111. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +0 -970
  1112. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +0 -111
  1113. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +0 -469
  1114. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +0 -109
  1115. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +0 -826
  1116. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +0 -171
  1117. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/handler_tracking.ipp +0 -398
  1118. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_descriptor_service.ipp +0 -205
  1119. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_file_service.ipp +0 -140
  1120. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_service.hpp +0 -112
  1121. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_service.ipp +0 -914
  1122. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/io_uring_socket_service_base.ipp +0 -249
  1123. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +0 -113
  1124. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +0 -608
  1125. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/null_event.ipp +0 -74
  1126. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +0 -129
  1127. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_event.ipp +0 -63
  1128. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_mutex.ipp +0 -46
  1129. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_serial_port_service.ipp +0 -168
  1130. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_thread.ipp +0 -84
  1131. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +0 -46
  1132. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +0 -230
  1133. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +0 -310
  1134. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +0 -158
  1135. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/scheduler.ipp +0 -675
  1136. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/select_reactor.hpp +0 -124
  1137. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/select_reactor.ipp +0 -400
  1138. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/service_registry.hpp +0 -93
  1139. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/service_registry.ipp +0 -197
  1140. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/signal_set_service.ipp +0 -826
  1141. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/socket_ops.ipp +0 -3977
  1142. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +0 -185
  1143. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +0 -346
  1144. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +0 -158
  1145. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_service.hpp +0 -86
  1146. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/strand_service.ipp +0 -202
  1147. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/thread_context.ipp +0 -35
  1148. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/throw_error.ipp +0 -49
  1149. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +0 -97
  1150. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +0 -101
  1151. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_event.ipp +0 -76
  1152. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_file_service.ipp +0 -265
  1153. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +0 -619
  1154. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +0 -119
  1155. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +0 -614
  1156. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +0 -200
  1157. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +0 -821
  1158. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_mutex.ipp +0 -84
  1159. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +0 -452
  1160. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +0 -136
  1161. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_thread.ipp +0 -150
  1162. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +0 -57
  1163. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +0 -626
  1164. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +0 -92
  1165. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +0 -121
  1166. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/impl/winsock_init.ipp +0 -82
  1167. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/initiate_defer.hpp +0 -207
  1168. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/initiate_dispatch.hpp +0 -193
  1169. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/initiate_post.hpp +0 -207
  1170. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_control.hpp +0 -84
  1171. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_object_impl.hpp +0 -177
  1172. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_read_at_op.hpp +0 -195
  1173. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_read_op.hpp +0 -190
  1174. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_service.hpp +0 -687
  1175. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_write_at_op.hpp +0 -189
  1176. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_descriptor_write_op.hpp +0 -185
  1177. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_file_service.hpp +0 -261
  1178. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_null_buffers_op.hpp +0 -114
  1179. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_operation.hpp +0 -84
  1180. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_service.hpp +0 -319
  1181. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_accept_op.hpp +0 -280
  1182. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_connect_op.hpp +0 -140
  1183. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_recv_op.hpp +0 -205
  1184. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_recvfrom_op.hpp +0 -206
  1185. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_recvmsg_op.hpp +0 -192
  1186. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_send_op.hpp +0 -191
  1187. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_sendto_op.hpp +0 -194
  1188. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_service.hpp +0 -629
  1189. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_socket_service_base.hpp +0 -663
  1190. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/io_uring_wait_op.hpp +0 -112
  1191. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/is_buffer_sequence.hpp +0 -296
  1192. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/is_executor.hpp +0 -126
  1193. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +0 -70
  1194. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/kqueue_reactor.hpp +0 -271
  1195. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +0 -59
  1196. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/memory.hpp +0 -126
  1197. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/mutex.hpp +0 -46
  1198. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/non_const_lvalue.hpp +0 -43
  1199. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/noncopyable.hpp +0 -43
  1200. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_event.hpp +0 -106
  1201. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_fenced_block.hpp +0 -47
  1202. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_global.hpp +0 -59
  1203. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_mutex.hpp +0 -60
  1204. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_reactor.hpp +0 -83
  1205. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_signal_blocker.hpp +0 -69
  1206. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_socket_service.hpp +0 -519
  1207. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_static_mutex.hpp +0 -60
  1208. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_thread.hpp +0 -67
  1209. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/null_tss_ptr.hpp +0 -68
  1210. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/object_pool.hpp +0 -171
  1211. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +0 -214
  1212. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/op_queue.hpp +0 -162
  1213. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/operation.hpp +0 -38
  1214. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +0 -89
  1215. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/pop_options.hpp +0 -157
  1216. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_event.hpp +0 -175
  1217. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +0 -118
  1218. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_global.hpp +0 -80
  1219. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_mutex.hpp +0 -76
  1220. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_serial_port_service.hpp +0 -249
  1221. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_signal_blocker.hpp +0 -85
  1222. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_static_mutex.hpp +0 -64
  1223. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_thread.hpp +0 -109
  1224. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/posix_tss_ptr.hpp +0 -79
  1225. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/push_options.hpp +0 -228
  1226. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +0 -566
  1227. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +0 -131
  1228. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +0 -323
  1229. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +0 -162
  1230. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +0 -197
  1231. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +0 -203
  1232. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +0 -184
  1233. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +0 -201
  1234. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +0 -194
  1235. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_service.hpp +0 -633
  1236. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +0 -750
  1237. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactive_wait_op.hpp +0 -131
  1238. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactor.hpp +0 -54
  1239. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactor_op.hpp +0 -71
  1240. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/reactor_op_queue.hpp +0 -212
  1241. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/recycling_allocator.hpp +0 -105
  1242. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/regex_fwd.hpp +0 -35
  1243. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +0 -140
  1244. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolve_op.hpp +0 -45
  1245. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolve_query_op.hpp +0 -150
  1246. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolver_service.hpp +0 -147
  1247. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/resolver_service_base.hpp +0 -158
  1248. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler.hpp +0 -241
  1249. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler_operation.hpp +0 -78
  1250. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler_task.hpp +0 -49
  1251. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scheduler_thread_info.hpp +0 -40
  1252. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scoped_lock.hpp +0 -101
  1253. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/scoped_ptr.hpp +0 -87
  1254. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/select_interrupter.hpp +0 -46
  1255. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/select_reactor.hpp +0 -291
  1256. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/service_registry.hpp +0 -163
  1257. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_blocker.hpp +0 -44
  1258. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_handler.hpp +0 -90
  1259. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_init.hpp +0 -47
  1260. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_op.hpp +0 -53
  1261. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/signal_set_service.hpp +0 -292
  1262. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_holder.hpp +0 -98
  1263. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_ops.hpp +0 -375
  1264. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_option.hpp +0 -316
  1265. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_select_interrupter.hpp +0 -91
  1266. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/socket_types.hpp +0 -427
  1267. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/source_location.hpp +0 -45
  1268. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/static_mutex.hpp +0 -50
  1269. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_event.hpp +0 -183
  1270. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_fenced_block.hpp +0 -57
  1271. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_global.hpp +0 -65
  1272. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_mutex.hpp +0 -68
  1273. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_static_mutex.hpp +0 -76
  1274. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/std_thread.hpp +0 -66
  1275. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/strand_executor_service.hpp +0 -173
  1276. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/strand_service.hpp +0 -144
  1277. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/string_view.hpp +0 -47
  1278. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread.hpp +0 -58
  1279. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread_context.hpp +0 -51
  1280. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread_group.hpp +0 -99
  1281. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/thread_info_base.hpp +0 -250
  1282. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/throw_error.hpp +0 -62
  1283. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/throw_exception.hpp +0 -55
  1284. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue.hpp +0 -389
  1285. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue_base.hpp +0 -68
  1286. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue_ptime.hpp +0 -103
  1287. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_queue_set.hpp +0 -66
  1288. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_scheduler.hpp +0 -37
  1289. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +0 -42
  1290. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/tss_ptr.hpp +0 -69
  1291. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/type_traits.hpp +0 -178
  1292. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/utility.hpp +0 -83
  1293. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wait_handler.hpp +0 -90
  1294. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wait_op.hpp +0 -49
  1295. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_event.hpp +0 -164
  1296. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +0 -149
  1297. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_global.hpp +0 -71
  1298. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_file_service.hpp +0 -287
  1299. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +0 -119
  1300. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +0 -431
  1301. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +0 -114
  1302. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_io_context.hpp +0 -347
  1303. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +0 -129
  1304. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_operation.hpp +0 -96
  1305. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +0 -100
  1306. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +0 -171
  1307. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +0 -233
  1308. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +0 -339
  1309. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +0 -138
  1310. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +0 -126
  1311. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +0 -135
  1312. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +0 -127
  1313. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +0 -120
  1314. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +0 -680
  1315. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +0 -829
  1316. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +0 -34
  1317. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +0 -130
  1318. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_mutex.hpp +0 -78
  1319. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_object_handle_service.hpp +0 -194
  1320. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_static_mutex.hpp +0 -74
  1321. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_thread.hpp +0 -147
  1322. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/win_tss_ptr.hpp +0 -79
  1323. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winapp_thread.hpp +0 -124
  1324. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wince_thread.hpp +0 -124
  1325. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_async_manager.hpp +0 -305
  1326. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_async_op.hpp +0 -65
  1327. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_resolve_op.hpp +0 -125
  1328. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_resolver_service.hpp +0 -212
  1329. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +0 -98
  1330. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +0 -119
  1331. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +0 -110
  1332. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +0 -250
  1333. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +0 -362
  1334. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +0 -147
  1335. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winrt_utils.hpp +0 -106
  1336. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/winsock_init.hpp +0 -128
  1337. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/work_dispatcher.hpp +0 -143
  1338. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/detail/wrapped_handler.hpp +0 -217
  1339. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/dispatch.hpp +0 -197
  1340. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/error.hpp +0 -389
  1341. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/error_code.hpp +0 -39
  1342. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/allocator.hpp +0 -278
  1343. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/any_executor.hpp +0 -1933
  1344. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/bad_executor.hpp +0 -46
  1345. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/blocking.hpp +0 -1360
  1346. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/blocking_adaptation.hpp +0 -1080
  1347. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/context.hpp +0 -191
  1348. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/context_as.hpp +0 -190
  1349. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/executor.hpp +0 -116
  1350. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/impl/bad_executor.ipp +0 -40
  1351. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/invocable_archetype.hpp +0 -43
  1352. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/mapping.hpp +0 -1002
  1353. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/occupancy.hpp +0 -184
  1354. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/outstanding_work.hpp +0 -753
  1355. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/prefer_only.hpp +0 -328
  1356. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution/relationship.hpp +0 -751
  1357. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution.hpp +0 -33
  1358. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/execution_context.hpp +0 -388
  1359. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/executor.hpp +0 -343
  1360. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/executor_work_guard.hpp +0 -362
  1361. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/append.hpp +0 -36
  1362. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/as_single.hpp +0 -132
  1363. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/as_tuple.hpp +0 -36
  1364. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/awaitable_operators.hpp +0 -536
  1365. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/basic_channel.hpp +0 -513
  1366. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/basic_concurrent_channel.hpp +0 -513
  1367. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/cancellation_condition.hpp +0 -152
  1368. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/channel.hpp +0 -70
  1369. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/channel_error.hpp +0 -82
  1370. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/channel_traits.hpp +0 -301
  1371. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/co_composed.hpp +0 -145
  1372. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/concurrent_channel.hpp +0 -70
  1373. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/deferred.hpp +0 -36
  1374. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_handler.hpp +0 -77
  1375. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_message.hpp +0 -129
  1376. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_operation.hpp +0 -361
  1377. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_payload.hpp +0 -222
  1378. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_receive_op.hpp +0 -127
  1379. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_send_functions.hpp +0 -192
  1380. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_send_op.hpp +0 -148
  1381. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/channel_service.hpp +0 -677
  1382. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/has_signature.hpp +0 -54
  1383. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/detail/impl/channel_service.hpp +0 -620
  1384. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/as_single.hpp +0 -176
  1385. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/channel_error.ipp +0 -61
  1386. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/co_composed.hpp +0 -1174
  1387. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/impl/parallel_group.hpp +0 -787
  1388. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/parallel_group.hpp +0 -456
  1389. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/experimental/prepend.hpp +0 -36
  1390. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/file_base.hpp +0 -166
  1391. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/basic_endpoint.hpp +0 -189
  1392. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/datagram_protocol.hpp +0 -123
  1393. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/detail/endpoint.hpp +0 -133
  1394. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +0 -110
  1395. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/raw_protocol.hpp +0 -121
  1396. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/seq_packet_protocol.hpp +0 -122
  1397. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/generic/stream_protocol.hpp +0 -127
  1398. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/handler_continuation_hook.hpp +0 -54
  1399. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/high_resolution_timer.hpp +0 -39
  1400. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/any_completion_executor.ipp +0 -126
  1401. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/any_io_executor.ipp +0 -134
  1402. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/append.hpp +0 -162
  1403. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/as_tuple.hpp +0 -245
  1404. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/awaitable.hpp +0 -1195
  1405. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/buffered_read_stream.hpp +0 -404
  1406. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/buffered_write_stream.hpp +0 -384
  1407. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/cancellation_signal.ipp +0 -96
  1408. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/co_spawn.hpp +0 -440
  1409. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/connect.hpp +0 -809
  1410. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/connect_pipe.hpp +0 -73
  1411. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/connect_pipe.ipp +0 -149
  1412. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/consign.hpp +0 -137
  1413. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/deferred.hpp +0 -147
  1414. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/detached.hpp +0 -77
  1415. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/error.ipp +0 -128
  1416. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/error_code.ipp +0 -206
  1417. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/execution_context.hpp +0 -77
  1418. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/execution_context.ipp +0 -82
  1419. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/executor.hpp +0 -300
  1420. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/executor.ipp +0 -43
  1421. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/io_context.hpp +0 -433
  1422. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/io_context.ipp +0 -176
  1423. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/multiple_exceptions.ipp +0 -45
  1424. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/prepend.hpp +0 -163
  1425. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/read.hpp +0 -1053
  1426. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/read_at.hpp +0 -628
  1427. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/read_until.hpp +0 -2941
  1428. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/redirect_error.hpp +0 -250
  1429. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/serial_port_base.hpp +0 -59
  1430. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/serial_port_base.ipp +0 -554
  1431. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/spawn.hpp +0 -1400
  1432. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/src.hpp +0 -94
  1433. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/system_context.hpp +0 -34
  1434. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/system_context.ipp +0 -92
  1435. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/system_executor.hpp +0 -179
  1436. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/thread_pool.hpp +0 -277
  1437. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/thread_pool.ipp +0 -142
  1438. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/use_awaitable.hpp +0 -301
  1439. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/use_future.hpp +0 -707
  1440. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/write.hpp +0 -939
  1441. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/impl/write_at.hpp +0 -551
  1442. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_context.hpp +0 -1509
  1443. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_context_strand.hpp +0 -385
  1444. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_service.hpp +0 -33
  1445. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/io_service_strand.hpp +0 -20
  1446. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address.hpp +0 -281
  1447. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v4.hpp +0 -421
  1448. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v4_iterator.hpp +0 -156
  1449. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v4_range.hpp +0 -128
  1450. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v6.hpp +0 -407
  1451. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v6_iterator.hpp +0 -178
  1452. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/address_v6_range.hpp +0 -124
  1453. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/bad_address_cast.hpp +0 -63
  1454. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_endpoint.hpp +0 -282
  1455. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver.hpp +0 -1112
  1456. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_entry.hpp +0 -113
  1457. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +0 -188
  1458. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_query.hpp +0 -244
  1459. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/basic_resolver_results.hpp +0 -307
  1460. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/detail/endpoint.hpp +0 -141
  1461. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +0 -195
  1462. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/detail/socket_option.hpp +0 -566
  1463. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/host_name.hpp +0 -42
  1464. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/icmp.hpp +0 -115
  1465. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address.hpp +0 -67
  1466. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address.ipp +0 -235
  1467. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v4.hpp +0 -67
  1468. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v4.ipp +0 -206
  1469. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v6.hpp +0 -67
  1470. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/address_v6.ipp +0 -342
  1471. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +0 -43
  1472. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/host_name.ipp +0 -54
  1473. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v4.hpp +0 -54
  1474. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v4.ipp +0 -218
  1475. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v6.hpp +0 -53
  1476. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/impl/network_v6.ipp +0 -187
  1477. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/multicast.hpp +0 -191
  1478. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/network_v4.hpp +0 -257
  1479. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/network_v6.hpp +0 -231
  1480. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/resolver_base.hpp +0 -129
  1481. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/resolver_query_base.hpp +0 -43
  1482. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/tcp.hpp +0 -155
  1483. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/udp.hpp +0 -111
  1484. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/unicast.hpp +0 -70
  1485. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ip/v6_only.hpp +0 -69
  1486. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_applicable_property.hpp +0 -61
  1487. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_contiguous_iterator.hpp +0 -45
  1488. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_executor.hpp +0 -46
  1489. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_read_buffered.hpp +0 -59
  1490. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/is_write_buffered.hpp +0 -59
  1491. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/basic_endpoint.hpp +0 -243
  1492. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/connect_pair.hpp +0 -101
  1493. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/datagram_protocol.hpp +0 -80
  1494. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/detail/endpoint.hpp +0 -139
  1495. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/detail/impl/endpoint.ipp +0 -131
  1496. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/seq_packet_protocol.hpp +0 -84
  1497. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/local/stream_protocol.hpp +0 -90
  1498. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/multiple_exceptions.hpp +0 -52
  1499. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/packaged_task.hpp +0 -66
  1500. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/placeholders.hpp +0 -75
  1501. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/basic_descriptor.hpp +0 -773
  1502. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +0 -559
  1503. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/descriptor.hpp +0 -37
  1504. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/descriptor_base.hpp +0 -90
  1505. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/posix/stream_descriptor.hpp +0 -37
  1506. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/post.hpp +0 -213
  1507. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/prefer.hpp +0 -577
  1508. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/prepend.hpp +0 -66
  1509. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/query.hpp +0 -311
  1510. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/random_access_file.hpp +0 -35
  1511. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/read.hpp +0 -1448
  1512. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/read_at.hpp +0 -778
  1513. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/read_until.hpp +0 -3124
  1514. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/readable_pipe.hpp +0 -35
  1515. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/recycling_allocator.hpp +0 -138
  1516. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/redirect_error.hpp +0 -64
  1517. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/registered_buffer.hpp +0 -344
  1518. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/require.hpp +0 -433
  1519. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/require_concept.hpp +0 -343
  1520. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/serial_port.hpp +0 -36
  1521. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/serial_port_base.hpp +0 -167
  1522. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/signal_set.hpp +0 -28
  1523. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/signal_set_base.hpp +0 -171
  1524. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/socket_base.hpp +0 -559
  1525. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/spawn.hpp +0 -872
  1526. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/context.hpp +0 -762
  1527. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/context_base.hpp +0 -209
  1528. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +0 -119
  1529. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/engine.hpp +0 -169
  1530. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/handshake_op.hpp +0 -67
  1531. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/impl/engine.ipp +0 -377
  1532. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +0 -169
  1533. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/io.hpp +0 -376
  1534. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/openssl_init.hpp +0 -101
  1535. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/openssl_types.hpp +0 -34
  1536. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/password_callback.hpp +0 -66
  1537. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/read_op.hpp +0 -72
  1538. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +0 -69
  1539. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/stream_core.hpp +0 -217
  1540. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/verify_callback.hpp +0 -62
  1541. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/detail/write_op.hpp +0 -76
  1542. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/error.hpp +0 -123
  1543. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/host_name_verification.hpp +0 -90
  1544. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/context.hpp +0 -67
  1545. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/context.ipp +0 -1319
  1546. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/error.ipp +0 -124
  1547. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +0 -73
  1548. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +0 -164
  1549. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/impl/src.hpp +0 -29
  1550. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/rfc2818_verification.hpp +0 -98
  1551. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/stream.hpp +0 -1038
  1552. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/stream_base.hpp +0 -52
  1553. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/verify_context.hpp +0 -67
  1554. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl/verify_mode.hpp +0 -63
  1555. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ssl.hpp +0 -28
  1556. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/static_thread_pool.hpp +0 -31
  1557. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/steady_timer.hpp +0 -37
  1558. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/strand.hpp +0 -557
  1559. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/stream_file.hpp +0 -35
  1560. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/streambuf.hpp +0 -33
  1561. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_context.hpp +0 -90
  1562. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_error.hpp +0 -31
  1563. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_executor.hpp +0 -671
  1564. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/system_timer.hpp +0 -37
  1565. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/this_coro.hpp +0 -267
  1566. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/thread.hpp +0 -92
  1567. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/thread_pool.hpp +0 -963
  1568. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/time_traits.hpp +0 -86
  1569. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/equality_comparable.hpp +0 -100
  1570. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/execute_member.hpp +0 -104
  1571. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/prefer_free.hpp +0 -104
  1572. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/prefer_member.hpp +0 -104
  1573. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/query_free.hpp +0 -104
  1574. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/query_member.hpp +0 -104
  1575. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +0 -101
  1576. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_concept_free.hpp +0 -104
  1577. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_concept_member.hpp +0 -104
  1578. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_free.hpp +0 -104
  1579. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/require_member.hpp +0 -104
  1580. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/static_query.hpp +0 -102
  1581. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/static_require.hpp +0 -115
  1582. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/traits/static_require_concept.hpp +0 -116
  1583. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/buffer.hpp +0 -24
  1584. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/executor.hpp +0 -35
  1585. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/internet.hpp +0 -40
  1586. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/io_context.hpp +0 -20
  1587. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/net.hpp +0 -26
  1588. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/netfwd.hpp +0 -236
  1589. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/socket.hpp +0 -27
  1590. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/ts/timer.hpp +0 -26
  1591. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/unyield.hpp +0 -21
  1592. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/use_awaitable.hpp +0 -161
  1593. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/use_future.hpp +0 -159
  1594. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/uses_executor.hpp +0 -67
  1595. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/version.hpp +0 -23
  1596. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/wait_traits.hpp +0 -56
  1597. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_object_handle.hpp +0 -485
  1598. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +0 -455
  1599. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_random_access_handle.hpp +0 -567
  1600. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/basic_stream_handle.hpp +0 -551
  1601. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/object_handle.hpp +0 -38
  1602. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/overlapped_handle.hpp +0 -39
  1603. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/overlapped_ptr.hpp +0 -145
  1604. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/random_access_handle.hpp +0 -37
  1605. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/windows/stream_handle.hpp +0 -37
  1606. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/writable_pipe.hpp +0 -35
  1607. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/write.hpp +0 -1414
  1608. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/write_at.hpp +0 -789
  1609. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio/yield.hpp +0 -23
  1610. data/ext/cache/asio/41f31469d0dd420500b334dc8c2fd3ffe7320d8e/asio/asio/include/asio.hpp +0 -199
  1611. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/CMakeLists.txt +0 -338
  1612. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-assertion-result.h +0 -237
  1613. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-death-test.h +0 -345
  1614. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-matchers.h +0 -923
  1615. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-message.h +0 -220
  1616. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-param-test.h +0 -546
  1617. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-printers.h +0 -1139
  1618. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-spi.h +0 -250
  1619. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-test-part.h +0 -192
  1620. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest-typed-test.h +0 -331
  1621. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest.h +0 -2318
  1622. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest_pred_impl.h +0 -279
  1623. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/gtest_prod.h +0 -60
  1624. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/custom/gtest-port.h +0 -37
  1625. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  1626. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/custom/gtest.h +0 -37
  1627. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -307
  1628. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-filepath.h +0 -227
  1629. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-internal.h +0 -1559
  1630. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-param-util.h +0 -1026
  1631. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-port-arch.h +0 -118
  1632. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-port.h +0 -2529
  1633. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-string.h +0 -178
  1634. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/include/gtest/internal/gtest-type-util.h +0 -220
  1635. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/prime_tables.h +0 -125
  1636. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample1.cc +0 -66
  1637. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample1.h +0 -41
  1638. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample10_unittest.cc +0 -138
  1639. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample1_unittest.cc +0 -148
  1640. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample2.cc +0 -54
  1641. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample2.h +0 -79
  1642. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample2_unittest.cc +0 -107
  1643. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample3-inl.h +0 -171
  1644. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample3_unittest.cc +0 -146
  1645. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample4.cc +0 -50
  1646. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample4.h +0 -53
  1647. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample4_unittest.cc +0 -53
  1648. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample5_unittest.cc +0 -189
  1649. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample6_unittest.cc +0 -214
  1650. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample7_unittest.cc +0 -113
  1651. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample8_unittest.cc +0 -154
  1652. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/samples/sample9_unittest.cc +0 -148
  1653. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-all.cc +0 -49
  1654. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-assertion-result.cc +0 -77
  1655. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-death-test.cc +0 -1585
  1656. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-filepath.cc +0 -412
  1657. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-internal-inl.h +0 -1218
  1658. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-matchers.cc +0 -98
  1659. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-port.cc +0 -1392
  1660. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-printers.cc +0 -555
  1661. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-test-part.cc +0 -106
  1662. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest-typed-test.cc +0 -108
  1663. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest.cc +0 -6919
  1664. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/src/gtest_main.cc +0 -65
  1665. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-break-on-failure-unittest_.cc +0 -83
  1666. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-catch-exceptions-test_.cc +0 -289
  1667. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-color-test_.cc +0 -60
  1668. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-death-test-test.cc +0 -1508
  1669. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-death-test_ex_test.cc +0 -91
  1670. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-env-var-test_.cc +0 -130
  1671. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-failfast-unittest_.cc +0 -166
  1672. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-filepath-test.cc +0 -671
  1673. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-filter-unittest_.cc +0 -106
  1674. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-global-environment-unittest_.cc +0 -58
  1675. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-list-tests-unittest_.cc +0 -143
  1676. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-listener-test.cc +0 -509
  1677. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-message-test.cc +0 -161
  1678. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-options-test.cc +0 -222
  1679. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-output-test_.cc +0 -1052
  1680. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-invalid-name1-test_.cc +0 -46
  1681. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-invalid-name2-test_.cc +0 -52
  1682. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-test.cc +0 -1173
  1683. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test-test.h +0 -49
  1684. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-param-test2-test.cc +0 -58
  1685. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-port-test.cc +0 -1301
  1686. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-printers-test.cc +0 -1990
  1687. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-setuptestsuite-test_.cc +0 -44
  1688. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-shuffle-test_.cc +0 -99
  1689. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-test-part-test.cc +0 -220
  1690. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-throw-on-failure-test_.cc +0 -71
  1691. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/googletest-uninitialized-test_.cc +0 -39
  1692. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-typed-test2_test.cc +0 -39
  1693. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-typed-test_test.cc +0 -423
  1694. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-typed-test_test.h +0 -57
  1695. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest-unittest-api_test.cc +0 -328
  1696. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_all_test.cc +0 -46
  1697. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_assert_by_exception_test.cc +0 -112
  1698. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_dirs_test.cc +0 -101
  1699. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_environment_test.cc +0 -179
  1700. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_help_test_.cc +0 -44
  1701. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_list_output_unittest_.cc +0 -77
  1702. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_main_unittest.cc +0 -42
  1703. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_no_test_unittest.cc +0 -54
  1704. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_pred_impl_unittest.cc +0 -2070
  1705. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_premature_exit_test.cc +0 -128
  1706. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_prod_test.cc +0 -56
  1707. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_repeat_test.cc +0 -222
  1708. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_skip_in_environment_setup_test.cc +0 -50
  1709. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_skip_test.cc +0 -51
  1710. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_sole_header_test.cc +0 -54
  1711. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_stress_test.cc +0 -245
  1712. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_test_macro_stack_footprint_test.cc +0 -89
  1713. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_testbridge_test_.cc +0 -42
  1714. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_throw_on_failure_ex_test.cc +0 -90
  1715. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_unittest.cc +0 -7767
  1716. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_xml_outfile1_test_.cc +0 -43
  1717. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_xml_outfile2_test_.cc +0 -77
  1718. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/gtest_xml_output_unittest_.cc +0 -197
  1719. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/production.cc +0 -35
  1720. data/ext/cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/third_party/googletest/test/production.h +0 -55
  1721. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/CMakeLists.txt +0 -453
  1722. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/ChangeLog.md +0 -5533
  1723. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/README.md +0 -490
  1724. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/src/fmt.cc +0 -108
  1725. data/ext/cache/fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/src/os.cc +0 -402
  1726. data/ext/cache/llhttp/b74a6759ffeff2e9b72f62f790afbc73362a526b/llhttp/CMakeLists.txt +0 -117
  1727. data/ext/cache/llhttp/b74a6759ffeff2e9b72f62f790afbc73362a526b/llhttp/include/llhttp.h +0 -903
  1728. data/ext/cache/llhttp/b74a6759ffeff2e9b72f62f790afbc73362a526b/llhttp/src/llhttp.c +0 -10149
  1729. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/CMakeLists.txt +0 -420
  1730. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/cmake/config.h.in +0 -66
  1731. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy-internal.h +0 -395
  1732. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy-stubs-internal.h +0 -525
  1733. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy.cc +0 -2427
  1734. data/ext/cache/snappy/76d5cfe9eb57e13784ae53647f505edbe9341bdf/snappy/snappy.h +0 -222
  1735. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/CMakeLists.txt +0 -359
  1736. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/async_logger-inl.h +0 -84
  1737. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/common.h +0 -411
  1738. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/circular_q.h +0 -113
  1739. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/file_helper-inl.h +0 -152
  1740. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/os-inl.h +0 -585
  1741. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/periodic_worker.h +0 -57
  1742. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/registry-inl.h +0 -265
  1743. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/registry.h +0 -122
  1744. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/thread_pool-inl.h +0 -127
  1745. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/details/thread_pool.h +0 -117
  1746. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/args.h +0 -234
  1747. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2069
  1748. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/color.h +0 -651
  1749. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/compile.h +0 -611
  1750. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/core.h +0 -3323
  1751. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1723
  1752. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/format.h +0 -4217
  1753. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/os.h +0 -478
  1754. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -237
  1755. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/printf.h +0 -640
  1756. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -722
  1757. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/std.h +0 -171
  1758. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -229
  1759. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/fmt/fmt.h +0 -34
  1760. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/pattern_formatter-inl.h +0 -1268
  1761. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/sinks/qt_sinks.h +0 -304
  1762. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/stopwatch.h +0 -62
  1763. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/include/spdlog/version.h +0 -11
  1764. data/ext/cache/spdlog/25435891d500fa18cdfc40bd923333e006159907/spdlog/src/bundled_fmtlib_format.cpp +0 -49
  1765. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/detail/limits.hpp +0 -0
  1766. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/co_spawn.hpp +0 -0
  1767. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/coro.hpp +0 -0
  1768. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/coro_traits.hpp +0 -0
  1769. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/detail/coro_completion_handler.hpp +0 -0
  1770. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/detail/coro_promise_allocator.hpp +0 -0
  1771. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/detail/partial_promise.hpp +0 -0
  1772. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/impl/coro.hpp +0 -0
  1773. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/impl/promise.hpp +0 -0
  1774. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/impl/use_coro.hpp +0 -0
  1775. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/impl/use_promise.hpp +0 -0
  1776. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/promise.hpp +0 -0
  1777. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/use_coro.hpp +0 -0
  1778. /data/ext/cache/asio/{41f31469d0dd420500b334dc8c2fd3ffe7320d8e → 6a3b5a552ffb18a235024ec851619cfcb1337a98}/asio/asio/include/asio/experimental/use_promise.hpp +0 -0
  1779. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/LICENSE +0 -0
  1780. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/src/format.cc +0 -0
  1781. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/FindSetEnv.cmake +0 -0
  1782. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/JoinPaths.cmake +0 -0
  1783. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/fmt-config.cmake.in +0 -0
  1784. /data/ext/cache/fmt/{d3c862243fcf1c41b4c09903f35479bd42f135b7 → 141a17a028e6c29914e109691389f6cf87f9cfe3}/fmt/support/cmake/fmt.pc.in +0 -0
  1785. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/LICENSE-MIT +0 -0
  1786. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/libllhttp.pc.in +0 -0
  1787. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/src/api.c +0 -0
  1788. /data/ext/cache/llhttp/{b74a6759ffeff2e9b72f62f790afbc73362a526b → c67596e14f24b689a867a26fa36e02bdba733b9b}/llhttp/src/http.c +0 -0
  1789. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/COPYING +0 -0
  1790. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/cmake/SnappyConfig.cmake.in +0 -0
  1791. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-c.cc +0 -0
  1792. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-c.h +0 -0
  1793. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-sinksource.cc +0 -0
  1794. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-sinksource.h +0 -0
  1795. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-stubs-internal.cc +0 -0
  1796. /data/ext/cache/snappy/{76d5cfe9eb57e13784ae53647f505edbe9341bdf → 585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c}/snappy/snappy-stubs-public.h.in +0 -0
  1797. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/LICENSE +0 -0
  1798. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/ide.cmake +0 -0
  1799. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/pch.h.in +0 -0
  1800. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/spdlog.pc.in +0 -0
  1801. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/spdlogCPack.cmake +0 -0
  1802. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
  1803. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/utils.cmake +0 -0
  1804. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/cmake/version.rc.in +0 -0
  1805. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/async.h +0 -0
  1806. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/async_logger.h +0 -0
  1807. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/argv.h +0 -0
  1808. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/env.h +0 -0
  1809. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
  1810. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/cfg/helpers.h +0 -0
  1811. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/common-inl.h +0 -0
  1812. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
  1813. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/backtracer.h +0 -0
  1814. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/console_globals.h +0 -0
  1815. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/file_helper.h +0 -0
  1816. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
  1817. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
  1818. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg.h +0 -0
  1819. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
  1820. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
  1821. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/mpmc_blocking_q.h +0 -0
  1822. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/null_mutex.h +0 -0
  1823. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/os.h +0 -0
  1824. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
  1825. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
  1826. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
  1827. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/tcp_client.h +0 -0
  1828. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
  1829. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/udp_client.h +0 -0
  1830. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/details/windows_include.h +0 -0
  1831. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
  1832. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
  1833. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
  1834. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
  1835. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
  1836. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
  1837. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
  1838. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/format-inl.h +0 -0
  1839. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/format.h +0 -0
  1840. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
  1841. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
  1842. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
  1843. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
  1844. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/ranges.h +0 -0
  1845. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
  1846. /data/ext/cache/{fmt/d3c862243fcf1c41b4c09903f35479bd42f135b7/fmt/include/fmt → spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
  1847. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/chrono.h +0 -0
  1848. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/compile.h +0 -0
  1849. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/ostr.h +0 -0
  1850. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/ranges.h +0 -0
  1851. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/std.h +0 -0
  1852. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fmt/xchar.h +0 -0
  1853. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/formatter.h +0 -0
  1854. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/fwd.h +0 -0
  1855. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/logger-inl.h +0 -0
  1856. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/logger.h +0 -0
  1857. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/pattern_formatter.h +0 -0
  1858. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
  1859. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
  1860. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ansicolor_sink.h +0 -0
  1861. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
  1862. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/base_sink.h +0 -0
  1863. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
  1864. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
  1865. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/callback_sink.h +0 -0
  1866. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/daily_file_sink.h +0 -0
  1867. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
  1868. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
  1869. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/hourly_file_sink.h +0 -0
  1870. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
  1871. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
  1872. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/msvc_sink.h +0 -0
  1873. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
  1874. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
  1875. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
  1876. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +0 -0
  1877. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
  1878. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
  1879. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/sink.h +0 -0
  1880. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
  1881. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
  1882. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
  1883. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
  1884. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/syslog_sink.h +0 -0
  1885. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
  1886. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
  1887. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
  1888. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
  1889. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +0 -0
  1890. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
  1891. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/spdlog-inl.h +0 -0
  1892. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/spdlog.h +0 -0
  1893. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/include/spdlog/tweakme.h +0 -0
  1894. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/async.cpp +0 -0
  1895. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/cfg.cpp +0 -0
  1896. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/color_sinks.cpp +0 -0
  1897. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/file_sinks.cpp +0 -0
  1898. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/spdlog.cpp +0 -0
  1899. /data/ext/cache/spdlog/{25435891d500fa18cdfc40bd923333e006159907 → 19df5d3d8e5526c255d27414e09568671ef87483}/spdlog/src/stdout_sinks.cpp +0 -0
@@ -0,0 +1,4035 @@
1
+ //
2
+ // detail/impl/socket_ops.ipp
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_DETAIL_SOCKET_OPS_IPP
12
+ #define ASIO_DETAIL_SOCKET_OPS_IPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include "asio/detail/config.hpp"
19
+
20
+ #include <cctype>
21
+ #include <cstdio>
22
+ #include <cstdlib>
23
+ #include <cstring>
24
+ #include <cerrno>
25
+ #include <new>
26
+ #include "asio/detail/assert.hpp"
27
+ #include "asio/detail/socket_ops.hpp"
28
+ #include "asio/error.hpp"
29
+
30
+ #if defined(ASIO_WINDOWS_RUNTIME)
31
+ # include <codecvt>
32
+ # include <locale>
33
+ # include <string>
34
+ #endif // defined(ASIO_WINDOWS_RUNTIME)
35
+
36
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__) \
37
+ || defined(__MACH__) && defined(__APPLE__)
38
+ # if defined(ASIO_HAS_PTHREADS)
39
+ # include <pthread.h>
40
+ # endif // defined(ASIO_HAS_PTHREADS)
41
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
42
+ // || defined(__MACH__) && defined(__APPLE__)
43
+
44
+ #include "asio/detail/push_options.hpp"
45
+
46
+ namespace asio {
47
+ namespace detail {
48
+ namespace socket_ops {
49
+
50
+ #if !defined(ASIO_WINDOWS_RUNTIME)
51
+
52
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
53
+ struct msghdr { int msg_namelen; };
54
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
55
+
56
+ #if defined(__hpux)
57
+ // HP-UX doesn't declare these functions extern "C", so they are declared again
58
+ // here to avoid linker errors about undefined symbols.
59
+ extern "C" char* if_indextoname(unsigned int, char*);
60
+ extern "C" unsigned int if_nametoindex(const char*);
61
+ #endif // defined(__hpux)
62
+
63
+ #endif // !defined(ASIO_WINDOWS_RUNTIME)
64
+
65
+ inline void clear_last_error()
66
+ {
67
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
68
+ WSASetLastError(0);
69
+ #else
70
+ errno = 0;
71
+ #endif
72
+ }
73
+
74
+ #if !defined(ASIO_WINDOWS_RUNTIME)
75
+
76
+ inline void get_last_error(
77
+ asio::error_code& ec, bool is_error_condition)
78
+ {
79
+ if (!is_error_condition)
80
+ {
81
+ asio::error::clear(ec);
82
+ }
83
+ else
84
+ {
85
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
86
+ ec = asio::error_code(WSAGetLastError(),
87
+ asio::error::get_system_category());
88
+ #else
89
+ ec = asio::error_code(errno,
90
+ asio::error::get_system_category());
91
+ #endif
92
+ }
93
+ }
94
+
95
+ template <typename SockLenType>
96
+ inline socket_type call_accept(SockLenType msghdr::*,
97
+ socket_type s, void* addr, std::size_t* addrlen)
98
+ {
99
+ SockLenType tmp_addrlen = addrlen ? (SockLenType)*addrlen : 0;
100
+ socket_type result = ::accept(s,
101
+ static_cast<socket_addr_type*>(addr),
102
+ addrlen ? &tmp_addrlen : 0);
103
+ if (addrlen)
104
+ *addrlen = (std::size_t)tmp_addrlen;
105
+ return result;
106
+ }
107
+
108
+ socket_type accept(socket_type s, void* addr,
109
+ std::size_t* addrlen, asio::error_code& ec)
110
+ {
111
+ if (s == invalid_socket)
112
+ {
113
+ ec = asio::error::bad_descriptor;
114
+ return invalid_socket;
115
+ }
116
+
117
+ socket_type new_s = call_accept(&msghdr::msg_namelen, s, addr, addrlen);
118
+ get_last_error(ec, new_s == invalid_socket);
119
+ if (new_s == invalid_socket)
120
+ return new_s;
121
+
122
+ #if defined(__MACH__) && defined(__APPLE__) || defined(__FreeBSD__)
123
+ int optval = 1;
124
+ int result = ::setsockopt(new_s, SOL_SOCKET,
125
+ SO_NOSIGPIPE, &optval, sizeof(optval));
126
+ get_last_error(ec, result != 0);
127
+ if (result != 0)
128
+ {
129
+ ::close(new_s);
130
+ return invalid_socket;
131
+ }
132
+ #endif
133
+
134
+ asio::error::clear(ec);
135
+ return new_s;
136
+ }
137
+
138
+ socket_type sync_accept(socket_type s, state_type state,
139
+ void* addr, std::size_t* addrlen, asio::error_code& ec)
140
+ {
141
+ // Accept a socket.
142
+ for (;;)
143
+ {
144
+ // Try to complete the operation without blocking.
145
+ socket_type new_socket = socket_ops::accept(s, addr, addrlen, ec);
146
+
147
+ // Check if operation succeeded.
148
+ if (new_socket != invalid_socket)
149
+ return new_socket;
150
+
151
+ // Operation failed.
152
+ if (ec == asio::error::would_block
153
+ || ec == asio::error::try_again)
154
+ {
155
+ if (state & user_set_non_blocking)
156
+ return invalid_socket;
157
+ // Fall through to retry operation.
158
+ }
159
+ else if (ec == asio::error::connection_aborted)
160
+ {
161
+ if (state & enable_connection_aborted)
162
+ return invalid_socket;
163
+ // Fall through to retry operation.
164
+ }
165
+ #if defined(EPROTO)
166
+ else if (ec.value() == EPROTO)
167
+ {
168
+ if (state & enable_connection_aborted)
169
+ return invalid_socket;
170
+ // Fall through to retry operation.
171
+ }
172
+ #endif // defined(EPROTO)
173
+ else
174
+ return invalid_socket;
175
+
176
+ // Wait for socket to become ready.
177
+ if (socket_ops::poll_read(s, 0, -1, ec) < 0)
178
+ return invalid_socket;
179
+ }
180
+ }
181
+
182
+ #if defined(ASIO_HAS_IOCP)
183
+
184
+ void complete_iocp_accept(socket_type s, void* output_buffer,
185
+ DWORD address_length, void* addr, std::size_t* addrlen,
186
+ socket_type new_socket, asio::error_code& ec)
187
+ {
188
+ // Map non-portable errors to their portable counterparts.
189
+ if (ec.value() == ERROR_NETNAME_DELETED)
190
+ ec = asio::error::connection_aborted;
191
+
192
+ if (!ec)
193
+ {
194
+ // Get the address of the peer.
195
+ if (addr && addrlen)
196
+ {
197
+ LPSOCKADDR local_addr = 0;
198
+ int local_addr_length = 0;
199
+ LPSOCKADDR remote_addr = 0;
200
+ int remote_addr_length = 0;
201
+ GetAcceptExSockaddrs(output_buffer, 0, address_length,
202
+ address_length, &local_addr, &local_addr_length,
203
+ &remote_addr, &remote_addr_length);
204
+ if (static_cast<std::size_t>(remote_addr_length) > *addrlen)
205
+ {
206
+ ec = asio::error::invalid_argument;
207
+ }
208
+ else
209
+ {
210
+ using namespace std; // For memcpy.
211
+ memcpy(addr, remote_addr, remote_addr_length);
212
+ *addrlen = static_cast<std::size_t>(remote_addr_length);
213
+ }
214
+ }
215
+
216
+ // Need to set the SO_UPDATE_ACCEPT_CONTEXT option so that getsockname
217
+ // and getpeername will work on the accepted socket.
218
+ SOCKET update_ctx_param = s;
219
+ socket_ops::state_type state = 0;
220
+ socket_ops::setsockopt(new_socket, state,
221
+ SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT,
222
+ &update_ctx_param, sizeof(SOCKET), ec);
223
+ }
224
+ }
225
+
226
+ #else // defined(ASIO_HAS_IOCP)
227
+
228
+ bool non_blocking_accept(socket_type s,
229
+ state_type state, void* addr, std::size_t* addrlen,
230
+ asio::error_code& ec, socket_type& new_socket)
231
+ {
232
+ for (;;)
233
+ {
234
+ // Accept the waiting connection.
235
+ new_socket = socket_ops::accept(s, addr, addrlen, ec);
236
+
237
+ // Check if operation succeeded.
238
+ if (new_socket != invalid_socket)
239
+ return true;
240
+
241
+ // Retry operation if interrupted by signal.
242
+ if (ec == asio::error::interrupted)
243
+ continue;
244
+
245
+ // Operation failed.
246
+ if (ec == asio::error::would_block
247
+ || ec == asio::error::try_again)
248
+ {
249
+ // Fall through to retry operation.
250
+ }
251
+ else if (ec == asio::error::connection_aborted)
252
+ {
253
+ if (state & enable_connection_aborted)
254
+ return true;
255
+ // Fall through to retry operation.
256
+ }
257
+ #if defined(EPROTO)
258
+ else if (ec.value() == EPROTO)
259
+ {
260
+ if (state & enable_connection_aborted)
261
+ return true;
262
+ // Fall through to retry operation.
263
+ }
264
+ #endif // defined(EPROTO)
265
+ else
266
+ return true;
267
+
268
+ return false;
269
+ }
270
+ }
271
+
272
+ #endif // defined(ASIO_HAS_IOCP)
273
+
274
+ template <typename SockLenType>
275
+ inline int call_bind(SockLenType msghdr::*,
276
+ socket_type s, const void* addr, std::size_t addrlen)
277
+ {
278
+ return ::bind(s, static_cast<const socket_addr_type*>(addr),
279
+ (SockLenType)addrlen);
280
+ }
281
+
282
+ int bind(socket_type s, const void* addr,
283
+ std::size_t addrlen, asio::error_code& ec)
284
+ {
285
+ if (s == invalid_socket)
286
+ {
287
+ ec = asio::error::bad_descriptor;
288
+ return socket_error_retval;
289
+ }
290
+
291
+ int result = call_bind(&msghdr::msg_namelen, s, addr, addrlen);
292
+ get_last_error(ec, result != 0);
293
+ return result;
294
+ }
295
+
296
+ int close(socket_type s, state_type& state,
297
+ bool destruction, asio::error_code& ec)
298
+ {
299
+ int result = 0;
300
+ if (s != invalid_socket)
301
+ {
302
+ // We don't want the destructor to block, so set the socket to linger in
303
+ // the background. If the user doesn't like this behaviour then they need
304
+ // to explicitly close the socket.
305
+ if (destruction && (state & user_set_linger))
306
+ {
307
+ ::linger opt;
308
+ opt.l_onoff = 0;
309
+ opt.l_linger = 0;
310
+ asio::error_code ignored_ec;
311
+ socket_ops::setsockopt(s, state, SOL_SOCKET,
312
+ SO_LINGER, &opt, sizeof(opt), ignored_ec);
313
+ }
314
+
315
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
316
+ result = ::closesocket(s);
317
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
318
+ result = ::close(s);
319
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
320
+ get_last_error(ec, result != 0);
321
+
322
+ if (result != 0
323
+ && (ec == asio::error::would_block
324
+ || ec == asio::error::try_again))
325
+ {
326
+ // According to UNIX Network Programming Vol. 1, it is possible for
327
+ // close() to fail with EWOULDBLOCK under certain circumstances. What
328
+ // isn't clear is the state of the descriptor after this error. The one
329
+ // current OS where this behaviour is seen, Windows, says that the socket
330
+ // remains open. Therefore we'll put the descriptor back into blocking
331
+ // mode and have another attempt at closing it.
332
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
333
+ ioctl_arg_type arg = 0;
334
+ ::ioctlsocket(s, FIONBIO, &arg);
335
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
336
+ # if defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
337
+ int flags = ::fcntl(s, F_GETFL, 0);
338
+ if (flags >= 0)
339
+ ::fcntl(s, F_SETFL, flags & ~O_NONBLOCK);
340
+ # else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
341
+ ioctl_arg_type arg = 0;
342
+ # if defined(ENOTTY) || defined(ENOTCAPABLE)
343
+ result = ::ioctl(s, FIONBIO, &arg);
344
+ get_last_error(ec, result < 0);
345
+ if (false
346
+ # if defined(ENOTTY)
347
+ || ec.value() == ENOTTY
348
+ # endif // defined(ENOTTY)
349
+ # if defined(ENOTCAPABLE)
350
+ || ec.value() == ENOTCAPABLE
351
+ # endif // defined(ENOTCAPABLE)
352
+ )
353
+ {
354
+ int flags = ::fcntl(s, F_GETFL, 0);
355
+ if (flags >= 0)
356
+ ::fcntl(s, F_SETFL, flags & ~O_NONBLOCK);
357
+ }
358
+ # else // defined(ENOTTY) || defined(ENOTCAPABLE)
359
+ ::ioctl(s, FIONBIO, &arg);
360
+ # endif // defined(ENOTTY) || defined(ENOTCAPABLE)
361
+ # endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
362
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
363
+ state &= ~non_blocking;
364
+
365
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
366
+ result = ::closesocket(s);
367
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
368
+ result = ::close(s);
369
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
370
+ get_last_error(ec, result != 0);
371
+ }
372
+ }
373
+
374
+ return result;
375
+ }
376
+
377
+ bool set_user_non_blocking(socket_type s,
378
+ state_type& state, bool value, asio::error_code& ec)
379
+ {
380
+ if (s == invalid_socket)
381
+ {
382
+ ec = asio::error::bad_descriptor;
383
+ return false;
384
+ }
385
+
386
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
387
+ ioctl_arg_type arg = (value ? 1 : 0);
388
+ int result = ::ioctlsocket(s, FIONBIO, &arg);
389
+ get_last_error(ec, result < 0);
390
+ #elif defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
391
+ int result = ::fcntl(s, F_GETFL, 0);
392
+ get_last_error(ec, result < 0);
393
+ if (result >= 0)
394
+ {
395
+ int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
396
+ result = ::fcntl(s, F_SETFL, flag);
397
+ get_last_error(ec, result < 0);
398
+ }
399
+ #else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
400
+ ioctl_arg_type arg = (value ? 1 : 0);
401
+ int result = ::ioctl(s, FIONBIO, &arg);
402
+ get_last_error(ec, result < 0);
403
+ # if defined(ENOTTY) || defined(ENOTCAPABLE)
404
+ if (false
405
+ # if defined(ENOTTY)
406
+ || ec.value() == ENOTTY
407
+ # endif // defined(ENOTTY)
408
+ # if defined(ENOTCAPABLE)
409
+ || ec.value() == ENOTCAPABLE
410
+ # endif // defined(ENOTCAPABLE)
411
+ )
412
+ {
413
+ result = ::fcntl(s, F_GETFL, 0);
414
+ get_last_error(ec, result < 0);
415
+ if (result >= 0)
416
+ {
417
+ int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
418
+ result = ::fcntl(s, F_SETFL, flag);
419
+ get_last_error(ec, result < 0);
420
+ }
421
+ }
422
+ # endif // defined(ENOTTY) || defined(ENOTCAPABLE)
423
+ #endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
424
+
425
+ if (result >= 0)
426
+ {
427
+ if (value)
428
+ state |= user_set_non_blocking;
429
+ else
430
+ {
431
+ // Clearing the user-set non-blocking mode always overrides any
432
+ // internally-set non-blocking flag. Any subsequent asynchronous
433
+ // operations will need to re-enable non-blocking I/O.
434
+ state &= ~(user_set_non_blocking | internal_non_blocking);
435
+ }
436
+ return true;
437
+ }
438
+
439
+ return false;
440
+ }
441
+
442
+ bool set_internal_non_blocking(socket_type s,
443
+ state_type& state, bool value, asio::error_code& ec)
444
+ {
445
+ if (s == invalid_socket)
446
+ {
447
+ ec = asio::error::bad_descriptor;
448
+ return false;
449
+ }
450
+
451
+ if (!value && (state & user_set_non_blocking))
452
+ {
453
+ // It does not make sense to clear the internal non-blocking flag if the
454
+ // user still wants non-blocking behaviour. Return an error and let the
455
+ // caller figure out whether to update the user-set non-blocking flag.
456
+ ec = asio::error::invalid_argument;
457
+ return false;
458
+ }
459
+
460
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
461
+ ioctl_arg_type arg = (value ? 1 : 0);
462
+ int result = ::ioctlsocket(s, FIONBIO, &arg);
463
+ get_last_error(ec, result < 0);
464
+ #elif defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
465
+ int result = ::fcntl(s, F_GETFL, 0);
466
+ get_last_error(ec, result < 0);
467
+ if (result >= 0)
468
+ {
469
+ int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
470
+ result = ::fcntl(s, F_SETFL, flag);
471
+ get_last_error(ec, result < 0);
472
+ }
473
+ #else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
474
+ ioctl_arg_type arg = (value ? 1 : 0);
475
+ int result = ::ioctl(s, FIONBIO, &arg);
476
+ get_last_error(ec, result < 0);
477
+ # if defined(ENOTTY) || defined(ENOTCAPABLE)
478
+ if (false
479
+ # if defined(ENOTTY)
480
+ || ec.value() == ENOTTY
481
+ # endif // defined(ENOTTY)
482
+ # if defined(ENOTCAPABLE)
483
+ || ec.value() == ENOTCAPABLE
484
+ # endif // defined(ENOTCAPABLE)
485
+ )
486
+ {
487
+ result = ::fcntl(s, F_GETFL, 0);
488
+ get_last_error(ec, result < 0);
489
+ if (result >= 0)
490
+ {
491
+ int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
492
+ result = ::fcntl(s, F_SETFL, flag);
493
+ get_last_error(ec, result < 0);
494
+ }
495
+ }
496
+ # endif // defined(ENOTTY) || defined(ENOTCAPABLE)
497
+ #endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
498
+
499
+ if (result >= 0)
500
+ {
501
+ if (value)
502
+ state |= internal_non_blocking;
503
+ else
504
+ state &= ~internal_non_blocking;
505
+ return true;
506
+ }
507
+
508
+ return false;
509
+ }
510
+
511
+ int shutdown(socket_type s, int what, asio::error_code& ec)
512
+ {
513
+ if (s == invalid_socket)
514
+ {
515
+ ec = asio::error::bad_descriptor;
516
+ return socket_error_retval;
517
+ }
518
+
519
+ int result = ::shutdown(s, what);
520
+ get_last_error(ec, result != 0);
521
+ return result;
522
+ }
523
+
524
+ template <typename SockLenType>
525
+ inline int call_connect(SockLenType msghdr::*,
526
+ socket_type s, const void* addr, std::size_t addrlen)
527
+ {
528
+ return ::connect(s, static_cast<const socket_addr_type*>(addr),
529
+ (SockLenType)addrlen);
530
+ }
531
+
532
+ int connect(socket_type s, const void* addr,
533
+ std::size_t addrlen, asio::error_code& ec)
534
+ {
535
+ if (s == invalid_socket)
536
+ {
537
+ ec = asio::error::bad_descriptor;
538
+ return socket_error_retval;
539
+ }
540
+
541
+ int result = call_connect(&msghdr::msg_namelen, s, addr, addrlen);
542
+ get_last_error(ec, result != 0);
543
+ #if defined(__linux__)
544
+ if (result != 0 && ec == asio::error::try_again)
545
+ {
546
+ if (static_cast<const socket_addr_type*>(addr)->sa_family == AF_UNIX)
547
+ ec = asio::error::in_progress;
548
+ else
549
+ ec = asio::error::no_buffer_space;
550
+ }
551
+ #endif // defined(__linux__)
552
+ return result;
553
+ }
554
+
555
+ void sync_connect(socket_type s, const void* addr,
556
+ std::size_t addrlen, asio::error_code& ec)
557
+ {
558
+ // Perform the connect operation.
559
+ socket_ops::connect(s, addr, addrlen, ec);
560
+ if (ec != asio::error::in_progress
561
+ && ec != asio::error::would_block)
562
+ {
563
+ // The connect operation finished immediately.
564
+ return;
565
+ }
566
+
567
+ // Wait for socket to become ready.
568
+ if (socket_ops::poll_connect(s, -1, ec) < 0)
569
+ return;
570
+
571
+ // Get the error code from the connect operation.
572
+ int connect_error = 0;
573
+ size_t connect_error_len = sizeof(connect_error);
574
+ if (socket_ops::getsockopt(s, 0, SOL_SOCKET, SO_ERROR,
575
+ &connect_error, &connect_error_len, ec) == socket_error_retval)
576
+ return;
577
+
578
+ // Return the result of the connect operation.
579
+ ec = asio::error_code(connect_error,
580
+ asio::error::get_system_category());
581
+ }
582
+
583
+ #if defined(ASIO_HAS_IOCP)
584
+
585
+ void complete_iocp_connect(socket_type s, asio::error_code& ec)
586
+ {
587
+ // Map non-portable errors to their portable counterparts.
588
+ switch (ec.value())
589
+ {
590
+ case ERROR_CONNECTION_REFUSED:
591
+ ec = asio::error::connection_refused;
592
+ break;
593
+ case ERROR_NETWORK_UNREACHABLE:
594
+ ec = asio::error::network_unreachable;
595
+ break;
596
+ case ERROR_HOST_UNREACHABLE:
597
+ ec = asio::error::host_unreachable;
598
+ break;
599
+ case ERROR_SEM_TIMEOUT:
600
+ ec = asio::error::timed_out;
601
+ break;
602
+ default:
603
+ break;
604
+ }
605
+
606
+ if (!ec)
607
+ {
608
+ // Need to set the SO_UPDATE_CONNECT_CONTEXT option so that getsockname
609
+ // and getpeername will work on the connected socket.
610
+ socket_ops::state_type state = 0;
611
+ const int so_update_connect_context = 0x7010;
612
+ socket_ops::setsockopt(s, state, SOL_SOCKET,
613
+ so_update_connect_context, 0, 0, ec);
614
+ }
615
+ }
616
+
617
+ #endif // defined(ASIO_HAS_IOCP)
618
+
619
+ bool non_blocking_connect(socket_type s, asio::error_code& ec)
620
+ {
621
+ // Check if the connect operation has finished. This is required since we may
622
+ // get spurious readiness notifications from the reactor.
623
+ #if defined(ASIO_WINDOWS) \
624
+ || defined(__CYGWIN__) \
625
+ || defined(__SYMBIAN32__)
626
+ fd_set write_fds;
627
+ FD_ZERO(&write_fds);
628
+ FD_SET(s, &write_fds);
629
+ fd_set except_fds;
630
+ FD_ZERO(&except_fds);
631
+ FD_SET(s, &except_fds);
632
+ timeval zero_timeout;
633
+ zero_timeout.tv_sec = 0;
634
+ zero_timeout.tv_usec = 0;
635
+ int ready = ::select(s + 1, 0, &write_fds, &except_fds, &zero_timeout);
636
+ #else // defined(ASIO_WINDOWS)
637
+ // || defined(__CYGWIN__)
638
+ // || defined(__SYMBIAN32__)
639
+ pollfd fds;
640
+ fds.fd = s;
641
+ fds.events = POLLOUT;
642
+ fds.revents = 0;
643
+ int ready = ::poll(&fds, 1, 0);
644
+ #endif // defined(ASIO_WINDOWS)
645
+ // || defined(__CYGWIN__)
646
+ // || defined(__SYMBIAN32__)
647
+ if (ready == 0)
648
+ {
649
+ // The asynchronous connect operation is still in progress.
650
+ return false;
651
+ }
652
+
653
+ // Get the error code from the connect operation.
654
+ int connect_error = 0;
655
+ size_t connect_error_len = sizeof(connect_error);
656
+ if (socket_ops::getsockopt(s, 0, SOL_SOCKET, SO_ERROR,
657
+ &connect_error, &connect_error_len, ec) == 0)
658
+ {
659
+ if (connect_error)
660
+ {
661
+ ec = asio::error_code(connect_error,
662
+ asio::error::get_system_category());
663
+ }
664
+ else
665
+ asio::error::clear(ec);
666
+ }
667
+
668
+ return true;
669
+ }
670
+
671
+ int socketpair(int af, int type, int protocol,
672
+ socket_type sv[2], asio::error_code& ec)
673
+ {
674
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
675
+ (void)(af);
676
+ (void)(type);
677
+ (void)(protocol);
678
+ (void)(sv);
679
+ ec = asio::error::operation_not_supported;
680
+ return socket_error_retval;
681
+ #else
682
+ int result = ::socketpair(af, type, protocol, sv);
683
+ get_last_error(ec, result != 0);
684
+ return result;
685
+ #endif
686
+ }
687
+
688
+ bool sockatmark(socket_type s, asio::error_code& ec)
689
+ {
690
+ if (s == invalid_socket)
691
+ {
692
+ ec = asio::error::bad_descriptor;
693
+ return false;
694
+ }
695
+
696
+ #if defined(SIOCATMARK)
697
+ ioctl_arg_type value = 0;
698
+ # if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
699
+ int result = ::ioctlsocket(s, SIOCATMARK, &value);
700
+ # else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
701
+ int result = ::ioctl(s, SIOCATMARK, &value);
702
+ # endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
703
+ get_last_error(ec, result < 0);
704
+ # if defined(ENOTTY)
705
+ if (ec.value() == ENOTTY)
706
+ ec = asio::error::not_socket;
707
+ # endif // defined(ENOTTY)
708
+ #else // defined(SIOCATMARK)
709
+ int value = ::sockatmark(s);
710
+ get_last_error(ec, value < 0);
711
+ #endif // defined(SIOCATMARK)
712
+
713
+ return ec ? false : value != 0;
714
+ }
715
+
716
+ size_t available(socket_type s, asio::error_code& ec)
717
+ {
718
+ if (s == invalid_socket)
719
+ {
720
+ ec = asio::error::bad_descriptor;
721
+ return 0;
722
+ }
723
+
724
+ ioctl_arg_type value = 0;
725
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
726
+ int result = ::ioctlsocket(s, FIONREAD, &value);
727
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
728
+ int result = ::ioctl(s, FIONREAD, &value);
729
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
730
+ get_last_error(ec, result < 0);
731
+ #if defined(ENOTTY)
732
+ if (ec.value() == ENOTTY)
733
+ ec = asio::error::not_socket;
734
+ #endif // defined(ENOTTY)
735
+
736
+ return ec ? static_cast<size_t>(0) : static_cast<size_t>(value);
737
+ }
738
+
739
+ int listen(socket_type s, int backlog, asio::error_code& ec)
740
+ {
741
+ if (s == invalid_socket)
742
+ {
743
+ ec = asio::error::bad_descriptor;
744
+ return socket_error_retval;
745
+ }
746
+
747
+ int result = ::listen(s, backlog);
748
+ get_last_error(ec, result != 0);
749
+ return result;
750
+ }
751
+
752
+ inline void init_buf_iov_base(void*& base, void* addr)
753
+ {
754
+ base = addr;
755
+ }
756
+
757
+ template <typename T>
758
+ inline void init_buf_iov_base(T& base, void* addr)
759
+ {
760
+ base = static_cast<T>(addr);
761
+ }
762
+
763
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
764
+ typedef WSABUF buf;
765
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
766
+ typedef iovec buf;
767
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
768
+
769
+ void init_buf(buf& b, void* data, size_t size)
770
+ {
771
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
772
+ b.buf = static_cast<char*>(data);
773
+ b.len = static_cast<u_long>(size);
774
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
775
+ init_buf_iov_base(b.iov_base, data);
776
+ b.iov_len = size;
777
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
778
+ }
779
+
780
+ void init_buf(buf& b, const void* data, size_t size)
781
+ {
782
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
783
+ b.buf = static_cast<char*>(const_cast<void*>(data));
784
+ b.len = static_cast<u_long>(size);
785
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
786
+ init_buf_iov_base(b.iov_base, const_cast<void*>(data));
787
+ b.iov_len = size;
788
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
789
+ }
790
+
791
+ inline void init_msghdr_msg_name(void*& name, void* addr)
792
+ {
793
+ name = static_cast<socket_addr_type*>(addr);
794
+ }
795
+
796
+ inline void init_msghdr_msg_name(void*& name, const socket_addr_type* addr)
797
+ {
798
+ name = const_cast<socket_addr_type*>(addr);
799
+ }
800
+
801
+ template <typename T>
802
+ inline void init_msghdr_msg_name(T& name, void* addr)
803
+ {
804
+ name = static_cast<T>(addr);
805
+ }
806
+
807
+ template <typename T>
808
+ inline void init_msghdr_msg_name(T& name, const void* addr)
809
+ {
810
+ name = static_cast<T>(const_cast<void*>(addr));
811
+ }
812
+
813
+ signed_size_type recv(socket_type s, buf* bufs, size_t count,
814
+ int flags, asio::error_code& ec)
815
+ {
816
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
817
+ // Receive some data.
818
+ DWORD recv_buf_count = static_cast<DWORD>(count);
819
+ DWORD bytes_transferred = 0;
820
+ DWORD recv_flags = flags;
821
+ int result = ::WSARecv(s, bufs, recv_buf_count,
822
+ &bytes_transferred, &recv_flags, 0, 0);
823
+ get_last_error(ec, true);
824
+ if (ec.value() == ERROR_NETNAME_DELETED)
825
+ ec = asio::error::connection_reset;
826
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
827
+ ec = asio::error::connection_refused;
828
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
829
+ result = 0;
830
+ if (result != 0)
831
+ return socket_error_retval;
832
+ asio::error::clear(ec);
833
+ return bytes_transferred;
834
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
835
+ msghdr msg = msghdr();
836
+ msg.msg_iov = bufs;
837
+ msg.msg_iovlen = static_cast<int>(count);
838
+ signed_size_type result = ::recvmsg(s, &msg, flags);
839
+ get_last_error(ec, result < 0);
840
+ return result;
841
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
842
+ }
843
+
844
+ signed_size_type recv1(socket_type s, void* data, size_t size,
845
+ int flags, asio::error_code& ec)
846
+ {
847
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
848
+ // Receive some data.
849
+ WSABUF buf;
850
+ buf.buf = const_cast<char*>(static_cast<const char*>(data));
851
+ buf.len = static_cast<ULONG>(size);
852
+ DWORD bytes_transferred = 0;
853
+ DWORD recv_flags = flags;
854
+ int result = ::WSARecv(s, &buf, 1,
855
+ &bytes_transferred, &recv_flags, 0, 0);
856
+ get_last_error(ec, true);
857
+ if (ec.value() == ERROR_NETNAME_DELETED)
858
+ ec = asio::error::connection_reset;
859
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
860
+ ec = asio::error::connection_refused;
861
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
862
+ result = 0;
863
+ if (result != 0)
864
+ return socket_error_retval;
865
+ asio::error::clear(ec);
866
+ return bytes_transferred;
867
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
868
+ signed_size_type result = ::recv(s, static_cast<char*>(data), size, flags);
869
+ get_last_error(ec, result < 0);
870
+ return result;
871
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
872
+ }
873
+
874
+ size_t sync_recv(socket_type s, state_type state, buf* bufs,
875
+ size_t count, int flags, bool all_empty, asio::error_code& ec)
876
+ {
877
+ if (s == invalid_socket)
878
+ {
879
+ ec = asio::error::bad_descriptor;
880
+ return 0;
881
+ }
882
+
883
+ // A request to read 0 bytes on a stream is a no-op.
884
+ if (all_empty && (state & stream_oriented))
885
+ {
886
+ asio::error::clear(ec);
887
+ return 0;
888
+ }
889
+
890
+ // Read some data.
891
+ for (;;)
892
+ {
893
+ // Try to complete the operation without blocking.
894
+ signed_size_type bytes = socket_ops::recv(s, bufs, count, flags, ec);
895
+
896
+ // Check for EOF.
897
+ if ((state & stream_oriented) && bytes == 0)
898
+ {
899
+ ec = asio::error::eof;
900
+ return 0;
901
+ }
902
+
903
+ // Check if operation succeeded.
904
+ if (bytes >= 0)
905
+ return bytes;
906
+
907
+ // Operation failed.
908
+ if ((state & user_set_non_blocking)
909
+ || (ec != asio::error::would_block
910
+ && ec != asio::error::try_again))
911
+ return 0;
912
+
913
+ // Wait for socket to become ready.
914
+ if (socket_ops::poll_read(s, 0, -1, ec) < 0)
915
+ return 0;
916
+ }
917
+ }
918
+
919
+ size_t sync_recv1(socket_type s, state_type state, void* data,
920
+ size_t size, int flags, asio::error_code& ec)
921
+ {
922
+ if (s == invalid_socket)
923
+ {
924
+ ec = asio::error::bad_descriptor;
925
+ return 0;
926
+ }
927
+
928
+ // A request to read 0 bytes on a stream is a no-op.
929
+ if (size == 0 && (state & stream_oriented))
930
+ {
931
+ asio::error::clear(ec);
932
+ return 0;
933
+ }
934
+
935
+ // Read some data.
936
+ for (;;)
937
+ {
938
+ // Try to complete the operation without blocking.
939
+ signed_size_type bytes = socket_ops::recv1(s, data, size, flags, ec);
940
+
941
+ // Check for EOF.
942
+ if ((state & stream_oriented) && bytes == 0)
943
+ {
944
+ ec = asio::error::eof;
945
+ return 0;
946
+ }
947
+
948
+ // Check if operation succeeded.
949
+ if (bytes >= 0)
950
+ return bytes;
951
+
952
+ // Operation failed.
953
+ if ((state & user_set_non_blocking)
954
+ || (ec != asio::error::would_block
955
+ && ec != asio::error::try_again))
956
+ return 0;
957
+
958
+ // Wait for socket to become ready.
959
+ if (socket_ops::poll_read(s, 0, -1, ec) < 0)
960
+ return 0;
961
+ }
962
+ }
963
+
964
+ #if defined(ASIO_HAS_IOCP)
965
+
966
+ void complete_iocp_recv(state_type state,
967
+ const weak_cancel_token_type& cancel_token, bool all_empty,
968
+ asio::error_code& ec, size_t bytes_transferred)
969
+ {
970
+ // Map non-portable errors to their portable counterparts.
971
+ if (ec.value() == ERROR_NETNAME_DELETED)
972
+ {
973
+ if (cancel_token.expired())
974
+ ec = asio::error::operation_aborted;
975
+ else
976
+ ec = asio::error::connection_reset;
977
+ }
978
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
979
+ {
980
+ ec = asio::error::connection_refused;
981
+ }
982
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
983
+ {
984
+ asio::error::clear(ec);
985
+ }
986
+
987
+ // Check for connection closed.
988
+ else if (!ec && bytes_transferred == 0
989
+ && (state & stream_oriented) != 0
990
+ && !all_empty)
991
+ {
992
+ ec = asio::error::eof;
993
+ }
994
+ }
995
+
996
+ #else // defined(ASIO_HAS_IOCP)
997
+
998
+ bool non_blocking_recv(socket_type s,
999
+ buf* bufs, size_t count, int flags, bool is_stream,
1000
+ asio::error_code& ec, size_t& bytes_transferred)
1001
+ {
1002
+ for (;;)
1003
+ {
1004
+ // Read some data.
1005
+ signed_size_type bytes = socket_ops::recv(s, bufs, count, flags, ec);
1006
+
1007
+ // Check for end of stream.
1008
+ if (is_stream && bytes == 0)
1009
+ {
1010
+ ec = asio::error::eof;
1011
+ return true;
1012
+ }
1013
+
1014
+ // Check if operation succeeded.
1015
+ if (bytes >= 0)
1016
+ {
1017
+ bytes_transferred = bytes;
1018
+ return true;
1019
+ }
1020
+
1021
+ // Retry operation if interrupted by signal.
1022
+ if (ec == asio::error::interrupted)
1023
+ continue;
1024
+
1025
+ // Check if we need to run the operation again.
1026
+ if (ec == asio::error::would_block
1027
+ || ec == asio::error::try_again)
1028
+ return false;
1029
+
1030
+ // Operation failed.
1031
+ bytes_transferred = 0;
1032
+ return true;
1033
+ }
1034
+ }
1035
+
1036
+ bool non_blocking_recv1(socket_type s,
1037
+ void* data, size_t size, int flags, bool is_stream,
1038
+ asio::error_code& ec, size_t& bytes_transferred)
1039
+ {
1040
+ for (;;)
1041
+ {
1042
+ // Read some data.
1043
+ signed_size_type bytes = socket_ops::recv1(s, data, size, flags, ec);
1044
+
1045
+ // Check for end of stream.
1046
+ if (is_stream && bytes == 0)
1047
+ {
1048
+ ec = asio::error::eof;
1049
+ return true;
1050
+ }
1051
+
1052
+ // Check if operation succeeded.
1053
+ if (bytes >= 0)
1054
+ {
1055
+ bytes_transferred = bytes;
1056
+ return true;
1057
+ }
1058
+
1059
+ // Retry operation if interrupted by signal.
1060
+ if (ec == asio::error::interrupted)
1061
+ continue;
1062
+
1063
+ // Check if we need to run the operation again.
1064
+ if (ec == asio::error::would_block
1065
+ || ec == asio::error::try_again)
1066
+ return false;
1067
+
1068
+ // Operation failed.
1069
+ bytes_transferred = 0;
1070
+ return true;
1071
+ }
1072
+ }
1073
+
1074
+ #endif // defined(ASIO_HAS_IOCP)
1075
+
1076
+ signed_size_type recvfrom(socket_type s, buf* bufs, size_t count,
1077
+ int flags, void* addr, std::size_t* addrlen, asio::error_code& ec)
1078
+ {
1079
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1080
+ // Receive some data.
1081
+ DWORD recv_buf_count = static_cast<DWORD>(count);
1082
+ DWORD bytes_transferred = 0;
1083
+ DWORD recv_flags = flags;
1084
+ int tmp_addrlen = (int)*addrlen;
1085
+ int result = ::WSARecvFrom(s, bufs, recv_buf_count, &bytes_transferred,
1086
+ &recv_flags, static_cast<socket_addr_type*>(addr), &tmp_addrlen, 0, 0);
1087
+ get_last_error(ec, true);
1088
+ *addrlen = (std::size_t)tmp_addrlen;
1089
+ if (ec.value() == ERROR_NETNAME_DELETED)
1090
+ ec = asio::error::connection_reset;
1091
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1092
+ ec = asio::error::connection_refused;
1093
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
1094
+ result = 0;
1095
+ if (result != 0)
1096
+ return socket_error_retval;
1097
+ asio::error::clear(ec);
1098
+ return bytes_transferred;
1099
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1100
+ msghdr msg = msghdr();
1101
+ init_msghdr_msg_name(msg.msg_name, addr);
1102
+ msg.msg_namelen = static_cast<int>(*addrlen);
1103
+ msg.msg_iov = bufs;
1104
+ msg.msg_iovlen = static_cast<int>(count);
1105
+ signed_size_type result = ::recvmsg(s, &msg, flags);
1106
+ get_last_error(ec, result < 0);
1107
+ *addrlen = msg.msg_namelen;
1108
+ return result;
1109
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1110
+ }
1111
+
1112
+ template <typename SockLenType>
1113
+ inline signed_size_type call_recvfrom(SockLenType msghdr::*, socket_type s,
1114
+ void* data, size_t size, int flags, void* addr, std::size_t* addrlen)
1115
+ {
1116
+ SockLenType tmp_addrlen = addrlen ? (SockLenType)*addrlen : 0;
1117
+ signed_size_type result = ::recvfrom(s, static_cast<char*>(data), size,
1118
+ flags, static_cast<socket_addr_type*>(addr), addrlen ? &tmp_addrlen : 0);
1119
+ if (addrlen)
1120
+ *addrlen = (std::size_t)tmp_addrlen;
1121
+ return result;
1122
+ }
1123
+
1124
+ signed_size_type recvfrom1(socket_type s, void* data, size_t size,
1125
+ int flags, void* addr, std::size_t* addrlen, asio::error_code& ec)
1126
+ {
1127
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1128
+ // Receive some data.
1129
+ WSABUF buf;
1130
+ buf.buf = static_cast<char*>(data);
1131
+ buf.len = static_cast<ULONG>(size);
1132
+ DWORD bytes_transferred = 0;
1133
+ DWORD recv_flags = flags;
1134
+ int tmp_addrlen = (int)*addrlen;
1135
+ int result = ::WSARecvFrom(s, &buf, 1, &bytes_transferred, &recv_flags,
1136
+ static_cast<socket_addr_type*>(addr), &tmp_addrlen, 0, 0);
1137
+ get_last_error(ec, true);
1138
+ *addrlen = (std::size_t)tmp_addrlen;
1139
+ if (ec.value() == ERROR_NETNAME_DELETED)
1140
+ ec = asio::error::connection_reset;
1141
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1142
+ ec = asio::error::connection_refused;
1143
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
1144
+ result = 0;
1145
+ if (result != 0)
1146
+ return socket_error_retval;
1147
+ asio::error::clear(ec);
1148
+ return bytes_transferred;
1149
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1150
+ signed_size_type result = call_recvfrom(&msghdr::msg_namelen,
1151
+ s, data, size, flags, addr, addrlen);
1152
+ get_last_error(ec, result < 0);
1153
+ return result;
1154
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1155
+ }
1156
+
1157
+ size_t sync_recvfrom(socket_type s, state_type state, buf* bufs, size_t count,
1158
+ int flags, void* addr, std::size_t* addrlen, asio::error_code& ec)
1159
+ {
1160
+ if (s == invalid_socket)
1161
+ {
1162
+ ec = asio::error::bad_descriptor;
1163
+ return 0;
1164
+ }
1165
+
1166
+ // Read some data.
1167
+ for (;;)
1168
+ {
1169
+ // Try to complete the operation without blocking.
1170
+ signed_size_type bytes = socket_ops::recvfrom(
1171
+ s, bufs, count, flags, addr, addrlen, ec);
1172
+
1173
+ // Check if operation succeeded.
1174
+ if (bytes >= 0)
1175
+ return bytes;
1176
+
1177
+ // Operation failed.
1178
+ if ((state & user_set_non_blocking)
1179
+ || (ec != asio::error::would_block
1180
+ && ec != asio::error::try_again))
1181
+ return 0;
1182
+
1183
+ // Wait for socket to become ready.
1184
+ if (socket_ops::poll_read(s, 0, -1, ec) < 0)
1185
+ return 0;
1186
+ }
1187
+ }
1188
+
1189
+ size_t sync_recvfrom1(socket_type s, state_type state, void* data, size_t size,
1190
+ int flags, void* addr, std::size_t* addrlen, asio::error_code& ec)
1191
+ {
1192
+ if (s == invalid_socket)
1193
+ {
1194
+ ec = asio::error::bad_descriptor;
1195
+ return 0;
1196
+ }
1197
+
1198
+ // Read some data.
1199
+ for (;;)
1200
+ {
1201
+ // Try to complete the operation without blocking.
1202
+ signed_size_type bytes = socket_ops::recvfrom1(
1203
+ s, data, size, flags, addr, addrlen, ec);
1204
+
1205
+ // Check if operation succeeded.
1206
+ if (bytes >= 0)
1207
+ return bytes;
1208
+
1209
+ // Operation failed.
1210
+ if ((state & user_set_non_blocking)
1211
+ || (ec != asio::error::would_block
1212
+ && ec != asio::error::try_again))
1213
+ return 0;
1214
+
1215
+ // Wait for socket to become ready.
1216
+ if (socket_ops::poll_read(s, 0, -1, ec) < 0)
1217
+ return 0;
1218
+ }
1219
+ }
1220
+
1221
+ #if defined(ASIO_HAS_IOCP)
1222
+
1223
+ void complete_iocp_recvfrom(
1224
+ const weak_cancel_token_type& cancel_token,
1225
+ asio::error_code& ec)
1226
+ {
1227
+ // Map non-portable errors to their portable counterparts.
1228
+ if (ec.value() == ERROR_NETNAME_DELETED)
1229
+ {
1230
+ if (cancel_token.expired())
1231
+ ec = asio::error::operation_aborted;
1232
+ else
1233
+ ec = asio::error::connection_reset;
1234
+ }
1235
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1236
+ {
1237
+ ec = asio::error::connection_refused;
1238
+ }
1239
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
1240
+ {
1241
+ asio::error::clear(ec);
1242
+ }
1243
+ }
1244
+
1245
+ #else // defined(ASIO_HAS_IOCP)
1246
+
1247
+ bool non_blocking_recvfrom(socket_type s, buf* bufs,
1248
+ size_t count, int flags, void* addr, std::size_t* addrlen,
1249
+ asio::error_code& ec, size_t& bytes_transferred)
1250
+ {
1251
+ for (;;)
1252
+ {
1253
+ // Read some data.
1254
+ signed_size_type bytes = socket_ops::recvfrom(
1255
+ s, bufs, count, flags, addr, addrlen, ec);
1256
+
1257
+ // Check if operation succeeded.
1258
+ if (bytes >= 0)
1259
+ {
1260
+ bytes_transferred = bytes;
1261
+ return true;
1262
+ }
1263
+
1264
+ // Retry operation if interrupted by signal.
1265
+ if (ec == asio::error::interrupted)
1266
+ continue;
1267
+
1268
+ // Check if we need to run the operation again.
1269
+ if (ec == asio::error::would_block
1270
+ || ec == asio::error::try_again)
1271
+ return false;
1272
+
1273
+ // Operation failed.
1274
+ bytes_transferred = 0;
1275
+ return true;
1276
+ }
1277
+ }
1278
+
1279
+ bool non_blocking_recvfrom1(socket_type s, void* data,
1280
+ size_t size, int flags, void* addr, std::size_t* addrlen,
1281
+ asio::error_code& ec, size_t& bytes_transferred)
1282
+ {
1283
+ for (;;)
1284
+ {
1285
+ // Read some data.
1286
+ signed_size_type bytes = socket_ops::recvfrom1(
1287
+ s, data, size, flags, addr, addrlen, ec);
1288
+
1289
+ // Check if operation succeeded.
1290
+ if (bytes >= 0)
1291
+ {
1292
+ bytes_transferred = bytes;
1293
+ return true;
1294
+ }
1295
+
1296
+ // Retry operation if interrupted by signal.
1297
+ if (ec == asio::error::interrupted)
1298
+ continue;
1299
+
1300
+ // Check if we need to run the operation again.
1301
+ if (ec == asio::error::would_block
1302
+ || ec == asio::error::try_again)
1303
+ return false;
1304
+
1305
+ // Operation failed.
1306
+ bytes_transferred = 0;
1307
+ return true;
1308
+ }
1309
+ }
1310
+
1311
+ #endif // defined(ASIO_HAS_IOCP)
1312
+
1313
+ signed_size_type recvmsg(socket_type s, buf* bufs, size_t count,
1314
+ int in_flags, int& out_flags, asio::error_code& ec)
1315
+ {
1316
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1317
+ out_flags = 0;
1318
+ return socket_ops::recv(s, bufs, count, in_flags, ec);
1319
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1320
+ msghdr msg = msghdr();
1321
+ msg.msg_iov = bufs;
1322
+ msg.msg_iovlen = static_cast<int>(count);
1323
+ signed_size_type result = ::recvmsg(s, &msg, in_flags);
1324
+ get_last_error(ec, result < 0);
1325
+ if (result >= 0)
1326
+ out_flags = msg.msg_flags;
1327
+ else
1328
+ out_flags = 0;
1329
+ return result;
1330
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1331
+ }
1332
+
1333
+ size_t sync_recvmsg(socket_type s, state_type state,
1334
+ buf* bufs, size_t count, int in_flags, int& out_flags,
1335
+ asio::error_code& ec)
1336
+ {
1337
+ if (s == invalid_socket)
1338
+ {
1339
+ ec = asio::error::bad_descriptor;
1340
+ return 0;
1341
+ }
1342
+
1343
+ // Read some data.
1344
+ for (;;)
1345
+ {
1346
+ // Try to complete the operation without blocking.
1347
+ signed_size_type bytes = socket_ops::recvmsg(
1348
+ s, bufs, count, in_flags, out_flags, ec);
1349
+
1350
+ // Check if operation succeeded.
1351
+ if (bytes >= 0)
1352
+ return bytes;
1353
+
1354
+ // Operation failed.
1355
+ if ((state & user_set_non_blocking)
1356
+ || (ec != asio::error::would_block
1357
+ && ec != asio::error::try_again))
1358
+ return 0;
1359
+
1360
+ // Wait for socket to become ready.
1361
+ if (socket_ops::poll_read(s, 0, -1, ec) < 0)
1362
+ return 0;
1363
+ }
1364
+ }
1365
+
1366
+ #if defined(ASIO_HAS_IOCP)
1367
+
1368
+ void complete_iocp_recvmsg(
1369
+ const weak_cancel_token_type& cancel_token,
1370
+ asio::error_code& ec)
1371
+ {
1372
+ // Map non-portable errors to their portable counterparts.
1373
+ if (ec.value() == ERROR_NETNAME_DELETED)
1374
+ {
1375
+ if (cancel_token.expired())
1376
+ ec = asio::error::operation_aborted;
1377
+ else
1378
+ ec = asio::error::connection_reset;
1379
+ }
1380
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1381
+ {
1382
+ ec = asio::error::connection_refused;
1383
+ }
1384
+ else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
1385
+ {
1386
+ asio::error::clear(ec);
1387
+ }
1388
+ }
1389
+
1390
+ #else // defined(ASIO_HAS_IOCP)
1391
+
1392
+ bool non_blocking_recvmsg(socket_type s,
1393
+ buf* bufs, size_t count, int in_flags, int& out_flags,
1394
+ asio::error_code& ec, size_t& bytes_transferred)
1395
+ {
1396
+ for (;;)
1397
+ {
1398
+ // Read some data.
1399
+ signed_size_type bytes = socket_ops::recvmsg(
1400
+ s, bufs, count, in_flags, out_flags, ec);
1401
+
1402
+ // Check if operation succeeded.
1403
+ if (bytes >= 0)
1404
+ {
1405
+ bytes_transferred = bytes;
1406
+ return true;
1407
+ }
1408
+
1409
+ // Retry operation if interrupted by signal.
1410
+ if (ec == asio::error::interrupted)
1411
+ continue;
1412
+
1413
+ // Check if we need to run the operation again.
1414
+ if (ec == asio::error::would_block
1415
+ || ec == asio::error::try_again)
1416
+ return false;
1417
+
1418
+ // Operation failed.
1419
+ bytes_transferred = 0;
1420
+ return true;
1421
+ }
1422
+ }
1423
+
1424
+ #endif // defined(ASIO_HAS_IOCP)
1425
+
1426
+ signed_size_type send(socket_type s, const buf* bufs, size_t count,
1427
+ int flags, asio::error_code& ec)
1428
+ {
1429
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1430
+ // Send the data.
1431
+ DWORD send_buf_count = static_cast<DWORD>(count);
1432
+ DWORD bytes_transferred = 0;
1433
+ DWORD send_flags = flags;
1434
+ int result = ::WSASend(s, const_cast<buf*>(bufs),
1435
+ send_buf_count, &bytes_transferred, send_flags, 0, 0);
1436
+ get_last_error(ec, true);
1437
+ if (ec.value() == ERROR_NETNAME_DELETED)
1438
+ ec = asio::error::connection_reset;
1439
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1440
+ ec = asio::error::connection_refused;
1441
+ if (result != 0)
1442
+ return socket_error_retval;
1443
+ asio::error::clear(ec);
1444
+ return bytes_transferred;
1445
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1446
+ msghdr msg = msghdr();
1447
+ msg.msg_iov = const_cast<buf*>(bufs);
1448
+ msg.msg_iovlen = static_cast<int>(count);
1449
+ #if defined(ASIO_HAS_MSG_NOSIGNAL)
1450
+ flags |= MSG_NOSIGNAL;
1451
+ #endif // defined(ASIO_HAS_MSG_NOSIGNAL)
1452
+ signed_size_type result = ::sendmsg(s, &msg, flags);
1453
+ get_last_error(ec, result < 0);
1454
+ return result;
1455
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1456
+ }
1457
+
1458
+ signed_size_type send1(socket_type s, const void* data, size_t size,
1459
+ int flags, asio::error_code& ec)
1460
+ {
1461
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1462
+ // Send the data.
1463
+ WSABUF buf;
1464
+ buf.buf = const_cast<char*>(static_cast<const char*>(data));
1465
+ buf.len = static_cast<ULONG>(size);
1466
+ DWORD bytes_transferred = 0;
1467
+ DWORD send_flags = flags;
1468
+ int result = ::WSASend(s, &buf, 1,
1469
+ &bytes_transferred, send_flags, 0, 0);
1470
+ get_last_error(ec, true);
1471
+ if (ec.value() == ERROR_NETNAME_DELETED)
1472
+ ec = asio::error::connection_reset;
1473
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1474
+ ec = asio::error::connection_refused;
1475
+ if (result != 0)
1476
+ return socket_error_retval;
1477
+ asio::error::clear(ec);
1478
+ return bytes_transferred;
1479
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1480
+ #if defined(ASIO_HAS_MSG_NOSIGNAL)
1481
+ flags |= MSG_NOSIGNAL;
1482
+ #endif // defined(ASIO_HAS_MSG_NOSIGNAL)
1483
+ signed_size_type result = ::send(s,
1484
+ static_cast<const char*>(data), size, flags);
1485
+ get_last_error(ec, result < 0);
1486
+ return result;
1487
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1488
+ }
1489
+
1490
+ size_t sync_send(socket_type s, state_type state, const buf* bufs,
1491
+ size_t count, int flags, bool all_empty, asio::error_code& ec)
1492
+ {
1493
+ if (s == invalid_socket)
1494
+ {
1495
+ ec = asio::error::bad_descriptor;
1496
+ return 0;
1497
+ }
1498
+
1499
+ // A request to write 0 bytes to a stream is a no-op.
1500
+ if (all_empty && (state & stream_oriented))
1501
+ {
1502
+ asio::error::clear(ec);
1503
+ return 0;
1504
+ }
1505
+
1506
+ // Read some data.
1507
+ for (;;)
1508
+ {
1509
+ // Try to complete the operation without blocking.
1510
+ signed_size_type bytes = socket_ops::send(s, bufs, count, flags, ec);
1511
+
1512
+ // Check if operation succeeded.
1513
+ if (bytes >= 0)
1514
+ return bytes;
1515
+
1516
+ // Operation failed.
1517
+ if ((state & user_set_non_blocking)
1518
+ || (ec != asio::error::would_block
1519
+ && ec != asio::error::try_again))
1520
+ return 0;
1521
+
1522
+ // Wait for socket to become ready.
1523
+ if (socket_ops::poll_write(s, 0, -1, ec) < 0)
1524
+ return 0;
1525
+ }
1526
+ }
1527
+
1528
+ size_t sync_send1(socket_type s, state_type state, const void* data,
1529
+ size_t size, int flags, asio::error_code& ec)
1530
+ {
1531
+ if (s == invalid_socket)
1532
+ {
1533
+ ec = asio::error::bad_descriptor;
1534
+ return 0;
1535
+ }
1536
+
1537
+ // A request to write 0 bytes to a stream is a no-op.
1538
+ if (size == 0 && (state & stream_oriented))
1539
+ {
1540
+ asio::error::clear(ec);
1541
+ return 0;
1542
+ }
1543
+
1544
+ // Read some data.
1545
+ for (;;)
1546
+ {
1547
+ // Try to complete the operation without blocking.
1548
+ signed_size_type bytes = socket_ops::send1(s, data, size, flags, ec);
1549
+
1550
+ // Check if operation succeeded.
1551
+ if (bytes >= 0)
1552
+ return bytes;
1553
+
1554
+ // Operation failed.
1555
+ if ((state & user_set_non_blocking)
1556
+ || (ec != asio::error::would_block
1557
+ && ec != asio::error::try_again))
1558
+ return 0;
1559
+
1560
+ // Wait for socket to become ready.
1561
+ if (socket_ops::poll_write(s, 0, -1, ec) < 0)
1562
+ return 0;
1563
+ }
1564
+ }
1565
+
1566
+ #if defined(ASIO_HAS_IOCP)
1567
+
1568
+ void complete_iocp_send(
1569
+ const weak_cancel_token_type& cancel_token,
1570
+ asio::error_code& ec)
1571
+ {
1572
+ // Map non-portable errors to their portable counterparts.
1573
+ if (ec.value() == ERROR_NETNAME_DELETED)
1574
+ {
1575
+ if (cancel_token.expired())
1576
+ ec = asio::error::operation_aborted;
1577
+ else
1578
+ ec = asio::error::connection_reset;
1579
+ }
1580
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1581
+ {
1582
+ ec = asio::error::connection_refused;
1583
+ }
1584
+ }
1585
+
1586
+ #else // defined(ASIO_HAS_IOCP)
1587
+
1588
+ bool non_blocking_send(socket_type s,
1589
+ const buf* bufs, size_t count, int flags,
1590
+ asio::error_code& ec, size_t& bytes_transferred)
1591
+ {
1592
+ for (;;)
1593
+ {
1594
+ // Write some data.
1595
+ signed_size_type bytes = socket_ops::send(s, bufs, count, flags, ec);
1596
+
1597
+ // Check if operation succeeded.
1598
+ if (bytes >= 0)
1599
+ {
1600
+ bytes_transferred = bytes;
1601
+ return true;
1602
+ }
1603
+
1604
+ // Retry operation if interrupted by signal.
1605
+ if (ec == asio::error::interrupted)
1606
+ continue;
1607
+
1608
+ // Check if we need to run the operation again.
1609
+ if (ec == asio::error::would_block
1610
+ || ec == asio::error::try_again)
1611
+ return false;
1612
+
1613
+ // Operation failed.
1614
+ bytes_transferred = 0;
1615
+ return true;
1616
+ }
1617
+ }
1618
+
1619
+ bool non_blocking_send1(socket_type s,
1620
+ const void* data, size_t size, int flags,
1621
+ asio::error_code& ec, size_t& bytes_transferred)
1622
+ {
1623
+ for (;;)
1624
+ {
1625
+ // Write some data.
1626
+ signed_size_type bytes = socket_ops::send1(s, data, size, flags, ec);
1627
+
1628
+ // Check if operation succeeded.
1629
+ if (bytes >= 0)
1630
+ {
1631
+ bytes_transferred = bytes;
1632
+ return true;
1633
+ }
1634
+
1635
+ // Retry operation if interrupted by signal.
1636
+ if (ec == asio::error::interrupted)
1637
+ continue;
1638
+
1639
+ // Check if we need to run the operation again.
1640
+ if (ec == asio::error::would_block
1641
+ || ec == asio::error::try_again)
1642
+ return false;
1643
+
1644
+ // Operation failed.
1645
+ bytes_transferred = 0;
1646
+ return true;
1647
+ }
1648
+ }
1649
+
1650
+ #endif // defined(ASIO_HAS_IOCP)
1651
+
1652
+ signed_size_type sendto(socket_type s, const buf* bufs,
1653
+ size_t count, int flags, const void* addr,
1654
+ std::size_t addrlen, asio::error_code& ec)
1655
+ {
1656
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1657
+ // Send the data.
1658
+ DWORD send_buf_count = static_cast<DWORD>(count);
1659
+ DWORD bytes_transferred = 0;
1660
+ int result = ::WSASendTo(s, const_cast<buf*>(bufs),
1661
+ send_buf_count, &bytes_transferred, flags,
1662
+ static_cast<const socket_addr_type*>(addr),
1663
+ static_cast<int>(addrlen), 0, 0);
1664
+ get_last_error(ec, true);
1665
+ if (ec.value() == ERROR_NETNAME_DELETED)
1666
+ ec = asio::error::connection_reset;
1667
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1668
+ ec = asio::error::connection_refused;
1669
+ if (result != 0)
1670
+ return socket_error_retval;
1671
+ asio::error::clear(ec);
1672
+ return bytes_transferred;
1673
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1674
+ msghdr msg = msghdr();
1675
+ init_msghdr_msg_name(msg.msg_name, addr);
1676
+ msg.msg_namelen = static_cast<int>(addrlen);
1677
+ msg.msg_iov = const_cast<buf*>(bufs);
1678
+ msg.msg_iovlen = static_cast<int>(count);
1679
+ #if defined(ASIO_HAS_MSG_NOSIGNAL)
1680
+ flags |= MSG_NOSIGNAL;
1681
+ #endif // defined(ASIO_HAS_MSG_NOSIGNAL)
1682
+ signed_size_type result = ::sendmsg(s, &msg, flags);
1683
+ get_last_error(ec, result < 0);
1684
+ return result;
1685
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1686
+ }
1687
+
1688
+ template <typename SockLenType>
1689
+ inline signed_size_type call_sendto(SockLenType msghdr::*,
1690
+ socket_type s, const void* data, size_t size, int flags,
1691
+ const void* addr, std::size_t addrlen)
1692
+ {
1693
+ return ::sendto(s, static_cast<char*>(const_cast<void*>(data)), size, flags,
1694
+ static_cast<const socket_addr_type*>(addr), (SockLenType)addrlen);
1695
+ }
1696
+
1697
+ signed_size_type sendto1(socket_type s, const void* data,
1698
+ size_t size, int flags, const void* addr,
1699
+ std::size_t addrlen, asio::error_code& ec)
1700
+ {
1701
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1702
+ // Send the data.
1703
+ WSABUF buf;
1704
+ buf.buf = const_cast<char*>(static_cast<const char*>(data));
1705
+ buf.len = static_cast<ULONG>(size);
1706
+ DWORD bytes_transferred = 0;
1707
+ int result = ::WSASendTo(s, &buf, 1, &bytes_transferred, flags,
1708
+ static_cast<const socket_addr_type*>(addr),
1709
+ static_cast<int>(addrlen), 0, 0);
1710
+ get_last_error(ec, true);
1711
+ if (ec.value() == ERROR_NETNAME_DELETED)
1712
+ ec = asio::error::connection_reset;
1713
+ else if (ec.value() == ERROR_PORT_UNREACHABLE)
1714
+ ec = asio::error::connection_refused;
1715
+ if (result != 0)
1716
+ return socket_error_retval;
1717
+ asio::error::clear(ec);
1718
+ return bytes_transferred;
1719
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1720
+ #if defined(ASIO_HAS_MSG_NOSIGNAL)
1721
+ flags |= MSG_NOSIGNAL;
1722
+ #endif // defined(ASIO_HAS_MSG_NOSIGNAL)
1723
+ signed_size_type result = call_sendto(&msghdr::msg_namelen,
1724
+ s, data, size, flags, addr, addrlen);
1725
+ get_last_error(ec, result < 0);
1726
+ return result;
1727
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1728
+ }
1729
+
1730
+ size_t sync_sendto(socket_type s, state_type state,
1731
+ const buf* bufs, size_t count, int flags, const void* addr,
1732
+ std::size_t addrlen, asio::error_code& ec)
1733
+ {
1734
+ if (s == invalid_socket)
1735
+ {
1736
+ ec = asio::error::bad_descriptor;
1737
+ return 0;
1738
+ }
1739
+
1740
+ // Write some data.
1741
+ for (;;)
1742
+ {
1743
+ // Try to complete the operation without blocking.
1744
+ signed_size_type bytes = socket_ops::sendto(
1745
+ s, bufs, count, flags, addr, addrlen, ec);
1746
+
1747
+ // Check if operation succeeded.
1748
+ if (bytes >= 0)
1749
+ return bytes;
1750
+
1751
+ // Operation failed.
1752
+ if ((state & user_set_non_blocking)
1753
+ || (ec != asio::error::would_block
1754
+ && ec != asio::error::try_again))
1755
+ return 0;
1756
+
1757
+ // Wait for socket to become ready.
1758
+ if (socket_ops::poll_write(s, 0, -1, ec) < 0)
1759
+ return 0;
1760
+ }
1761
+ }
1762
+
1763
+ size_t sync_sendto1(socket_type s, state_type state,
1764
+ const void* data, size_t size, int flags, const void* addr,
1765
+ std::size_t addrlen, asio::error_code& ec)
1766
+ {
1767
+ if (s == invalid_socket)
1768
+ {
1769
+ ec = asio::error::bad_descriptor;
1770
+ return 0;
1771
+ }
1772
+
1773
+ // Write some data.
1774
+ for (;;)
1775
+ {
1776
+ // Try to complete the operation without blocking.
1777
+ signed_size_type bytes = socket_ops::sendto1(
1778
+ s, data, size, flags, addr, addrlen, ec);
1779
+
1780
+ // Check if operation succeeded.
1781
+ if (bytes >= 0)
1782
+ return bytes;
1783
+
1784
+ // Operation failed.
1785
+ if ((state & user_set_non_blocking)
1786
+ || (ec != asio::error::would_block
1787
+ && ec != asio::error::try_again))
1788
+ return 0;
1789
+
1790
+ // Wait for socket to become ready.
1791
+ if (socket_ops::poll_write(s, 0, -1, ec) < 0)
1792
+ return 0;
1793
+ }
1794
+ }
1795
+
1796
+ #if !defined(ASIO_HAS_IOCP)
1797
+
1798
+ bool non_blocking_sendto(socket_type s,
1799
+ const buf* bufs, size_t count, int flags,
1800
+ const void* addr, std::size_t addrlen,
1801
+ asio::error_code& ec, size_t& bytes_transferred)
1802
+ {
1803
+ for (;;)
1804
+ {
1805
+ // Write some data.
1806
+ signed_size_type bytes = socket_ops::sendto(
1807
+ s, bufs, count, flags, addr, addrlen, ec);
1808
+
1809
+ // Check if operation succeeded.
1810
+ if (bytes >= 0)
1811
+ {
1812
+ bytes_transferred = bytes;
1813
+ return true;
1814
+ }
1815
+
1816
+ // Retry operation if interrupted by signal.
1817
+ if (ec == asio::error::interrupted)
1818
+ continue;
1819
+
1820
+ // Check if we need to run the operation again.
1821
+ if (ec == asio::error::would_block
1822
+ || ec == asio::error::try_again)
1823
+ return false;
1824
+
1825
+ // Operation failed.
1826
+ bytes_transferred = 0;
1827
+ return true;
1828
+ }
1829
+ }
1830
+
1831
+ bool non_blocking_sendto1(socket_type s,
1832
+ const void* data, size_t size, int flags,
1833
+ const void* addr, std::size_t addrlen,
1834
+ asio::error_code& ec, size_t& bytes_transferred)
1835
+ {
1836
+ for (;;)
1837
+ {
1838
+ // Write some data.
1839
+ signed_size_type bytes = socket_ops::sendto1(
1840
+ s, data, size, flags, addr, addrlen, ec);
1841
+
1842
+ // Check if operation succeeded.
1843
+ if (bytes >= 0)
1844
+ {
1845
+ bytes_transferred = bytes;
1846
+ return true;
1847
+ }
1848
+
1849
+ // Retry operation if interrupted by signal.
1850
+ if (ec == asio::error::interrupted)
1851
+ continue;
1852
+
1853
+ // Check if we need to run the operation again.
1854
+ if (ec == asio::error::would_block
1855
+ || ec == asio::error::try_again)
1856
+ return false;
1857
+
1858
+ // Operation failed.
1859
+ bytes_transferred = 0;
1860
+ return true;
1861
+ }
1862
+ }
1863
+
1864
+ #endif // !defined(ASIO_HAS_IOCP)
1865
+
1866
+ socket_type socket(int af, int type, int protocol,
1867
+ asio::error_code& ec)
1868
+ {
1869
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
1870
+ socket_type s = ::WSASocketW(af, type, protocol, 0, 0, WSA_FLAG_OVERLAPPED);
1871
+ get_last_error(ec, s == invalid_socket);
1872
+ if (s == invalid_socket)
1873
+ return s;
1874
+
1875
+ if (af == ASIO_OS_DEF(AF_INET6))
1876
+ {
1877
+ // Try to enable the POSIX default behaviour of having IPV6_V6ONLY set to
1878
+ // false. This will only succeed on Windows Vista and later versions of
1879
+ // Windows, where a dual-stack IPv4/v6 implementation is available.
1880
+ DWORD optval = 0;
1881
+ ::setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
1882
+ reinterpret_cast<const char*>(&optval), sizeof(optval));
1883
+ }
1884
+
1885
+ return s;
1886
+ #elif defined(__MACH__) && defined(__APPLE__) || defined(__FreeBSD__)
1887
+ socket_type s = ::socket(af, type, protocol);
1888
+ get_last_error(ec, s == invalid_socket);
1889
+ if (s == invalid_socket)
1890
+ return s;
1891
+
1892
+ int optval = 1;
1893
+ int result = ::setsockopt(s, SOL_SOCKET,
1894
+ SO_NOSIGPIPE, &optval, sizeof(optval));
1895
+ get_last_error(ec, result != 0);
1896
+ if (result != 0)
1897
+ {
1898
+ ::close(s);
1899
+ return invalid_socket;
1900
+ }
1901
+
1902
+ return s;
1903
+ #else
1904
+ int s = ::socket(af, type, protocol);
1905
+ get_last_error(ec, s < 0);
1906
+ return s;
1907
+ #endif
1908
+ }
1909
+
1910
+ template <typename SockLenType>
1911
+ inline int call_setsockopt(SockLenType msghdr::*,
1912
+ socket_type s, int level, int optname,
1913
+ const void* optval, std::size_t optlen)
1914
+ {
1915
+ return ::setsockopt(s, level, optname,
1916
+ (const char*)optval, (SockLenType)optlen);
1917
+ }
1918
+
1919
+ int setsockopt(socket_type s, state_type& state, int level, int optname,
1920
+ const void* optval, std::size_t optlen, asio::error_code& ec)
1921
+ {
1922
+ if (s == invalid_socket)
1923
+ {
1924
+ ec = asio::error::bad_descriptor;
1925
+ return socket_error_retval;
1926
+ }
1927
+
1928
+ if (level == custom_socket_option_level && optname == always_fail_option)
1929
+ {
1930
+ ec = asio::error::invalid_argument;
1931
+ return socket_error_retval;
1932
+ }
1933
+
1934
+ if (level == custom_socket_option_level
1935
+ && optname == enable_connection_aborted_option)
1936
+ {
1937
+ if (optlen != sizeof(int))
1938
+ {
1939
+ ec = asio::error::invalid_argument;
1940
+ return socket_error_retval;
1941
+ }
1942
+
1943
+ if (*static_cast<const int*>(optval))
1944
+ state |= enable_connection_aborted;
1945
+ else
1946
+ state &= ~enable_connection_aborted;
1947
+ asio::error::clear(ec);
1948
+ return 0;
1949
+ }
1950
+
1951
+ if (level == SOL_SOCKET && optname == SO_LINGER)
1952
+ state |= user_set_linger;
1953
+
1954
+ #if defined(__BORLANDC__)
1955
+ // Mysteriously, using the getsockopt and setsockopt functions directly with
1956
+ // Borland C++ results in incorrect values being set and read. The bug can be
1957
+ // worked around by using function addresses resolved with GetProcAddress.
1958
+ if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
1959
+ {
1960
+ typedef int (WSAAPI *sso_t)(SOCKET, int, int, const char*, int);
1961
+ if (sso_t sso = (sso_t)::GetProcAddress(winsock_module, "setsockopt"))
1962
+ {
1963
+ int result = sso(s, level, optname,
1964
+ reinterpret_cast<const char*>(optval),
1965
+ static_cast<int>(optlen));
1966
+ get_last_error(ec, result != 0);
1967
+ return result;
1968
+ }
1969
+ }
1970
+ ec = asio::error::fault;
1971
+ return socket_error_retval;
1972
+ #else // defined(__BORLANDC__)
1973
+ int result = call_setsockopt(&msghdr::msg_namelen,
1974
+ s, level, optname, optval, optlen);
1975
+ get_last_error(ec, result != 0);
1976
+ if (result == 0)
1977
+ {
1978
+ #if defined(__MACH__) && defined(__APPLE__) \
1979
+ || defined(__NetBSD__) || defined(__FreeBSD__) \
1980
+ || defined(__OpenBSD__) || defined(__QNX__)
1981
+ // To implement portable behaviour for SO_REUSEADDR with UDP sockets we
1982
+ // need to also set SO_REUSEPORT on BSD-based platforms.
1983
+ if ((state & datagram_oriented)
1984
+ && level == SOL_SOCKET && optname == SO_REUSEADDR)
1985
+ {
1986
+ call_setsockopt(&msghdr::msg_namelen, s,
1987
+ SOL_SOCKET, SO_REUSEPORT, optval, optlen);
1988
+ }
1989
+ #endif
1990
+ }
1991
+
1992
+ return result;
1993
+ #endif // defined(__BORLANDC__)
1994
+ }
1995
+
1996
+ template <typename SockLenType>
1997
+ inline int call_getsockopt(SockLenType msghdr::*,
1998
+ socket_type s, int level, int optname,
1999
+ void* optval, std::size_t* optlen)
2000
+ {
2001
+ SockLenType tmp_optlen = (SockLenType)*optlen;
2002
+ int result = ::getsockopt(s, level, optname, (char*)optval, &tmp_optlen);
2003
+ *optlen = (std::size_t)tmp_optlen;
2004
+ return result;
2005
+ }
2006
+
2007
+ int getsockopt(socket_type s, state_type state, int level, int optname,
2008
+ void* optval, size_t* optlen, asio::error_code& ec)
2009
+ {
2010
+ if (s == invalid_socket)
2011
+ {
2012
+ ec = asio::error::bad_descriptor;
2013
+ return socket_error_retval;
2014
+ }
2015
+
2016
+ if (level == custom_socket_option_level && optname == always_fail_option)
2017
+ {
2018
+ ec = asio::error::invalid_argument;
2019
+ return socket_error_retval;
2020
+ }
2021
+
2022
+ if (level == custom_socket_option_level
2023
+ && optname == enable_connection_aborted_option)
2024
+ {
2025
+ if (*optlen != sizeof(int))
2026
+ {
2027
+ ec = asio::error::invalid_argument;
2028
+ return socket_error_retval;
2029
+ }
2030
+
2031
+ *static_cast<int*>(optval) = (state & enable_connection_aborted) ? 1 : 0;
2032
+ asio::error::clear(ec);
2033
+ return 0;
2034
+ }
2035
+
2036
+ #if defined(__BORLANDC__)
2037
+ // Mysteriously, using the getsockopt and setsockopt functions directly with
2038
+ // Borland C++ results in incorrect values being set and read. The bug can be
2039
+ // worked around by using function addresses resolved with GetProcAddress.
2040
+ if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
2041
+ {
2042
+ typedef int (WSAAPI *gso_t)(SOCKET, int, int, char*, int*);
2043
+ if (gso_t gso = (gso_t)::GetProcAddress(winsock_module, "getsockopt"))
2044
+ {
2045
+ int tmp_optlen = static_cast<int>(*optlen);
2046
+ int result = gso(s, level, optname,
2047
+ reinterpret_cast<char*>(optval), &tmp_optlen);
2048
+ get_last_error(ec, result != 0);
2049
+ *optlen = static_cast<size_t>(tmp_optlen);
2050
+ if (result != 0 && level == IPPROTO_IPV6 && optname == IPV6_V6ONLY
2051
+ && ec.value() == WSAENOPROTOOPT && *optlen == sizeof(DWORD))
2052
+ {
2053
+ // Dual-stack IPv4/v6 sockets, and the IPV6_V6ONLY socket option, are
2054
+ // only supported on Windows Vista and later. To simplify program logic
2055
+ // we will fake success of getting this option and specify that the
2056
+ // value is non-zero (i.e. true). This corresponds to the behavior of
2057
+ // IPv6 sockets on Windows platforms pre-Vista.
2058
+ *static_cast<DWORD*>(optval) = 1;
2059
+ asio::error::clear(ec);
2060
+ }
2061
+ return result;
2062
+ }
2063
+ }
2064
+ ec = asio::error::fault;
2065
+ return socket_error_retval;
2066
+ #elif defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2067
+ int result = call_getsockopt(&msghdr::msg_namelen,
2068
+ s, level, optname, optval, optlen);
2069
+ get_last_error(ec, result != 0);
2070
+ if (result != 0 && level == IPPROTO_IPV6 && optname == IPV6_V6ONLY
2071
+ && ec.value() == WSAENOPROTOOPT && *optlen == sizeof(DWORD))
2072
+ {
2073
+ // Dual-stack IPv4/v6 sockets, and the IPV6_V6ONLY socket option, are only
2074
+ // supported on Windows Vista and later. To simplify program logic we will
2075
+ // fake success of getting this option and specify that the value is
2076
+ // non-zero (i.e. true). This corresponds to the behavior of IPv6 sockets
2077
+ // on Windows platforms pre-Vista.
2078
+ *static_cast<DWORD*>(optval) = 1;
2079
+ asio::error::clear(ec);
2080
+ }
2081
+ return result;
2082
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2083
+ int result = call_getsockopt(&msghdr::msg_namelen,
2084
+ s, level, optname, optval, optlen);
2085
+ get_last_error(ec, result != 0);
2086
+ #if defined(__linux__)
2087
+ if (result == 0 && level == SOL_SOCKET && *optlen == sizeof(int)
2088
+ && (optname == SO_SNDBUF || optname == SO_RCVBUF))
2089
+ {
2090
+ // On Linux, setting SO_SNDBUF or SO_RCVBUF to N actually causes the kernel
2091
+ // to set the buffer size to N*2. Linux puts additional stuff into the
2092
+ // buffers so that only about half is actually available to the application.
2093
+ // The retrieved value is divided by 2 here to make it appear as though the
2094
+ // correct value has been set.
2095
+ *static_cast<int*>(optval) /= 2;
2096
+ }
2097
+ #endif // defined(__linux__)
2098
+ return result;
2099
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2100
+ }
2101
+
2102
+ template <typename SockLenType>
2103
+ inline int call_getpeername(SockLenType msghdr::*,
2104
+ socket_type s, void* addr, std::size_t* addrlen)
2105
+ {
2106
+ SockLenType tmp_addrlen = (SockLenType)*addrlen;
2107
+ int result = ::getpeername(s,
2108
+ static_cast<socket_addr_type*>(addr), &tmp_addrlen);
2109
+ *addrlen = (std::size_t)tmp_addrlen;
2110
+ return result;
2111
+ }
2112
+
2113
+ int getpeername(socket_type s, void* addr, std::size_t* addrlen,
2114
+ bool cached, asio::error_code& ec)
2115
+ {
2116
+ if (s == invalid_socket)
2117
+ {
2118
+ ec = asio::error::bad_descriptor;
2119
+ return socket_error_retval;
2120
+ }
2121
+
2122
+ #if defined(ASIO_WINDOWS) && !defined(ASIO_WINDOWS_APP) \
2123
+ || defined(__CYGWIN__)
2124
+ if (cached)
2125
+ {
2126
+ // Check if socket is still connected.
2127
+ DWORD connect_time = 0;
2128
+ size_t connect_time_len = sizeof(connect_time);
2129
+ if (socket_ops::getsockopt(s, 0, SOL_SOCKET, SO_CONNECT_TIME,
2130
+ &connect_time, &connect_time_len, ec) == socket_error_retval)
2131
+ {
2132
+ return socket_error_retval;
2133
+ }
2134
+ if (connect_time == 0xFFFFFFFF)
2135
+ {
2136
+ ec = asio::error::not_connected;
2137
+ return socket_error_retval;
2138
+ }
2139
+
2140
+ // The cached value is still valid.
2141
+ asio::error::clear(ec);
2142
+ return 0;
2143
+ }
2144
+ #else // defined(ASIO_WINDOWS) && !defined(ASIO_WINDOWS_APP)
2145
+ // || defined(__CYGWIN__)
2146
+ (void)cached;
2147
+ #endif // defined(ASIO_WINDOWS) && !defined(ASIO_WINDOWS_APP)
2148
+ // || defined(__CYGWIN__)
2149
+
2150
+ int result = call_getpeername(&msghdr::msg_namelen, s, addr, addrlen);
2151
+ get_last_error(ec, result != 0);
2152
+ return result;
2153
+ }
2154
+
2155
+ template <typename SockLenType>
2156
+ inline int call_getsockname(SockLenType msghdr::*,
2157
+ socket_type s, void* addr, std::size_t* addrlen)
2158
+ {
2159
+ SockLenType tmp_addrlen = (SockLenType)*addrlen;
2160
+ int result = ::getsockname(s,
2161
+ static_cast<socket_addr_type*>(addr), &tmp_addrlen);
2162
+ *addrlen = (std::size_t)tmp_addrlen;
2163
+ return result;
2164
+ }
2165
+
2166
+ int getsockname(socket_type s, void* addr,
2167
+ std::size_t* addrlen, asio::error_code& ec)
2168
+ {
2169
+ if (s == invalid_socket)
2170
+ {
2171
+ ec = asio::error::bad_descriptor;
2172
+ return socket_error_retval;
2173
+ }
2174
+
2175
+ int result = call_getsockname(&msghdr::msg_namelen, s, addr, addrlen);
2176
+ get_last_error(ec, result != 0);
2177
+ return result;
2178
+ }
2179
+
2180
+ int ioctl(socket_type s, state_type& state, int cmd,
2181
+ ioctl_arg_type* arg, asio::error_code& ec)
2182
+ {
2183
+ if (s == invalid_socket)
2184
+ {
2185
+ ec = asio::error::bad_descriptor;
2186
+ return socket_error_retval;
2187
+ }
2188
+
2189
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2190
+ int result = ::ioctlsocket(s, cmd, arg);
2191
+ #elif defined(__MACH__) && defined(__APPLE__) \
2192
+ || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
2193
+ int result = ::ioctl(s, static_cast<unsigned int>(cmd), arg);
2194
+ #else
2195
+ int result = ::ioctl(s, cmd, arg);
2196
+ #endif
2197
+ get_last_error(ec, result < 0);
2198
+ if (result >= 0)
2199
+ {
2200
+ // When updating the non-blocking mode we always perform the ioctl syscall,
2201
+ // even if the flags would otherwise indicate that the socket is already in
2202
+ // the correct state. This ensures that the underlying socket is put into
2203
+ // the state that has been requested by the user. If the ioctl syscall was
2204
+ // successful then we need to update the flags to match.
2205
+ if (cmd == static_cast<int>(FIONBIO))
2206
+ {
2207
+ if (*arg)
2208
+ {
2209
+ state |= user_set_non_blocking;
2210
+ }
2211
+ else
2212
+ {
2213
+ // Clearing the non-blocking mode always overrides any internally-set
2214
+ // non-blocking flag. Any subsequent asynchronous operations will need
2215
+ // to re-enable non-blocking I/O.
2216
+ state &= ~(user_set_non_blocking | internal_non_blocking);
2217
+ }
2218
+ }
2219
+ }
2220
+
2221
+ return result;
2222
+ }
2223
+
2224
+ int select(int nfds, fd_set* readfds, fd_set* writefds,
2225
+ fd_set* exceptfds, timeval* timeout, asio::error_code& ec)
2226
+ {
2227
+ #if defined(__EMSCRIPTEN__)
2228
+ exceptfds = 0;
2229
+ #endif // defined(__EMSCRIPTEN__)
2230
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2231
+ if (!readfds && !writefds && !exceptfds && timeout)
2232
+ {
2233
+ DWORD milliseconds = timeout->tv_sec * 1000 + timeout->tv_usec / 1000;
2234
+ if (milliseconds == 0)
2235
+ milliseconds = 1; // Force context switch.
2236
+ ::Sleep(milliseconds);
2237
+ asio::error::clear(ec);
2238
+ return 0;
2239
+ }
2240
+
2241
+ // The select() call allows timeout values measured in microseconds, but the
2242
+ // system clock (as wrapped by boost::posix_time::microsec_clock) typically
2243
+ // has a resolution of 10 milliseconds. This can lead to a spinning select
2244
+ // reactor, meaning increased CPU usage, when waiting for the earliest
2245
+ // scheduled timeout if it's less than 10 milliseconds away. To avoid a tight
2246
+ // spin we'll use a minimum timeout of 1 millisecond.
2247
+ if (timeout && timeout->tv_sec == 0
2248
+ && timeout->tv_usec > 0 && timeout->tv_usec < 1000)
2249
+ timeout->tv_usec = 1000;
2250
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2251
+
2252
+ #if defined(__hpux) && defined(__SELECT)
2253
+ timespec ts;
2254
+ ts.tv_sec = timeout ? timeout->tv_sec : 0;
2255
+ ts.tv_nsec = timeout ? timeout->tv_usec * 1000 : 0;
2256
+ int result = ::pselect(nfds, readfds,
2257
+ writefds, exceptfds, timeout ? &ts : 0, 0);
2258
+ #else
2259
+ int result = ::select(nfds, readfds, writefds, exceptfds, timeout);
2260
+ #endif
2261
+ get_last_error(ec, result < 0);
2262
+ return result;
2263
+ }
2264
+
2265
+ int poll_read(socket_type s, state_type state,
2266
+ int msec, asio::error_code& ec)
2267
+ {
2268
+ if (s == invalid_socket)
2269
+ {
2270
+ ec = asio::error::bad_descriptor;
2271
+ return socket_error_retval;
2272
+ }
2273
+
2274
+ #if defined(ASIO_WINDOWS) \
2275
+ || defined(__CYGWIN__) \
2276
+ || defined(__SYMBIAN32__)
2277
+ fd_set fds;
2278
+ FD_ZERO(&fds);
2279
+ FD_SET(s, &fds);
2280
+ timeval timeout_obj;
2281
+ timeval* timeout;
2282
+ if (state & user_set_non_blocking)
2283
+ {
2284
+ timeout_obj.tv_sec = 0;
2285
+ timeout_obj.tv_usec = 0;
2286
+ timeout = &timeout_obj;
2287
+ }
2288
+ else if (msec >= 0)
2289
+ {
2290
+ timeout_obj.tv_sec = msec / 1000;
2291
+ timeout_obj.tv_usec = (msec % 1000) * 1000;
2292
+ timeout = &timeout_obj;
2293
+ }
2294
+ else
2295
+ timeout = 0;
2296
+ int result = ::select(s + 1, &fds, 0, 0, timeout);
2297
+ get_last_error(ec, result < 0);
2298
+ #else // defined(ASIO_WINDOWS)
2299
+ // || defined(__CYGWIN__)
2300
+ // || defined(__SYMBIAN32__)
2301
+ pollfd fds;
2302
+ fds.fd = s;
2303
+ fds.events = POLLIN;
2304
+ fds.revents = 0;
2305
+ int timeout = (state & user_set_non_blocking) ? 0 : msec;
2306
+ int result = ::poll(&fds, 1, timeout);
2307
+ get_last_error(ec, result < 0);
2308
+ #endif // defined(ASIO_WINDOWS)
2309
+ // || defined(__CYGWIN__)
2310
+ // || defined(__SYMBIAN32__)
2311
+ if (result == 0)
2312
+ if (state & user_set_non_blocking)
2313
+ ec = asio::error::would_block;
2314
+ return result;
2315
+ }
2316
+
2317
+ int poll_write(socket_type s, state_type state,
2318
+ int msec, asio::error_code& ec)
2319
+ {
2320
+ if (s == invalid_socket)
2321
+ {
2322
+ ec = asio::error::bad_descriptor;
2323
+ return socket_error_retval;
2324
+ }
2325
+
2326
+ #if defined(ASIO_WINDOWS) \
2327
+ || defined(__CYGWIN__) \
2328
+ || defined(__SYMBIAN32__)
2329
+ fd_set fds;
2330
+ FD_ZERO(&fds);
2331
+ FD_SET(s, &fds);
2332
+ timeval timeout_obj;
2333
+ timeval* timeout;
2334
+ if (state & user_set_non_blocking)
2335
+ {
2336
+ timeout_obj.tv_sec = 0;
2337
+ timeout_obj.tv_usec = 0;
2338
+ timeout = &timeout_obj;
2339
+ }
2340
+ else if (msec >= 0)
2341
+ {
2342
+ timeout_obj.tv_sec = msec / 1000;
2343
+ timeout_obj.tv_usec = (msec % 1000) * 1000;
2344
+ timeout = &timeout_obj;
2345
+ }
2346
+ else
2347
+ timeout = 0;
2348
+ int result = ::select(s + 1, 0, &fds, 0, timeout);
2349
+ get_last_error(ec, result < 0);
2350
+ #else // defined(ASIO_WINDOWS)
2351
+ // || defined(__CYGWIN__)
2352
+ // || defined(__SYMBIAN32__)
2353
+ pollfd fds;
2354
+ fds.fd = s;
2355
+ fds.events = POLLOUT;
2356
+ fds.revents = 0;
2357
+ int timeout = (state & user_set_non_blocking) ? 0 : msec;
2358
+ int result = ::poll(&fds, 1, timeout);
2359
+ get_last_error(ec, result < 0);
2360
+ #endif // defined(ASIO_WINDOWS)
2361
+ // || defined(__CYGWIN__)
2362
+ // || defined(__SYMBIAN32__)
2363
+ if (result == 0)
2364
+ if (state & user_set_non_blocking)
2365
+ ec = asio::error::would_block;
2366
+ return result;
2367
+ }
2368
+
2369
+ int poll_error(socket_type s, state_type state,
2370
+ int msec, asio::error_code& ec)
2371
+ {
2372
+ if (s == invalid_socket)
2373
+ {
2374
+ ec = asio::error::bad_descriptor;
2375
+ return socket_error_retval;
2376
+ }
2377
+
2378
+ #if defined(ASIO_WINDOWS) \
2379
+ || defined(__CYGWIN__) \
2380
+ || defined(__SYMBIAN32__)
2381
+ fd_set fds;
2382
+ FD_ZERO(&fds);
2383
+ FD_SET(s, &fds);
2384
+ timeval timeout_obj;
2385
+ timeval* timeout;
2386
+ if (state & user_set_non_blocking)
2387
+ {
2388
+ timeout_obj.tv_sec = 0;
2389
+ timeout_obj.tv_usec = 0;
2390
+ timeout = &timeout_obj;
2391
+ }
2392
+ else if (msec >= 0)
2393
+ {
2394
+ timeout_obj.tv_sec = msec / 1000;
2395
+ timeout_obj.tv_usec = (msec % 1000) * 1000;
2396
+ timeout = &timeout_obj;
2397
+ }
2398
+ else
2399
+ timeout = 0;
2400
+ int result = ::select(s + 1, 0, 0, &fds, timeout);
2401
+ get_last_error(ec, result < 0);
2402
+ #else // defined(ASIO_WINDOWS)
2403
+ // || defined(__CYGWIN__)
2404
+ // || defined(__SYMBIAN32__)
2405
+ pollfd fds;
2406
+ fds.fd = s;
2407
+ fds.events = POLLPRI | POLLERR | POLLHUP;
2408
+ fds.revents = 0;
2409
+ int timeout = (state & user_set_non_blocking) ? 0 : msec;
2410
+ int result = ::poll(&fds, 1, timeout);
2411
+ get_last_error(ec, result < 0);
2412
+ #endif // defined(ASIO_WINDOWS)
2413
+ // || defined(__CYGWIN__)
2414
+ // || defined(__SYMBIAN32__)
2415
+ if (result == 0)
2416
+ if (state & user_set_non_blocking)
2417
+ ec = asio::error::would_block;
2418
+ return result;
2419
+ }
2420
+
2421
+ int poll_connect(socket_type s, int msec, asio::error_code& ec)
2422
+ {
2423
+ if (s == invalid_socket)
2424
+ {
2425
+ ec = asio::error::bad_descriptor;
2426
+ return socket_error_retval;
2427
+ }
2428
+
2429
+ #if defined(ASIO_WINDOWS) \
2430
+ || defined(__CYGWIN__) \
2431
+ || defined(__SYMBIAN32__)
2432
+ fd_set write_fds;
2433
+ FD_ZERO(&write_fds);
2434
+ FD_SET(s, &write_fds);
2435
+ fd_set except_fds;
2436
+ FD_ZERO(&except_fds);
2437
+ FD_SET(s, &except_fds);
2438
+ timeval timeout_obj;
2439
+ timeval* timeout;
2440
+ if (msec >= 0)
2441
+ {
2442
+ timeout_obj.tv_sec = msec / 1000;
2443
+ timeout_obj.tv_usec = (msec % 1000) * 1000;
2444
+ timeout = &timeout_obj;
2445
+ }
2446
+ else
2447
+ timeout = 0;
2448
+ int result = ::select(s + 1, 0, &write_fds, &except_fds, timeout);
2449
+ get_last_error(ec, result < 0);
2450
+ return result;
2451
+ #else // defined(ASIO_WINDOWS)
2452
+ // || defined(__CYGWIN__)
2453
+ // || defined(__SYMBIAN32__)
2454
+ pollfd fds;
2455
+ fds.fd = s;
2456
+ fds.events = POLLOUT;
2457
+ fds.revents = 0;
2458
+ int result = ::poll(&fds, 1, msec);
2459
+ get_last_error(ec, result < 0);
2460
+ return result;
2461
+ #endif // defined(ASIO_WINDOWS)
2462
+ // || defined(__CYGWIN__)
2463
+ // || defined(__SYMBIAN32__)
2464
+ }
2465
+
2466
+ #endif // !defined(ASIO_WINDOWS_RUNTIME)
2467
+
2468
+ const char* inet_ntop(int af, const void* src, char* dest, size_t length,
2469
+ unsigned long scope_id, asio::error_code& ec)
2470
+ {
2471
+ clear_last_error();
2472
+ #if defined(ASIO_WINDOWS_RUNTIME)
2473
+ using namespace std; // For sprintf.
2474
+ const unsigned char* bytes = static_cast<const unsigned char*>(src);
2475
+ if (af == ASIO_OS_DEF(AF_INET))
2476
+ {
2477
+ sprintf_s(dest, length, "%u.%u.%u.%u",
2478
+ bytes[0], bytes[1], bytes[2], bytes[3]);
2479
+ return dest;
2480
+ }
2481
+ else if (af == ASIO_OS_DEF(AF_INET6))
2482
+ {
2483
+ size_t n = 0, b = 0, z = 0;
2484
+ while (n < length && b < 16)
2485
+ {
2486
+ if (bytes[b] == 0 && bytes[b + 1] == 0 && z == 0)
2487
+ {
2488
+ do b += 2; while (b < 16 && bytes[b] == 0 && bytes[b + 1] == 0);
2489
+ n += sprintf_s(dest + n, length - n, ":%s", b < 16 ? "" : ":"), ++z;
2490
+ }
2491
+ else
2492
+ {
2493
+ n += sprintf_s(dest + n, length - n, "%s%x", b ? ":" : "",
2494
+ (static_cast<u_long_type>(bytes[b]) << 8) | bytes[b + 1]);
2495
+ b += 2;
2496
+ }
2497
+ }
2498
+ if (scope_id)
2499
+ n += sprintf_s(dest + n, length - n, "%%%lu", scope_id);
2500
+ return dest;
2501
+ }
2502
+ else
2503
+ {
2504
+ ec = asio::error::address_family_not_supported;
2505
+ return 0;
2506
+ }
2507
+ #elif defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2508
+ using namespace std; // For memcpy.
2509
+
2510
+ if (af != ASIO_OS_DEF(AF_INET) && af != ASIO_OS_DEF(AF_INET6))
2511
+ {
2512
+ ec = asio::error::address_family_not_supported;
2513
+ return 0;
2514
+ }
2515
+
2516
+ union
2517
+ {
2518
+ socket_addr_type base;
2519
+ sockaddr_storage_type storage;
2520
+ sockaddr_in4_type v4;
2521
+ sockaddr_in6_type v6;
2522
+ } address;
2523
+ DWORD address_length;
2524
+ if (af == ASIO_OS_DEF(AF_INET))
2525
+ {
2526
+ address_length = sizeof(sockaddr_in4_type);
2527
+ address.v4.sin_family = ASIO_OS_DEF(AF_INET);
2528
+ address.v4.sin_port = 0;
2529
+ memcpy(&address.v4.sin_addr, src, sizeof(in4_addr_type));
2530
+ }
2531
+ else // AF_INET6
2532
+ {
2533
+ address_length = sizeof(sockaddr_in6_type);
2534
+ address.v6.sin6_family = ASIO_OS_DEF(AF_INET6);
2535
+ address.v6.sin6_port = 0;
2536
+ address.v6.sin6_flowinfo = 0;
2537
+ address.v6.sin6_scope_id = scope_id;
2538
+ memcpy(&address.v6.sin6_addr, src, sizeof(in6_addr_type));
2539
+ }
2540
+
2541
+ DWORD string_length = static_cast<DWORD>(length);
2542
+ #if defined(BOOST_NO_ANSI_APIS) || (defined(_MSC_VER) && (_MSC_VER >= 1800))
2543
+ LPWSTR string_buffer = (LPWSTR)_alloca(length * sizeof(WCHAR));
2544
+ int result = ::WSAAddressToStringW(&address.base,
2545
+ address_length, 0, string_buffer, &string_length);
2546
+ get_last_error(ec, true);
2547
+ ::WideCharToMultiByte(CP_ACP, 0, string_buffer, -1,
2548
+ dest, static_cast<int>(length), 0, 0);
2549
+ #else
2550
+ int result = ::WSAAddressToStringA(&address.base,
2551
+ address_length, 0, dest, &string_length);
2552
+ get_last_error(ec, true);
2553
+ #endif
2554
+
2555
+ // Windows may set error code on success.
2556
+ if (result != socket_error_retval)
2557
+ asio::error::clear(ec);
2558
+
2559
+ // Windows may not set an error code on failure.
2560
+ else if (result == socket_error_retval && !ec)
2561
+ ec = asio::error::invalid_argument;
2562
+
2563
+ return result == socket_error_retval ? 0 : dest;
2564
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2565
+ const char* result = ::inet_ntop(af, src, dest, static_cast<int>(length));
2566
+ get_last_error(ec, true);
2567
+ if (result == 0 && !ec)
2568
+ ec = asio::error::invalid_argument;
2569
+ if (result != 0 && af == ASIO_OS_DEF(AF_INET6) && scope_id != 0)
2570
+ {
2571
+ using namespace std; // For strcat and sprintf.
2572
+ char if_name[(IF_NAMESIZE > 21 ? IF_NAMESIZE : 21) + 1] = "%";
2573
+ const in6_addr_type* ipv6_address = static_cast<const in6_addr_type*>(src);
2574
+ bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe)
2575
+ && ((ipv6_address->s6_addr[1] & 0xc0) == 0x80));
2576
+ bool is_multicast_link_local = ((ipv6_address->s6_addr[0] == 0xff)
2577
+ && ((ipv6_address->s6_addr[1] & 0x0f) == 0x02));
2578
+ if ((!is_link_local && !is_multicast_link_local)
2579
+ || if_indextoname(static_cast<unsigned>(scope_id), if_name + 1) == 0)
2580
+ #if defined(ASIO_HAS_SNPRINTF)
2581
+ snprintf(if_name + 1, sizeof(if_name) - 1, "%lu", scope_id);
2582
+ #else // defined(ASIO_HAS_SNPRINTF)
2583
+ sprintf(if_name + 1, "%lu", scope_id);
2584
+ #endif // defined(ASIO_HAS_SNPRINTF)
2585
+ strcat(dest, if_name);
2586
+ }
2587
+ return result;
2588
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2589
+ }
2590
+
2591
+ int inet_pton(int af, const char* src, void* dest,
2592
+ unsigned long* scope_id, asio::error_code& ec)
2593
+ {
2594
+ clear_last_error();
2595
+ #if defined(ASIO_WINDOWS_RUNTIME)
2596
+ using namespace std; // For sscanf.
2597
+ unsigned char* bytes = static_cast<unsigned char*>(dest);
2598
+ if (af == ASIO_OS_DEF(AF_INET))
2599
+ {
2600
+ unsigned int b0, b1, b2, b3;
2601
+ if (sscanf_s(src, "%u.%u.%u.%u", &b0, &b1, &b2, &b3) != 4)
2602
+ {
2603
+ ec = asio::error::invalid_argument;
2604
+ return -1;
2605
+ }
2606
+ if (b0 > 255 || b1 > 255 || b2 > 255 || b3 > 255)
2607
+ {
2608
+ ec = asio::error::invalid_argument;
2609
+ return -1;
2610
+ }
2611
+ bytes[0] = static_cast<unsigned char>(b0);
2612
+ bytes[1] = static_cast<unsigned char>(b1);
2613
+ bytes[2] = static_cast<unsigned char>(b2);
2614
+ bytes[3] = static_cast<unsigned char>(b3);
2615
+ asio::error::clear(ec);
2616
+ return 1;
2617
+ }
2618
+ else if (af == ASIO_OS_DEF(AF_INET6))
2619
+ {
2620
+ unsigned char* bytes = static_cast<unsigned char*>(dest);
2621
+ std::memset(bytes, 0, 16);
2622
+ unsigned char back_bytes[16] = { 0 };
2623
+ int num_front_bytes = 0, num_back_bytes = 0;
2624
+ const char* p = src;
2625
+
2626
+ enum { fword, fcolon, bword, scope, done } state = fword;
2627
+ unsigned long current_word = 0;
2628
+ while (state != done)
2629
+ {
2630
+ if (current_word > 0xFFFF)
2631
+ {
2632
+ ec = asio::error::invalid_argument;
2633
+ return -1;
2634
+ }
2635
+
2636
+ switch (state)
2637
+ {
2638
+ case fword:
2639
+ if (*p >= '0' && *p <= '9')
2640
+ current_word = current_word * 16 + *p++ - '0';
2641
+ else if (*p >= 'a' && *p <= 'f')
2642
+ current_word = current_word * 16 + *p++ - 'a' + 10;
2643
+ else if (*p >= 'A' && *p <= 'F')
2644
+ current_word = current_word * 16 + *p++ - 'A' + 10;
2645
+ else
2646
+ {
2647
+ if (num_front_bytes == 16)
2648
+ {
2649
+ ec = asio::error::invalid_argument;
2650
+ return -1;
2651
+ }
2652
+
2653
+ bytes[num_front_bytes++] = (current_word >> 8) & 0xFF;
2654
+ bytes[num_front_bytes++] = current_word & 0xFF;
2655
+ current_word = 0;
2656
+
2657
+ if (*p == ':')
2658
+ state = fcolon, ++p;
2659
+ else if (*p == '%')
2660
+ state = scope, ++p;
2661
+ else if (*p == 0)
2662
+ state = done;
2663
+ else
2664
+ {
2665
+ ec = asio::error::invalid_argument;
2666
+ return -1;
2667
+ }
2668
+ }
2669
+ break;
2670
+
2671
+ case fcolon:
2672
+ if (*p == ':')
2673
+ state = bword, ++p;
2674
+ else
2675
+ state = fword;
2676
+ break;
2677
+
2678
+ case bword:
2679
+ if (*p >= '0' && *p <= '9')
2680
+ current_word = current_word * 16 + *p++ - '0';
2681
+ else if (*p >= 'a' && *p <= 'f')
2682
+ current_word = current_word * 16 + *p++ - 'a' + 10;
2683
+ else if (*p >= 'A' && *p <= 'F')
2684
+ current_word = current_word * 16 + *p++ - 'A' + 10;
2685
+ else
2686
+ {
2687
+ if (num_front_bytes + num_back_bytes == 16)
2688
+ {
2689
+ ec = asio::error::invalid_argument;
2690
+ return -1;
2691
+ }
2692
+
2693
+ back_bytes[num_back_bytes++] = (current_word >> 8) & 0xFF;
2694
+ back_bytes[num_back_bytes++] = current_word & 0xFF;
2695
+ current_word = 0;
2696
+
2697
+ if (*p == ':')
2698
+ state = bword, ++p;
2699
+ else if (*p == '%')
2700
+ state = scope, ++p;
2701
+ else if (*p == 0)
2702
+ state = done;
2703
+ else
2704
+ {
2705
+ ec = asio::error::invalid_argument;
2706
+ return -1;
2707
+ }
2708
+ }
2709
+ break;
2710
+
2711
+ case scope:
2712
+ if (*p >= '0' && *p <= '9')
2713
+ current_word = current_word * 10 + *p++ - '0';
2714
+ else if (*p == 0)
2715
+ *scope_id = current_word, state = done;
2716
+ else
2717
+ {
2718
+ ec = asio::error::invalid_argument;
2719
+ return -1;
2720
+ }
2721
+ break;
2722
+
2723
+ default:
2724
+ break;
2725
+ }
2726
+ }
2727
+
2728
+ for (int i = 0; i < num_back_bytes; ++i)
2729
+ bytes[16 - num_back_bytes + i] = back_bytes[i];
2730
+
2731
+ asio::error::clear(ec);
2732
+ return 1;
2733
+ }
2734
+ else
2735
+ {
2736
+ ec = asio::error::address_family_not_supported;
2737
+ return -1;
2738
+ }
2739
+ #elif defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2740
+ using namespace std; // For memcpy and strcmp.
2741
+
2742
+ if (af != ASIO_OS_DEF(AF_INET) && af != ASIO_OS_DEF(AF_INET6))
2743
+ {
2744
+ ec = asio::error::address_family_not_supported;
2745
+ return -1;
2746
+ }
2747
+
2748
+ union
2749
+ {
2750
+ socket_addr_type base;
2751
+ sockaddr_storage_type storage;
2752
+ sockaddr_in4_type v4;
2753
+ sockaddr_in6_type v6;
2754
+ } address;
2755
+ int address_length = sizeof(sockaddr_storage_type);
2756
+ #if defined(BOOST_NO_ANSI_APIS) || (defined(_MSC_VER) && (_MSC_VER >= 1800))
2757
+ int num_wide_chars = static_cast<int>(strlen(src)) + 1;
2758
+ LPWSTR wide_buffer = (LPWSTR)_alloca(num_wide_chars * sizeof(WCHAR));
2759
+ ::MultiByteToWideChar(CP_ACP, 0, src, -1, wide_buffer, num_wide_chars);
2760
+ int result = ::WSAStringToAddressW(wide_buffer,
2761
+ af, 0, &address.base, &address_length);
2762
+ get_last_error(ec, true);
2763
+ #else
2764
+ int result = ::WSAStringToAddressA(const_cast<char*>(src),
2765
+ af, 0, &address.base, &address_length);
2766
+ get_last_error(ec, true);
2767
+ #endif
2768
+
2769
+ if (af == ASIO_OS_DEF(AF_INET))
2770
+ {
2771
+ if (result != socket_error_retval)
2772
+ {
2773
+ memcpy(dest, &address.v4.sin_addr, sizeof(in4_addr_type));
2774
+ asio::error::clear(ec);
2775
+ }
2776
+ else if (strcmp(src, "255.255.255.255") == 0)
2777
+ {
2778
+ static_cast<in4_addr_type*>(dest)->s_addr = INADDR_NONE;
2779
+ asio::error::clear(ec);
2780
+ }
2781
+ }
2782
+ else // AF_INET6
2783
+ {
2784
+ if (result != socket_error_retval)
2785
+ {
2786
+ memcpy(dest, &address.v6.sin6_addr, sizeof(in6_addr_type));
2787
+ if (scope_id)
2788
+ *scope_id = address.v6.sin6_scope_id;
2789
+ asio::error::clear(ec);
2790
+ }
2791
+ }
2792
+
2793
+ // Windows may not set an error code on failure.
2794
+ if (result == socket_error_retval && !ec)
2795
+ ec = asio::error::invalid_argument;
2796
+
2797
+ if (result != socket_error_retval)
2798
+ asio::error::clear(ec);
2799
+
2800
+ return result == socket_error_retval ? -1 : 1;
2801
+ #else // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2802
+ using namespace std; // For strchr, memcpy and atoi.
2803
+
2804
+ // On some platforms, inet_pton fails if an address string contains a scope
2805
+ // id. Detect and remove the scope id before passing the string to inet_pton.
2806
+ const bool is_v6 = (af == ASIO_OS_DEF(AF_INET6));
2807
+ const char* if_name = is_v6 ? strchr(src, '%') : 0;
2808
+ char src_buf[max_addr_v6_str_len + 1];
2809
+ const char* src_ptr = src;
2810
+ if (if_name != 0)
2811
+ {
2812
+ if (if_name - src > max_addr_v6_str_len)
2813
+ {
2814
+ ec = asio::error::invalid_argument;
2815
+ return 0;
2816
+ }
2817
+ memcpy(src_buf, src, if_name - src);
2818
+ src_buf[if_name - src] = 0;
2819
+ src_ptr = src_buf;
2820
+ }
2821
+
2822
+ int result = ::inet_pton(af, src_ptr, dest);
2823
+ get_last_error(ec, true);
2824
+ if (result <= 0 && !ec)
2825
+ ec = asio::error::invalid_argument;
2826
+ if (result > 0 && is_v6 && scope_id)
2827
+ {
2828
+ using namespace std; // For strchr and atoi.
2829
+ *scope_id = 0;
2830
+ if (if_name != 0)
2831
+ {
2832
+ in6_addr_type* ipv6_address = static_cast<in6_addr_type*>(dest);
2833
+ bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe)
2834
+ && ((ipv6_address->s6_addr[1] & 0xc0) == 0x80));
2835
+ bool is_multicast_link_local = ((ipv6_address->s6_addr[0] == 0xff)
2836
+ && ((ipv6_address->s6_addr[1] & 0x0f) == 0x02));
2837
+ if (is_link_local || is_multicast_link_local)
2838
+ *scope_id = if_nametoindex(if_name + 1);
2839
+ if (*scope_id == 0)
2840
+ *scope_id = atoi(if_name + 1);
2841
+ }
2842
+ }
2843
+ return result;
2844
+ #endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2845
+ }
2846
+
2847
+ int gethostname(char* name, int namelen, asio::error_code& ec)
2848
+ {
2849
+ #if defined(ASIO_WINDOWS_RUNTIME)
2850
+ try
2851
+ {
2852
+ using namespace Windows::Foundation::Collections;
2853
+ using namespace Windows::Networking;
2854
+ using namespace Windows::Networking::Connectivity;
2855
+ IVectorView<HostName^>^ hostnames = NetworkInformation::GetHostNames();
2856
+ for (unsigned i = 0; i < hostnames->Size; ++i)
2857
+ {
2858
+ HostName^ hostname = hostnames->GetAt(i);
2859
+ if (hostname->Type == HostNameType::DomainName)
2860
+ {
2861
+ std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
2862
+ std::string raw_name = converter.to_bytes(hostname->RawName->Data());
2863
+ if (namelen > 0 && raw_name.size() < static_cast<std::size_t>(namelen))
2864
+ {
2865
+ strcpy_s(name, namelen, raw_name.c_str());
2866
+ return 0;
2867
+ }
2868
+ }
2869
+ }
2870
+ return -1;
2871
+ }
2872
+ catch (Platform::Exception^ e)
2873
+ {
2874
+ ec = asio::error_code(e->HResult,
2875
+ asio::system_category());
2876
+ return -1;
2877
+ }
2878
+ #else // defined(ASIO_WINDOWS_RUNTIME)
2879
+ int result = ::gethostname(name, namelen);
2880
+ get_last_error(ec, result != 0);
2881
+ return result;
2882
+ #endif // defined(ASIO_WINDOWS_RUNTIME)
2883
+ }
2884
+
2885
+ #if !defined(ASIO_WINDOWS_RUNTIME)
2886
+
2887
+ #if !defined(ASIO_HAS_GETADDRINFO)
2888
+
2889
+ // The following functions are only needed for emulation of getaddrinfo and
2890
+ // getnameinfo.
2891
+
2892
+ inline asio::error_code translate_netdb_error(int error)
2893
+ {
2894
+ switch (error)
2895
+ {
2896
+ case 0:
2897
+ return asio::error_code();
2898
+ case HOST_NOT_FOUND:
2899
+ return asio::error::host_not_found;
2900
+ case TRY_AGAIN:
2901
+ return asio::error::host_not_found_try_again;
2902
+ case NO_RECOVERY:
2903
+ return asio::error::no_recovery;
2904
+ case NO_DATA:
2905
+ return asio::error::no_data;
2906
+ default:
2907
+ ASIO_ASSERT(false);
2908
+ return asio::error::invalid_argument;
2909
+ }
2910
+ }
2911
+
2912
+ inline hostent* gethostbyaddr(const char* addr, int length, int af,
2913
+ hostent* result, char* buffer, int buflength, asio::error_code& ec)
2914
+ {
2915
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2916
+ (void)(buffer);
2917
+ (void)(buflength);
2918
+ hostent* retval = ::gethostbyaddr(addr, length, af);
2919
+ get_last_error(ec, !retval);
2920
+ if (!retval)
2921
+ return 0;
2922
+ *result = *retval;
2923
+ return retval;
2924
+ #elif defined(__sun) || defined(__QNX__)
2925
+ int error = 0;
2926
+ hostent* retval = ::gethostbyaddr_r(addr, length,
2927
+ af, result, buffer, buflength, &error);
2928
+ get_last_error(ec, !retval);
2929
+ if (error)
2930
+ ec = translate_netdb_error(error);
2931
+ return retval;
2932
+ #elif defined(__MACH__) && defined(__APPLE__)
2933
+ (void)(buffer);
2934
+ (void)(buflength);
2935
+ int error = 0;
2936
+ hostent* retval = ::getipnodebyaddr(addr, length, af, &error);
2937
+ get_last_error(ec, !retval);
2938
+ if (error)
2939
+ ec = translate_netdb_error(error);
2940
+ if (!retval)
2941
+ return 0;
2942
+ *result = *retval;
2943
+ return retval;
2944
+ #else
2945
+ hostent* retval = 0;
2946
+ int error = 0;
2947
+ clear_last_error();
2948
+ ::gethostbyaddr_r(addr, length, af, result,
2949
+ buffer, buflength, &retval, &error);
2950
+ get_last_error(ec, true);
2951
+ if (error)
2952
+ ec = translate_netdb_error(error);
2953
+ return retval;
2954
+ #endif
2955
+ }
2956
+
2957
+ inline hostent* gethostbyname(const char* name, int af, struct hostent* result,
2958
+ char* buffer, int buflength, int ai_flags, asio::error_code& ec)
2959
+ {
2960
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
2961
+ (void)(buffer);
2962
+ (void)(buflength);
2963
+ (void)(ai_flags);
2964
+ if (af != ASIO_OS_DEF(AF_INET))
2965
+ {
2966
+ ec = asio::error::address_family_not_supported;
2967
+ return 0;
2968
+ }
2969
+ hostent* retval = ::gethostbyname(name);
2970
+ get_last_error(ec, !retval);
2971
+ if (!retval)
2972
+ return 0;
2973
+ *result = *retval;
2974
+ return result;
2975
+ #elif defined(__sun) || defined(__QNX__)
2976
+ (void)(ai_flags);
2977
+ if (af != ASIO_OS_DEF(AF_INET))
2978
+ {
2979
+ ec = asio::error::address_family_not_supported;
2980
+ return 0;
2981
+ }
2982
+ int error = 0;
2983
+ hostent* retval = ::gethostbyname_r(name, result, buffer, buflength, &error);
2984
+ get_last_error(ec, !retval);
2985
+ if (error)
2986
+ ec = translate_netdb_error(error);
2987
+ return retval;
2988
+ #elif defined(__MACH__) && defined(__APPLE__)
2989
+ (void)(buffer);
2990
+ (void)(buflength);
2991
+ int error = 0;
2992
+ hostent* retval = ::getipnodebyname(name, af, ai_flags, &error);
2993
+ get_last_error(ec, !retval);
2994
+ if (error)
2995
+ ec = translate_netdb_error(error);
2996
+ if (!retval)
2997
+ return 0;
2998
+ *result = *retval;
2999
+ return retval;
3000
+ #else
3001
+ (void)(ai_flags);
3002
+ if (af != ASIO_OS_DEF(AF_INET))
3003
+ {
3004
+ ec = asio::error::address_family_not_supported;
3005
+ return 0;
3006
+ }
3007
+ hostent* retval = 0;
3008
+ int error = 0;
3009
+ clear_last_error();
3010
+ ::gethostbyname_r(name, result, buffer, buflength, &retval, &error);
3011
+ get_last_error(ec, true);
3012
+ if (error)
3013
+ ec = translate_netdb_error(error);
3014
+ return retval;
3015
+ #endif
3016
+ }
3017
+
3018
+ inline void freehostent(hostent* h)
3019
+ {
3020
+ #if defined(__MACH__) && defined(__APPLE__)
3021
+ if (h)
3022
+ ::freehostent(h);
3023
+ #else
3024
+ (void)(h);
3025
+ #endif
3026
+ }
3027
+
3028
+ // Emulation of getaddrinfo based on implementation in:
3029
+ // Stevens, W. R., UNIX Network Programming Vol. 1, 2nd Ed., Prentice-Hall 1998.
3030
+
3031
+ struct gai_search
3032
+ {
3033
+ const char* host;
3034
+ int family;
3035
+ };
3036
+
3037
+ inline int gai_nsearch(const char* host,
3038
+ const addrinfo_type* hints, gai_search (&search)[2])
3039
+ {
3040
+ int search_count = 0;
3041
+ if (host == 0 || host[0] == '\0')
3042
+ {
3043
+ if (hints->ai_flags & AI_PASSIVE)
3044
+ {
3045
+ // No host and AI_PASSIVE implies wildcard bind.
3046
+ switch (hints->ai_family)
3047
+ {
3048
+ case ASIO_OS_DEF(AF_INET):
3049
+ search[search_count].host = "0.0.0.0";
3050
+ search[search_count].family = ASIO_OS_DEF(AF_INET);
3051
+ ++search_count;
3052
+ break;
3053
+ case ASIO_OS_DEF(AF_INET6):
3054
+ search[search_count].host = "0::0";
3055
+ search[search_count].family = ASIO_OS_DEF(AF_INET6);
3056
+ ++search_count;
3057
+ break;
3058
+ case ASIO_OS_DEF(AF_UNSPEC):
3059
+ search[search_count].host = "0::0";
3060
+ search[search_count].family = ASIO_OS_DEF(AF_INET6);
3061
+ ++search_count;
3062
+ search[search_count].host = "0.0.0.0";
3063
+ search[search_count].family = ASIO_OS_DEF(AF_INET);
3064
+ ++search_count;
3065
+ break;
3066
+ default:
3067
+ break;
3068
+ }
3069
+ }
3070
+ else
3071
+ {
3072
+ // No host and not AI_PASSIVE means connect to local host.
3073
+ switch (hints->ai_family)
3074
+ {
3075
+ case ASIO_OS_DEF(AF_INET):
3076
+ search[search_count].host = "localhost";
3077
+ search[search_count].family = ASIO_OS_DEF(AF_INET);
3078
+ ++search_count;
3079
+ break;
3080
+ case ASIO_OS_DEF(AF_INET6):
3081
+ search[search_count].host = "localhost";
3082
+ search[search_count].family = ASIO_OS_DEF(AF_INET6);
3083
+ ++search_count;
3084
+ break;
3085
+ case ASIO_OS_DEF(AF_UNSPEC):
3086
+ search[search_count].host = "localhost";
3087
+ search[search_count].family = ASIO_OS_DEF(AF_INET6);
3088
+ ++search_count;
3089
+ search[search_count].host = "localhost";
3090
+ search[search_count].family = ASIO_OS_DEF(AF_INET);
3091
+ ++search_count;
3092
+ break;
3093
+ default:
3094
+ break;
3095
+ }
3096
+ }
3097
+ }
3098
+ else
3099
+ {
3100
+ // Host is specified.
3101
+ switch (hints->ai_family)
3102
+ {
3103
+ case ASIO_OS_DEF(AF_INET):
3104
+ search[search_count].host = host;
3105
+ search[search_count].family = ASIO_OS_DEF(AF_INET);
3106
+ ++search_count;
3107
+ break;
3108
+ case ASIO_OS_DEF(AF_INET6):
3109
+ search[search_count].host = host;
3110
+ search[search_count].family = ASIO_OS_DEF(AF_INET6);
3111
+ ++search_count;
3112
+ break;
3113
+ case ASIO_OS_DEF(AF_UNSPEC):
3114
+ search[search_count].host = host;
3115
+ search[search_count].family = ASIO_OS_DEF(AF_INET6);
3116
+ ++search_count;
3117
+ search[search_count].host = host;
3118
+ search[search_count].family = ASIO_OS_DEF(AF_INET);
3119
+ ++search_count;
3120
+ break;
3121
+ default:
3122
+ break;
3123
+ }
3124
+ }
3125
+ return search_count;
3126
+ }
3127
+
3128
+ template <typename T>
3129
+ inline T* gai_alloc(std::size_t size = sizeof(T))
3130
+ {
3131
+ using namespace std;
3132
+ T* p = static_cast<T*>(::operator new(size, std::nothrow));
3133
+ if (p)
3134
+ memset(p, 0, size);
3135
+ return p;
3136
+ }
3137
+
3138
+ inline void gai_free(void* p)
3139
+ {
3140
+ ::operator delete(p);
3141
+ }
3142
+
3143
+ inline void gai_strcpy(char* target, const char* source, std::size_t max_size)
3144
+ {
3145
+ using namespace std;
3146
+ #if defined(ASIO_HAS_SECURE_RTL)
3147
+ strcpy_s(target, max_size, source);
3148
+ #else // defined(ASIO_HAS_SECURE_RTL)
3149
+ *target = 0;
3150
+ if (max_size > 0)
3151
+ strncat(target, source, max_size - 1);
3152
+ #endif // defined(ASIO_HAS_SECURE_RTL)
3153
+ }
3154
+
3155
+ enum { gai_clone_flag = 1 << 30 };
3156
+
3157
+ inline int gai_aistruct(addrinfo_type*** next, const addrinfo_type* hints,
3158
+ const void* addr, int family)
3159
+ {
3160
+ using namespace std;
3161
+
3162
+ addrinfo_type* ai = gai_alloc<addrinfo_type>();
3163
+ if (ai == 0)
3164
+ return EAI_MEMORY;
3165
+
3166
+ ai->ai_next = 0;
3167
+ **next = ai;
3168
+ *next = &ai->ai_next;
3169
+
3170
+ ai->ai_canonname = 0;
3171
+ ai->ai_socktype = hints->ai_socktype;
3172
+ if (ai->ai_socktype == 0)
3173
+ ai->ai_flags |= gai_clone_flag;
3174
+ ai->ai_protocol = hints->ai_protocol;
3175
+ ai->ai_family = family;
3176
+
3177
+ switch (ai->ai_family)
3178
+ {
3179
+ case ASIO_OS_DEF(AF_INET):
3180
+ {
3181
+ sockaddr_in4_type* sinptr = gai_alloc<sockaddr_in4_type>();
3182
+ if (sinptr == 0)
3183
+ return EAI_MEMORY;
3184
+ sinptr->sin_family = ASIO_OS_DEF(AF_INET);
3185
+ memcpy(&sinptr->sin_addr, addr, sizeof(in4_addr_type));
3186
+ ai->ai_addr = reinterpret_cast<sockaddr*>(sinptr);
3187
+ ai->ai_addrlen = sizeof(sockaddr_in4_type);
3188
+ break;
3189
+ }
3190
+ case ASIO_OS_DEF(AF_INET6):
3191
+ {
3192
+ sockaddr_in6_type* sin6ptr = gai_alloc<sockaddr_in6_type>();
3193
+ if (sin6ptr == 0)
3194
+ return EAI_MEMORY;
3195
+ sin6ptr->sin6_family = ASIO_OS_DEF(AF_INET6);
3196
+ memcpy(&sin6ptr->sin6_addr, addr, sizeof(in6_addr_type));
3197
+ ai->ai_addr = reinterpret_cast<sockaddr*>(sin6ptr);
3198
+ ai->ai_addrlen = sizeof(sockaddr_in6_type);
3199
+ break;
3200
+ }
3201
+ default:
3202
+ break;
3203
+ }
3204
+
3205
+ return 0;
3206
+ }
3207
+
3208
+ inline addrinfo_type* gai_clone(addrinfo_type* ai)
3209
+ {
3210
+ using namespace std;
3211
+
3212
+ addrinfo_type* new_ai = gai_alloc<addrinfo_type>();
3213
+ if (new_ai == 0)
3214
+ return new_ai;
3215
+
3216
+ new_ai->ai_next = ai->ai_next;
3217
+ ai->ai_next = new_ai;
3218
+
3219
+ new_ai->ai_flags = 0;
3220
+ new_ai->ai_family = ai->ai_family;
3221
+ new_ai->ai_socktype = ai->ai_socktype;
3222
+ new_ai->ai_protocol = ai->ai_protocol;
3223
+ new_ai->ai_canonname = 0;
3224
+ new_ai->ai_addrlen = ai->ai_addrlen;
3225
+ new_ai->ai_addr = gai_alloc<sockaddr>(ai->ai_addrlen);
3226
+ memcpy(new_ai->ai_addr, ai->ai_addr, ai->ai_addrlen);
3227
+
3228
+ return new_ai;
3229
+ }
3230
+
3231
+ inline int gai_port(addrinfo_type* aihead, int port, int socktype)
3232
+ {
3233
+ int num_found = 0;
3234
+
3235
+ for (addrinfo_type* ai = aihead; ai; ai = ai->ai_next)
3236
+ {
3237
+ if (ai->ai_flags & gai_clone_flag)
3238
+ {
3239
+ if (ai->ai_socktype != 0)
3240
+ {
3241
+ ai = gai_clone(ai);
3242
+ if (ai == 0)
3243
+ return -1;
3244
+ // ai now points to newly cloned entry.
3245
+ }
3246
+ }
3247
+ else if (ai->ai_socktype != socktype)
3248
+ {
3249
+ // Ignore if mismatch on socket type.
3250
+ continue;
3251
+ }
3252
+
3253
+ ai->ai_socktype = socktype;
3254
+
3255
+ switch (ai->ai_family)
3256
+ {
3257
+ case ASIO_OS_DEF(AF_INET):
3258
+ {
3259
+ sockaddr_in4_type* sinptr =
3260
+ reinterpret_cast<sockaddr_in4_type*>(ai->ai_addr);
3261
+ sinptr->sin_port = port;
3262
+ ++num_found;
3263
+ break;
3264
+ }
3265
+ case ASIO_OS_DEF(AF_INET6):
3266
+ {
3267
+ sockaddr_in6_type* sin6ptr =
3268
+ reinterpret_cast<sockaddr_in6_type*>(ai->ai_addr);
3269
+ sin6ptr->sin6_port = port;
3270
+ ++num_found;
3271
+ break;
3272
+ }
3273
+ default:
3274
+ break;
3275
+ }
3276
+ }
3277
+
3278
+ return num_found;
3279
+ }
3280
+
3281
+ inline int gai_serv(addrinfo_type* aihead,
3282
+ const addrinfo_type* hints, const char* serv)
3283
+ {
3284
+ using namespace std;
3285
+
3286
+ int num_found = 0;
3287
+
3288
+ if (
3289
+ #if defined(AI_NUMERICSERV)
3290
+ (hints->ai_flags & AI_NUMERICSERV) ||
3291
+ #endif
3292
+ isdigit(static_cast<unsigned char>(serv[0])))
3293
+ {
3294
+ int port = htons(atoi(serv));
3295
+ if (hints->ai_socktype)
3296
+ {
3297
+ // Caller specifies socket type.
3298
+ int rc = gai_port(aihead, port, hints->ai_socktype);
3299
+ if (rc < 0)
3300
+ return EAI_MEMORY;
3301
+ num_found += rc;
3302
+ }
3303
+ else
3304
+ {
3305
+ // Caller does not specify socket type.
3306
+ int rc = gai_port(aihead, port, SOCK_STREAM);
3307
+ if (rc < 0)
3308
+ return EAI_MEMORY;
3309
+ num_found += rc;
3310
+ rc = gai_port(aihead, port, SOCK_DGRAM);
3311
+ if (rc < 0)
3312
+ return EAI_MEMORY;
3313
+ num_found += rc;
3314
+ }
3315
+ }
3316
+ else
3317
+ {
3318
+ // Try service name with TCP first, then UDP.
3319
+ if (hints->ai_socktype == 0 || hints->ai_socktype == SOCK_STREAM)
3320
+ {
3321
+ servent* sptr = getservbyname(serv, "tcp");
3322
+ if (sptr != 0)
3323
+ {
3324
+ int rc = gai_port(aihead, sptr->s_port, SOCK_STREAM);
3325
+ if (rc < 0)
3326
+ return EAI_MEMORY;
3327
+ num_found += rc;
3328
+ }
3329
+ }
3330
+ if (hints->ai_socktype == 0 || hints->ai_socktype == SOCK_DGRAM)
3331
+ {
3332
+ servent* sptr = getservbyname(serv, "udp");
3333
+ if (sptr != 0)
3334
+ {
3335
+ int rc = gai_port(aihead, sptr->s_port, SOCK_DGRAM);
3336
+ if (rc < 0)
3337
+ return EAI_MEMORY;
3338
+ num_found += rc;
3339
+ }
3340
+ }
3341
+ }
3342
+
3343
+ if (num_found == 0)
3344
+ {
3345
+ if (hints->ai_socktype == 0)
3346
+ {
3347
+ // All calls to getservbyname() failed.
3348
+ return EAI_NONAME;
3349
+ }
3350
+ else
3351
+ {
3352
+ // Service not supported for socket type.
3353
+ return EAI_SERVICE;
3354
+ }
3355
+ }
3356
+
3357
+ return 0;
3358
+ }
3359
+
3360
+ inline int gai_echeck(const char* host, const char* service,
3361
+ int flags, int family, int socktype, int protocol)
3362
+ {
3363
+ (void)(flags);
3364
+ (void)(protocol);
3365
+
3366
+ // Host or service must be specified.
3367
+ if (host == 0 || host[0] == '\0')
3368
+ if (service == 0 || service[0] == '\0')
3369
+ return EAI_NONAME;
3370
+
3371
+ // Check combination of family and socket type.
3372
+ switch (family)
3373
+ {
3374
+ case ASIO_OS_DEF(AF_UNSPEC):
3375
+ break;
3376
+ case ASIO_OS_DEF(AF_INET):
3377
+ case ASIO_OS_DEF(AF_INET6):
3378
+ if (service != 0 && service[0] != '\0')
3379
+ if (socktype != 0 && socktype != SOCK_STREAM && socktype != SOCK_DGRAM)
3380
+ return EAI_SOCKTYPE;
3381
+ break;
3382
+ default:
3383
+ return EAI_FAMILY;
3384
+ }
3385
+
3386
+ return 0;
3387
+ }
3388
+
3389
+ inline void freeaddrinfo_emulation(addrinfo_type* aihead)
3390
+ {
3391
+ addrinfo_type* ai = aihead;
3392
+ while (ai)
3393
+ {
3394
+ gai_free(ai->ai_addr);
3395
+ gai_free(ai->ai_canonname);
3396
+ addrinfo_type* ainext = ai->ai_next;
3397
+ gai_free(ai);
3398
+ ai = ainext;
3399
+ }
3400
+ }
3401
+
3402
+ inline int getaddrinfo_emulation(const char* host, const char* service,
3403
+ const addrinfo_type* hintsp, addrinfo_type** result)
3404
+ {
3405
+ // Set up linked list of addrinfo structures.
3406
+ addrinfo_type* aihead = 0;
3407
+ addrinfo_type** ainext = &aihead;
3408
+ char* canon = 0;
3409
+
3410
+ // Supply default hints if not specified by caller.
3411
+ addrinfo_type hints = addrinfo_type();
3412
+ hints.ai_family = ASIO_OS_DEF(AF_UNSPEC);
3413
+ if (hintsp)
3414
+ hints = *hintsp;
3415
+
3416
+ // If the resolution is not specifically for AF_INET6, remove the AI_V4MAPPED
3417
+ // and AI_ALL flags.
3418
+ #if defined(AI_V4MAPPED)
3419
+ if (hints.ai_family != ASIO_OS_DEF(AF_INET6))
3420
+ hints.ai_flags &= ~AI_V4MAPPED;
3421
+ #endif
3422
+ #if defined(AI_ALL)
3423
+ if (hints.ai_family != ASIO_OS_DEF(AF_INET6))
3424
+ hints.ai_flags &= ~AI_ALL;
3425
+ #endif
3426
+
3427
+ // Basic error checking.
3428
+ int rc = gai_echeck(host, service, hints.ai_flags, hints.ai_family,
3429
+ hints.ai_socktype, hints.ai_protocol);
3430
+ if (rc != 0)
3431
+ {
3432
+ freeaddrinfo_emulation(aihead);
3433
+ return rc;
3434
+ }
3435
+
3436
+ gai_search search[2];
3437
+ int search_count = gai_nsearch(host, &hints, search);
3438
+ for (gai_search* sptr = search; sptr < search + search_count; ++sptr)
3439
+ {
3440
+ // Check for IPv4 dotted decimal string.
3441
+ in4_addr_type inaddr;
3442
+ asio::error_code ec;
3443
+ if (socket_ops::inet_pton(ASIO_OS_DEF(AF_INET),
3444
+ sptr->host, &inaddr, 0, ec) == 1)
3445
+ {
3446
+ if (hints.ai_family != ASIO_OS_DEF(AF_UNSPEC)
3447
+ && hints.ai_family != ASIO_OS_DEF(AF_INET))
3448
+ {
3449
+ freeaddrinfo_emulation(aihead);
3450
+ gai_free(canon);
3451
+ return EAI_FAMILY;
3452
+ }
3453
+ if (sptr->family == ASIO_OS_DEF(AF_INET))
3454
+ {
3455
+ rc = gai_aistruct(&ainext, &hints, &inaddr, ASIO_OS_DEF(AF_INET));
3456
+ if (rc != 0)
3457
+ {
3458
+ freeaddrinfo_emulation(aihead);
3459
+ gai_free(canon);
3460
+ return rc;
3461
+ }
3462
+ }
3463
+ continue;
3464
+ }
3465
+
3466
+ // Check for IPv6 hex string.
3467
+ in6_addr_type in6addr;
3468
+ if (socket_ops::inet_pton(ASIO_OS_DEF(AF_INET6),
3469
+ sptr->host, &in6addr, 0, ec) == 1)
3470
+ {
3471
+ if (hints.ai_family != ASIO_OS_DEF(AF_UNSPEC)
3472
+ && hints.ai_family != ASIO_OS_DEF(AF_INET6))
3473
+ {
3474
+ freeaddrinfo_emulation(aihead);
3475
+ gai_free(canon);
3476
+ return EAI_FAMILY;
3477
+ }
3478
+ if (sptr->family == ASIO_OS_DEF(AF_INET6))
3479
+ {
3480
+ rc = gai_aistruct(&ainext, &hints, &in6addr,
3481
+ ASIO_OS_DEF(AF_INET6));
3482
+ if (rc != 0)
3483
+ {
3484
+ freeaddrinfo_emulation(aihead);
3485
+ gai_free(canon);
3486
+ return rc;
3487
+ }
3488
+ }
3489
+ continue;
3490
+ }
3491
+
3492
+ // Look up hostname.
3493
+ hostent hent;
3494
+ char hbuf[8192] = "";
3495
+ hostent* hptr = socket_ops::gethostbyname(sptr->host,
3496
+ sptr->family, &hent, hbuf, sizeof(hbuf), hints.ai_flags, ec);
3497
+ if (hptr == 0)
3498
+ {
3499
+ if (search_count == 2)
3500
+ {
3501
+ // Failure is OK if there are multiple searches.
3502
+ continue;
3503
+ }
3504
+ freeaddrinfo_emulation(aihead);
3505
+ gai_free(canon);
3506
+ if (ec == asio::error::host_not_found)
3507
+ return EAI_NONAME;
3508
+ if (ec == asio::error::host_not_found_try_again)
3509
+ return EAI_AGAIN;
3510
+ if (ec == asio::error::no_recovery)
3511
+ return EAI_FAIL;
3512
+ if (ec == asio::error::no_data)
3513
+ return EAI_NONAME;
3514
+ return EAI_NONAME;
3515
+ }
3516
+
3517
+ // Check for address family mismatch if one was specified.
3518
+ if (hints.ai_family != ASIO_OS_DEF(AF_UNSPEC)
3519
+ && hints.ai_family != hptr->h_addrtype)
3520
+ {
3521
+ freeaddrinfo_emulation(aihead);
3522
+ gai_free(canon);
3523
+ socket_ops::freehostent(hptr);
3524
+ return EAI_FAMILY;
3525
+ }
3526
+
3527
+ // Save canonical name first time.
3528
+ if (host != 0 && host[0] != '\0' && hptr->h_name && hptr->h_name[0]
3529
+ && (hints.ai_flags & AI_CANONNAME) && canon == 0)
3530
+ {
3531
+ std::size_t canon_len = strlen(hptr->h_name) + 1;
3532
+ canon = gai_alloc<char>(canon_len);
3533
+ if (canon == 0)
3534
+ {
3535
+ freeaddrinfo_emulation(aihead);
3536
+ socket_ops::freehostent(hptr);
3537
+ return EAI_MEMORY;
3538
+ }
3539
+ gai_strcpy(canon, hptr->h_name, canon_len);
3540
+ }
3541
+
3542
+ // Create an addrinfo structure for each returned address.
3543
+ for (char** ap = hptr->h_addr_list; *ap; ++ap)
3544
+ {
3545
+ rc = gai_aistruct(&ainext, &hints, *ap, hptr->h_addrtype);
3546
+ if (rc != 0)
3547
+ {
3548
+ freeaddrinfo_emulation(aihead);
3549
+ gai_free(canon);
3550
+ socket_ops::freehostent(hptr);
3551
+ return EAI_FAMILY;
3552
+ }
3553
+ }
3554
+
3555
+ socket_ops::freehostent(hptr);
3556
+ }
3557
+
3558
+ // Check if we found anything.
3559
+ if (aihead == 0)
3560
+ {
3561
+ gai_free(canon);
3562
+ return EAI_NONAME;
3563
+ }
3564
+
3565
+ // Return canonical name in first entry.
3566
+ if (host != 0 && host[0] != '\0' && (hints.ai_flags & AI_CANONNAME))
3567
+ {
3568
+ if (canon)
3569
+ {
3570
+ aihead->ai_canonname = canon;
3571
+ canon = 0;
3572
+ }
3573
+ else
3574
+ {
3575
+ std::size_t canonname_len = strlen(search[0].host) + 1;
3576
+ aihead->ai_canonname = gai_alloc<char>(canonname_len);
3577
+ if (aihead->ai_canonname == 0)
3578
+ {
3579
+ freeaddrinfo_emulation(aihead);
3580
+ return EAI_MEMORY;
3581
+ }
3582
+ gai_strcpy(aihead->ai_canonname, search[0].host, canonname_len);
3583
+ }
3584
+ }
3585
+ gai_free(canon);
3586
+
3587
+ // Process the service name.
3588
+ if (service != 0 && service[0] != '\0')
3589
+ {
3590
+ rc = gai_serv(aihead, &hints, service);
3591
+ if (rc != 0)
3592
+ {
3593
+ freeaddrinfo_emulation(aihead);
3594
+ return rc;
3595
+ }
3596
+ }
3597
+
3598
+ // Return result to caller.
3599
+ *result = aihead;
3600
+ return 0;
3601
+ }
3602
+
3603
+ inline asio::error_code getnameinfo_emulation(
3604
+ const socket_addr_type* sa, std::size_t salen, char* host,
3605
+ std::size_t hostlen, char* serv, std::size_t servlen, int flags,
3606
+ asio::error_code& ec)
3607
+ {
3608
+ using namespace std;
3609
+
3610
+ const char* addr;
3611
+ size_t addr_len;
3612
+ unsigned short port;
3613
+ switch (sa->sa_family)
3614
+ {
3615
+ case ASIO_OS_DEF(AF_INET):
3616
+ if (salen != sizeof(sockaddr_in4_type))
3617
+ {
3618
+ return ec = asio::error::invalid_argument;
3619
+ }
3620
+ addr = reinterpret_cast<const char*>(
3621
+ &reinterpret_cast<const sockaddr_in4_type*>(sa)->sin_addr);
3622
+ addr_len = sizeof(in4_addr_type);
3623
+ port = reinterpret_cast<const sockaddr_in4_type*>(sa)->sin_port;
3624
+ break;
3625
+ case ASIO_OS_DEF(AF_INET6):
3626
+ if (salen != sizeof(sockaddr_in6_type))
3627
+ {
3628
+ return ec = asio::error::invalid_argument;
3629
+ }
3630
+ addr = reinterpret_cast<const char*>(
3631
+ &reinterpret_cast<const sockaddr_in6_type*>(sa)->sin6_addr);
3632
+ addr_len = sizeof(in6_addr_type);
3633
+ port = reinterpret_cast<const sockaddr_in6_type*>(sa)->sin6_port;
3634
+ break;
3635
+ default:
3636
+ return ec = asio::error::address_family_not_supported;
3637
+ }
3638
+
3639
+ if (host && hostlen > 0)
3640
+ {
3641
+ if (flags & NI_NUMERICHOST)
3642
+ {
3643
+ if (socket_ops::inet_ntop(sa->sa_family, addr, host, hostlen, 0, ec) == 0)
3644
+ {
3645
+ return ec;
3646
+ }
3647
+ }
3648
+ else
3649
+ {
3650
+ hostent hent;
3651
+ char hbuf[8192] = "";
3652
+ hostent* hptr = socket_ops::gethostbyaddr(addr,
3653
+ static_cast<int>(addr_len), sa->sa_family,
3654
+ &hent, hbuf, sizeof(hbuf), ec);
3655
+ if (hptr && hptr->h_name && hptr->h_name[0] != '\0')
3656
+ {
3657
+ if (flags & NI_NOFQDN)
3658
+ {
3659
+ char* dot = strchr(hptr->h_name, '.');
3660
+ if (dot)
3661
+ {
3662
+ *dot = 0;
3663
+ }
3664
+ }
3665
+ gai_strcpy(host, hptr->h_name, hostlen);
3666
+ socket_ops::freehostent(hptr);
3667
+ }
3668
+ else
3669
+ {
3670
+ socket_ops::freehostent(hptr);
3671
+ if (flags & NI_NAMEREQD)
3672
+ {
3673
+ return ec = asio::error::host_not_found;
3674
+ }
3675
+ if (socket_ops::inet_ntop(sa->sa_family,
3676
+ addr, host, hostlen, 0, ec) == 0)
3677
+ {
3678
+ return ec;
3679
+ }
3680
+ }
3681
+ }
3682
+ }
3683
+
3684
+ if (serv && servlen > 0)
3685
+ {
3686
+ if (flags & NI_NUMERICSERV)
3687
+ {
3688
+ if (servlen < 6)
3689
+ {
3690
+ return ec = asio::error::no_buffer_space;
3691
+ }
3692
+ #if defined(ASIO_HAS_SNPRINTF)
3693
+ snprintf(serv, servlen, "%u", ntohs(port));
3694
+ #elif defined(ASIO_HAS_SECURE_RTL)
3695
+ sprintf_s(serv, servlen, "%u", ntohs(port));
3696
+ #else // defined(ASIO_HAS_SECURE_RTL)
3697
+ sprintf(serv, "%u", ntohs(port));
3698
+ #endif // defined(ASIO_HAS_SECURE_RTL)
3699
+ }
3700
+ else
3701
+ {
3702
+ #if defined(ASIO_HAS_PTHREADS)
3703
+ static ::pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
3704
+ ::pthread_mutex_lock(&mutex);
3705
+ #endif // defined(ASIO_HAS_PTHREADS)
3706
+ servent* sptr = ::getservbyport(port, (flags & NI_DGRAM) ? "udp" : 0);
3707
+ if (sptr && sptr->s_name && sptr->s_name[0] != '\0')
3708
+ {
3709
+ gai_strcpy(serv, sptr->s_name, servlen);
3710
+ }
3711
+ else
3712
+ {
3713
+ if (servlen < 6)
3714
+ {
3715
+ return ec = asio::error::no_buffer_space;
3716
+ }
3717
+ #if defined(ASIO_HAS_SNPRINTF)
3718
+ snprintf(serv, servlen, "%u", ntohs(port));
3719
+ #elif defined(ASIO_HAS_SECURE_RTL)
3720
+ sprintf_s(serv, servlen, "%u", ntohs(port));
3721
+ #else // defined(ASIO_HAS_SECURE_RTL)
3722
+ sprintf(serv, "%u", ntohs(port));
3723
+ #endif // defined(ASIO_HAS_SECURE_RTL)
3724
+ }
3725
+ #if defined(ASIO_HAS_PTHREADS)
3726
+ ::pthread_mutex_unlock(&mutex);
3727
+ #endif // defined(ASIO_HAS_PTHREADS)
3728
+ }
3729
+ }
3730
+
3731
+ asio::error::clear(ec);
3732
+ return ec;
3733
+ }
3734
+
3735
+ #endif // !defined(ASIO_HAS_GETADDRINFO)
3736
+
3737
+ inline asio::error_code translate_addrinfo_error(int error)
3738
+ {
3739
+ switch (error)
3740
+ {
3741
+ case 0:
3742
+ return asio::error_code();
3743
+ case EAI_AGAIN:
3744
+ return asio::error::host_not_found_try_again;
3745
+ case EAI_BADFLAGS:
3746
+ return asio::error::invalid_argument;
3747
+ case EAI_FAIL:
3748
+ return asio::error::no_recovery;
3749
+ case EAI_FAMILY:
3750
+ return asio::error::address_family_not_supported;
3751
+ case EAI_MEMORY:
3752
+ return asio::error::no_memory;
3753
+ case EAI_NONAME:
3754
+ #if defined(EAI_ADDRFAMILY)
3755
+ case EAI_ADDRFAMILY:
3756
+ #endif
3757
+ #if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
3758
+ case EAI_NODATA:
3759
+ #endif
3760
+ return asio::error::host_not_found;
3761
+ case EAI_SERVICE:
3762
+ return asio::error::service_not_found;
3763
+ case EAI_SOCKTYPE:
3764
+ return asio::error::socket_type_not_supported;
3765
+ default: // Possibly the non-portable EAI_SYSTEM.
3766
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
3767
+ return asio::error_code(
3768
+ WSAGetLastError(), asio::error::get_system_category());
3769
+ #else
3770
+ return asio::error_code(
3771
+ errno, asio::error::get_system_category());
3772
+ #endif
3773
+ }
3774
+ }
3775
+
3776
+ asio::error_code getaddrinfo(const char* host,
3777
+ const char* service, const addrinfo_type& hints,
3778
+ addrinfo_type** result, asio::error_code& ec)
3779
+ {
3780
+ host = (host && *host) ? host : 0;
3781
+ service = (service && *service) ? service : 0;
3782
+ clear_last_error();
3783
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
3784
+ # if defined(ASIO_HAS_GETADDRINFO)
3785
+ // Building for Windows XP, Windows Server 2003, or later.
3786
+ int error = ::getaddrinfo(host, service, &hints, result);
3787
+ return ec = translate_addrinfo_error(error);
3788
+ # else
3789
+ // Building for Windows 2000 or earlier.
3790
+ typedef int (WSAAPI *gai_t)(const char*,
3791
+ const char*, const addrinfo_type*, addrinfo_type**);
3792
+ if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
3793
+ {
3794
+ if (gai_t gai = (gai_t)::GetProcAddress(winsock_module, "getaddrinfo"))
3795
+ {
3796
+ int error = gai(host, service, &hints, result);
3797
+ return ec = translate_addrinfo_error(error);
3798
+ }
3799
+ }
3800
+ int error = getaddrinfo_emulation(host, service, &hints, result);
3801
+ return ec = translate_addrinfo_error(error);
3802
+ # endif
3803
+ #elif !defined(ASIO_HAS_GETADDRINFO)
3804
+ int error = getaddrinfo_emulation(host, service, &hints, result);
3805
+ return ec = translate_addrinfo_error(error);
3806
+ #else
3807
+ int error = ::getaddrinfo(host, service, &hints, result);
3808
+ #if defined(__MACH__) && defined(__APPLE__)
3809
+ using namespace std; // For isdigit and atoi.
3810
+ if (error == 0 && service && isdigit(static_cast<unsigned char>(service[0])))
3811
+ {
3812
+ u_short_type port = host_to_network_short(atoi(service));
3813
+ for (addrinfo_type* ai = *result; ai; ai = ai->ai_next)
3814
+ {
3815
+ switch (ai->ai_family)
3816
+ {
3817
+ case ASIO_OS_DEF(AF_INET):
3818
+ {
3819
+ sockaddr_in4_type* sinptr =
3820
+ reinterpret_cast<sockaddr_in4_type*>(ai->ai_addr);
3821
+ if (sinptr->sin_port == 0)
3822
+ sinptr->sin_port = port;
3823
+ break;
3824
+ }
3825
+ case ASIO_OS_DEF(AF_INET6):
3826
+ {
3827
+ sockaddr_in6_type* sin6ptr =
3828
+ reinterpret_cast<sockaddr_in6_type*>(ai->ai_addr);
3829
+ if (sin6ptr->sin6_port == 0)
3830
+ sin6ptr->sin6_port = port;
3831
+ break;
3832
+ }
3833
+ default:
3834
+ break;
3835
+ }
3836
+ }
3837
+ }
3838
+ #endif
3839
+ return ec = translate_addrinfo_error(error);
3840
+ #endif
3841
+ }
3842
+
3843
+ asio::error_code background_getaddrinfo(
3844
+ const weak_cancel_token_type& cancel_token, const char* host,
3845
+ const char* service, const addrinfo_type& hints,
3846
+ addrinfo_type** result, asio::error_code& ec)
3847
+ {
3848
+ if (cancel_token.expired())
3849
+ ec = asio::error::operation_aborted;
3850
+ else
3851
+ socket_ops::getaddrinfo(host, service, hints, result, ec);
3852
+ return ec;
3853
+ }
3854
+
3855
+ void freeaddrinfo(addrinfo_type* ai)
3856
+ {
3857
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
3858
+ # if defined(ASIO_HAS_GETADDRINFO)
3859
+ // Building for Windows XP, Windows Server 2003, or later.
3860
+ ::freeaddrinfo(ai);
3861
+ # else
3862
+ // Building for Windows 2000 or earlier.
3863
+ typedef int (WSAAPI *fai_t)(addrinfo_type*);
3864
+ if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
3865
+ {
3866
+ if (fai_t fai = (fai_t)::GetProcAddress(winsock_module, "freeaddrinfo"))
3867
+ {
3868
+ fai(ai);
3869
+ return;
3870
+ }
3871
+ }
3872
+ freeaddrinfo_emulation(ai);
3873
+ # endif
3874
+ #elif !defined(ASIO_HAS_GETADDRINFO)
3875
+ freeaddrinfo_emulation(ai);
3876
+ #else
3877
+ ::freeaddrinfo(ai);
3878
+ #endif
3879
+ }
3880
+
3881
+ asio::error_code getnameinfo(const void* addr,
3882
+ std::size_t addrlen, char* host, std::size_t hostlen,
3883
+ char* serv, std::size_t servlen, int flags, asio::error_code& ec)
3884
+ {
3885
+ #if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
3886
+ # if defined(ASIO_HAS_GETADDRINFO)
3887
+ // Building for Windows XP, Windows Server 2003, or later.
3888
+ clear_last_error();
3889
+ int error = ::getnameinfo(static_cast<const socket_addr_type*>(addr),
3890
+ static_cast<socklen_t>(addrlen), host, static_cast<DWORD>(hostlen),
3891
+ serv, static_cast<DWORD>(servlen), flags);
3892
+ return ec = translate_addrinfo_error(error);
3893
+ # else
3894
+ // Building for Windows 2000 or earlier.
3895
+ typedef int (WSAAPI *gni_t)(const socket_addr_type*,
3896
+ int, char*, DWORD, char*, DWORD, int);
3897
+ if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
3898
+ {
3899
+ if (gni_t gni = (gni_t)::GetProcAddress(winsock_module, "getnameinfo"))
3900
+ {
3901
+ clear_last_error();
3902
+ int error = gni(static_cast<const socket_addr_type*>(addr),
3903
+ static_cast<int>(addrlen), host, static_cast<DWORD>(hostlen),
3904
+ serv, static_cast<DWORD>(servlen), flags);
3905
+ return ec = translate_addrinfo_error(error);
3906
+ }
3907
+ }
3908
+ clear_last_error();
3909
+ return getnameinfo_emulation(static_cast<const socket_addr_type*>(addr),
3910
+ addrlen, host, hostlen, serv, servlen, flags, ec);
3911
+ # endif
3912
+ #elif !defined(ASIO_HAS_GETADDRINFO)
3913
+ using namespace std; // For memcpy.
3914
+ sockaddr_storage_type tmp_addr;
3915
+ memcpy(&tmp_addr, addr, addrlen);
3916
+ addr = &tmp_addr;
3917
+ clear_last_error();
3918
+ return getnameinfo_emulation(static_cast<const socket_addr_type*>(addr),
3919
+ addrlen, host, hostlen, serv, servlen, flags, ec);
3920
+ #else
3921
+ clear_last_error();
3922
+ int error = ::getnameinfo(static_cast<const socket_addr_type*>(addr),
3923
+ addrlen, host, hostlen, serv, servlen, flags);
3924
+ return ec = translate_addrinfo_error(error);
3925
+ #endif
3926
+ }
3927
+
3928
+ asio::error_code sync_getnameinfo(const void* addr,
3929
+ std::size_t addrlen, char* host, std::size_t hostlen, char* serv,
3930
+ std::size_t servlen, int sock_type, asio::error_code& ec)
3931
+ {
3932
+ // First try resolving with the service name. If that fails try resolving
3933
+ // but allow the service to be returned as a number.
3934
+ int flags = (sock_type == SOCK_DGRAM) ? NI_DGRAM : 0;
3935
+ socket_ops::getnameinfo(addr, addrlen, host,
3936
+ hostlen, serv, servlen, flags, ec);
3937
+ if (ec)
3938
+ {
3939
+ socket_ops::getnameinfo(addr, addrlen, host, hostlen,
3940
+ serv, servlen, flags | NI_NUMERICSERV, ec);
3941
+ }
3942
+
3943
+ return ec;
3944
+ }
3945
+
3946
+ asio::error_code background_getnameinfo(
3947
+ const weak_cancel_token_type& cancel_token,
3948
+ const void* addr, std::size_t addrlen,
3949
+ char* host, std::size_t hostlen, char* serv,
3950
+ std::size_t servlen, int sock_type, asio::error_code& ec)
3951
+ {
3952
+ if (cancel_token.expired())
3953
+ {
3954
+ ec = asio::error::operation_aborted;
3955
+ }
3956
+ else
3957
+ {
3958
+ // First try resolving with the service name. If that fails try resolving
3959
+ // but allow the service to be returned as a number.
3960
+ int flags = (sock_type == SOCK_DGRAM) ? NI_DGRAM : 0;
3961
+ socket_ops::getnameinfo(addr, addrlen, host,
3962
+ hostlen, serv, servlen, flags, ec);
3963
+ if (ec)
3964
+ {
3965
+ socket_ops::getnameinfo(addr, addrlen, host, hostlen,
3966
+ serv, servlen, flags | NI_NUMERICSERV, ec);
3967
+ }
3968
+ }
3969
+
3970
+ return ec;
3971
+ }
3972
+
3973
+ #endif // !defined(ASIO_WINDOWS_RUNTIME)
3974
+
3975
+ u_long_type network_to_host_long(u_long_type value)
3976
+ {
3977
+ #if defined(ASIO_WINDOWS_RUNTIME)
3978
+ unsigned char* value_p = reinterpret_cast<unsigned char*>(&value);
3979
+ u_long_type result = (static_cast<u_long_type>(value_p[0]) << 24)
3980
+ | (static_cast<u_long_type>(value_p[1]) << 16)
3981
+ | (static_cast<u_long_type>(value_p[2]) << 8)
3982
+ | static_cast<u_long_type>(value_p[3]);
3983
+ return result;
3984
+ #else // defined(ASIO_WINDOWS_RUNTIME)
3985
+ return ntohl(value);
3986
+ #endif // defined(ASIO_WINDOWS_RUNTIME)
3987
+ }
3988
+
3989
+ u_long_type host_to_network_long(u_long_type value)
3990
+ {
3991
+ #if defined(ASIO_WINDOWS_RUNTIME)
3992
+ u_long_type result;
3993
+ unsigned char* result_p = reinterpret_cast<unsigned char*>(&result);
3994
+ result_p[0] = static_cast<unsigned char>((value >> 24) & 0xFF);
3995
+ result_p[1] = static_cast<unsigned char>((value >> 16) & 0xFF);
3996
+ result_p[2] = static_cast<unsigned char>((value >> 8) & 0xFF);
3997
+ result_p[3] = static_cast<unsigned char>(value & 0xFF);
3998
+ return result;
3999
+ #else // defined(ASIO_WINDOWS_RUNTIME)
4000
+ return htonl(value);
4001
+ #endif // defined(ASIO_WINDOWS_RUNTIME)
4002
+ }
4003
+
4004
+ u_short_type network_to_host_short(u_short_type value)
4005
+ {
4006
+ #if defined(ASIO_WINDOWS_RUNTIME)
4007
+ unsigned char* value_p = reinterpret_cast<unsigned char*>(&value);
4008
+ u_short_type result = (static_cast<u_short_type>(value_p[0]) << 8)
4009
+ | static_cast<u_short_type>(value_p[1]);
4010
+ return result;
4011
+ #else // defined(ASIO_WINDOWS_RUNTIME)
4012
+ return ntohs(value);
4013
+ #endif // defined(ASIO_WINDOWS_RUNTIME)
4014
+ }
4015
+
4016
+ u_short_type host_to_network_short(u_short_type value)
4017
+ {
4018
+ #if defined(ASIO_WINDOWS_RUNTIME)
4019
+ u_short_type result;
4020
+ unsigned char* result_p = reinterpret_cast<unsigned char*>(&result);
4021
+ result_p[0] = static_cast<unsigned char>((value >> 8) & 0xFF);
4022
+ result_p[1] = static_cast<unsigned char>(value & 0xFF);
4023
+ return result;
4024
+ #else // defined(ASIO_WINDOWS_RUNTIME)
4025
+ return htons(value);
4026
+ #endif // defined(ASIO_WINDOWS_RUNTIME)
4027
+ }
4028
+
4029
+ } // namespace socket_ops
4030
+ } // namespace detail
4031
+ } // namespace asio
4032
+
4033
+ #include "asio/detail/pop_options.hpp"
4034
+
4035
+ #endif // ASIO_DETAIL_SOCKET_OPS_IPP