passenger 5.3.3 → 5.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +8 -0
- data/build/support/cxx_dependency_map.rb +151 -83
- data/dev/configkit-schemas/index.json +3 -3
- data/src/agent/Core/AdminPanelConnector.h +5 -3
- data/src/agent/Core/ApplicationPool/Common.h +1 -2
- data/src/agent/Core/ApplicationPool/Context.h +1 -2
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +2 -2
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller.h +2 -1
- data/src/agent/Core/Controller/Config.h +6 -5
- data/src/agent/Core/Controller/Hooks.cpp +11 -0
- data/src/agent/Core/Controller/SendRequest.cpp +7 -7
- data/src/agent/Core/CoreMain.cpp +0 -2
- data/src/agent/Core/SpawningKit/Context.h +1 -3
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +2 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +17 -38
- data/src/agent/Core/SpawningKit/PipeWatcher.h +5 -3
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +13 -5
- data/src/agent/Shared/ApiServerUtils.h +2 -2
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +33 -18
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +20 -20
- data/src/apache2_module/Config.cpp +7 -6
- data/src/cxx_supportlib/ConfigKit/Store.h +2 -2
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/Exceptions.h +0 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +3 -2
- data/src/cxx_supportlib/ResourceLocator.h +3 -21
- data/src/cxx_supportlib/SafeLibev.h +6 -6
- data/src/cxx_supportlib/ServerKit/Channel.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +3 -3
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +27 -15
- data/src/cxx_supportlib/ServerKit/Server.h +2 -2
- data/src/cxx_supportlib/SystemTools/README.md +1 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +222 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +151 -0
- data/src/cxx_supportlib/Utils.cpp +1 -113
- data/src/cxx_supportlib/Utils.h +1 -29
- data/src/cxx_supportlib/Utils/MessagePassing.h +3 -3
- data/src/cxx_supportlib/WatchdogLauncher.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/util.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +31 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +149 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +140 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +145 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +75 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +139 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +98 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +42 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +45 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +349 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +959 -108
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +198 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +424 -284
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +116 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +99 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +235 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +613 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +1139 -1216
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +61 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +462 -226
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +94 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +20 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +404 -77
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +212 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +151 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +398 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +287 -165
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +65 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +27 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +41 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{function.hpp → functional.hpp} +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +158 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +90 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +117 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +97 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +34 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +152 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +80 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +19 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +93 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +27 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +43 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +54 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/{task_io_service.ipp → scheduler.ipp} +167 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +17 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +46 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +36 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +39 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +43 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +129 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +241 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +36 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +42 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +17 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +29 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +26 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +37 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +82 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +86 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +101 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +20 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +13 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +25 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +99 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +96 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +6 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +38 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +30 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service.hpp → scheduler.hpp} +57 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service_operation.hpp → scheduler_operation.hpp} +19 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/{task_io_service_thread_info.hpp → scheduler_thread_info.hpp} +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +37 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +54 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +45 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +29 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +29 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +74 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +74 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +413 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +343 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +172 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +228 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +878 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/redirect_error.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/redirect_error.hpp +69 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +4 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +86 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +92 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +549 -119
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +388 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +7 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +347 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +176 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +79 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +341 -379
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +173 -343
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +559 -206
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +254 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +129 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +78 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +855 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +358 -449
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +165 -418
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +878 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +386 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +6 -743
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +79 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +111 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +164 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +104 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +185 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +821 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +23 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +31 -99
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +313 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +5 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +16 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +76 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +28 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +85 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +2 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +218 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +263 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +3 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +48 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +23 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +128 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +138 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +646 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +17 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +326 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +63 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +94 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +328 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1148 -247
- data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +88 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +736 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +41 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +422 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +32 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +114 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +85 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +89 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +33 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +27 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +10 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +22 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +40 -17
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +8 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +86 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +7 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +90 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +3 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +4 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +209 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +88 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +131 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +4 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +234 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +199 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +70 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +62 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +22 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +346 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +26 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +333 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +344 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +31 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +328 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +29 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +321 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +50 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +688 -220
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +25 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +1 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +9 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +1 -36
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +108 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +189 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +238 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +1111 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +840 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +1656 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +402 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +1301 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_arm.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_ppc.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/hwcaps_gcc_x86.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_extend.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +548 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +134 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +36 -44
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +524 -96
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +27 -59
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +104 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +268 -340
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +22 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +55 -80
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +88 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +30 -103
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/string_ops.hpp +61 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_cc.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +36 -36
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +0 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +28 -30
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_units.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/process_cpu_clocks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/config.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +26 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/diab.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +33 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +28 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +8 -142
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +37 -9
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{posix_features.hpp → detail/posix_features.hpp} +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_compiler_config.hpp → detail/select_compiler_config.hpp} +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_platform_config.hpp → detail/select_platform_config.hpp} +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/{select_stdlib_config.hpp → detail/select_stdlib_config.hpp} +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/{suffix.hpp → detail/suffix.hpp} +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/helper_macros.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/aix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/beos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cray.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/haiku.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/hpux.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/irix.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/macos.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/qnxnto.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/solaris.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/symbian.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +155 -91
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/zos.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/pragma_message.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +21 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +279 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +58 -58
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +7 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +122 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +258 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +119 -134
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +55 -55
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +714 -282
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_sorted.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator_to_raw_pointer.hpp +4 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/min_max.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +37 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +41 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +69 -16
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair_key_mapped_of_value.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/singleton.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +180 -116
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +874 -572
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +497 -248
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +326 -246
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +122 -78
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +285 -110
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +35 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +18 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +24 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +194 -142
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +395 -421
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/float_functions.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/hash_float.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/detail/limits.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/extensions.hpp +112 -16
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/hash.hpp +195 -7
- data/src/cxx_supportlib/vendor-modified/boost/{functional/hash → container_hash}/hash_fwd.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +53 -44
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +80 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +233 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +26 -16
- data/src/cxx_supportlib/vendor-modified/boost/date_time/adjust_functors.hpp +20 -34
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_local_time_adjustor.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_locales.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/filetime_functions.hpp +8 -94
- data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +1 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_io.hpp +52 -52
- data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +14 -27
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/custom_time_zone.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/microsec_time_clock.hpp +36 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +10 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +18 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +65 -20
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +32 -23
- data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +31 -8
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +2 -264
- data/src/cxx_supportlib/vendor-modified/boost/enable_shared_from_this.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +38 -21
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +13 -47
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +1 -6
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +508 -390
- data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +7 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +108 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +147 -64
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +36 -92
- data/src/cxx_supportlib/vendor-modified/boost/make_shared.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +57 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +40 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +253 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +563 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +324 -1071
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/is_sorted.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +59 -143
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +334 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +207 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +86 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/unique.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/destruct_n.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/{intrusive → move}/detail/pointer_element.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +19 -5
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/get_tag.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +85 -55
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/conversion_traits.hpp +0 -7
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp +4 -13
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +26 -7
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +17 -21
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +499 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +126 -21
- data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/pointer_to_other.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +87 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/vector_io.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/poisson_distribution.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_on_sphere.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +56 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +37 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +9 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/scoped_array.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/scoped_ptr.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/shared_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +333 -656
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +148 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +21 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +11 -12
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +15 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +22 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +135 -90
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +140 -111
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +297 -49
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +118 -183
- data/src/cxx_supportlib/vendor-modified/boost/{detail → thread/detail}/atomic_redef_macros.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/{detail → thread/detail}/atomic_undef_macros.hpp +0 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +62 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/log.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +478 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +51 -85
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +11 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/priority_executor_base.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +320 -92
- data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +187 -112
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +137 -164
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +67 -37
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +15 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +65 -33
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +84 -158
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +143 -35
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_heap_alloc.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/shared_mutex.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_only.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +579 -589
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/token_iterator.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +7 -9
- data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_const.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_cv.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_lvalue_reference.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_rvalue_reference.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_volatile.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/conditional.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/decay.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +71 -14
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +370 -102
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +94 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +1177 -572
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/floating_point_promotion.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_equal_to.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater_equal.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less_equal.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +95 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_not_equal_to.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complex.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +20 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +16 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_list_constructible.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_signed.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_unsigned.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/promote.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_bounds.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv_ref.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_reference.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_identity.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -85
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +24 -14
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +18 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +4018 -4052
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +57 -97
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +56 -95
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2150 -1777
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +41 -38
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +1630 -1420
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +40 -37
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +14 -17
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +44 -20
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/weak_ptr.hpp +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +4 -4
- metadata +201 -47
- data/src/cxx_supportlib/ConfigKit/VariantMapUtils.h +0 -96
- data/src/cxx_supportlib/MessageClient.h +0 -309
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/addressof.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/task_io_service.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/shared_ptr.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/weak_ptr.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/win_iocp_serial_port_service.hpp +0 -230
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.hpp +0 -156
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_service.ipp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/basic_context.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_service.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/basic_context.hpp +0 -436
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/context_service.hpp +0 -176
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_context_service.hpp +0 -396
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_operation.hpp +0 -526
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/detail/openssl_stream_service.hpp +0 -573
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream.hpp +0 -503
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/old/stream_service.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_service.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/to_raw_pointer.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/iterator.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex_assert.hpp +0 -724
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/timespec.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/thread.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/utility/empty_deleter.hpp +0 -43
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// connect.hpp
|
|
3
3
|
// ~~~~~~~~~~~
|
|
4
4
|
//
|
|
5
|
-
// Copyright (c) 2003-
|
|
5
|
+
// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
|
6
6
|
//
|
|
7
7
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
8
8
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
|
19
19
|
#include <boost/asio/async_result.hpp>
|
|
20
20
|
#include <boost/asio/basic_socket.hpp>
|
|
21
|
+
#include <boost/asio/detail/type_traits.hpp>
|
|
21
22
|
#include <boost/asio/error.hpp>
|
|
22
23
|
|
|
23
24
|
#include <boost/asio/detail/push_options.hpp>
|
|
@@ -25,6 +26,36 @@
|
|
|
25
26
|
namespace boost {
|
|
26
27
|
namespace asio {
|
|
27
28
|
|
|
29
|
+
namespace detail
|
|
30
|
+
{
|
|
31
|
+
char (&has_iterator_helper(...))[2];
|
|
32
|
+
|
|
33
|
+
template <typename T>
|
|
34
|
+
char has_iterator_helper(T*, typename T::iterator* = 0);
|
|
35
|
+
|
|
36
|
+
template <typename T>
|
|
37
|
+
struct has_iterator_typedef
|
|
38
|
+
{
|
|
39
|
+
enum { value = (sizeof((has_iterator_helper)((T*)(0))) == 1) };
|
|
40
|
+
};
|
|
41
|
+
} // namespace detail
|
|
42
|
+
|
|
43
|
+
/// Type trait used to determine whether a type is an endpoint sequence that can
|
|
44
|
+
/// be used with with @c connect and @c async_connect.
|
|
45
|
+
template <typename T>
|
|
46
|
+
struct is_endpoint_sequence
|
|
47
|
+
{
|
|
48
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
49
|
+
/// The value member is true if the type may be used as an endpoint sequence.
|
|
50
|
+
static const bool value;
|
|
51
|
+
#else
|
|
52
|
+
enum
|
|
53
|
+
{
|
|
54
|
+
value = detail::has_iterator_typedef<T>::value
|
|
55
|
+
};
|
|
56
|
+
#endif
|
|
57
|
+
};
|
|
58
|
+
|
|
28
59
|
/**
|
|
29
60
|
* @defgroup connect boost::asio::connect
|
|
30
61
|
*
|
|
@@ -42,27 +73,26 @@ namespace asio {
|
|
|
42
73
|
* @param s The socket to be connected. If the socket is already open, it will
|
|
43
74
|
* be closed.
|
|
44
75
|
*
|
|
45
|
-
* @param
|
|
76
|
+
* @param endpoints A sequence of endpoints.
|
|
46
77
|
*
|
|
47
|
-
* @returns
|
|
48
|
-
* endpoint. Otherwise, the end iterator.
|
|
78
|
+
* @returns The successfully connected endpoint.
|
|
49
79
|
*
|
|
50
80
|
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
|
51
81
|
* empty, the associated @c error_code is boost::asio::error::not_found.
|
|
52
82
|
* Otherwise, contains the error from the last connection attempt.
|
|
53
83
|
*
|
|
54
|
-
* @note This overload assumes that a default constructed object of type @c
|
|
55
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
56
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
57
|
-
*
|
|
58
84
|
* @par Example
|
|
59
|
-
* @code tcp::resolver r(
|
|
85
|
+
* @code tcp::resolver r(io_context);
|
|
60
86
|
* tcp::resolver::query q("host", "service");
|
|
61
|
-
* tcp::socket s(
|
|
87
|
+
* tcp::socket s(io_context);
|
|
62
88
|
* boost::asio::connect(s, r.resolve(q)); @endcode
|
|
63
89
|
*/
|
|
64
|
-
template <typename Protocol
|
|
65
|
-
|
|
90
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename EndpointSequence>
|
|
91
|
+
typename Protocol::endpoint connect(
|
|
92
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
93
|
+
const EndpointSequence& endpoints,
|
|
94
|
+
typename enable_if<is_endpoint_sequence<
|
|
95
|
+
EndpointSequence>::value>::type* = 0);
|
|
66
96
|
|
|
67
97
|
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
68
98
|
/**
|
|
@@ -74,23 +104,19 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin);
|
|
|
74
104
|
* @param s The socket to be connected. If the socket is already open, it will
|
|
75
105
|
* be closed.
|
|
76
106
|
*
|
|
77
|
-
* @param
|
|
107
|
+
* @param endpoints A sequence of endpoints.
|
|
78
108
|
*
|
|
79
109
|
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
|
80
110
|
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
|
81
111
|
* from the last connection attempt.
|
|
82
112
|
*
|
|
83
|
-
* @returns On success,
|
|
84
|
-
* endpoint.
|
|
85
|
-
*
|
|
86
|
-
* @note This overload assumes that a default constructed object of type @c
|
|
87
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
88
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
113
|
+
* @returns On success, the successfully connected endpoint. Otherwise, a
|
|
114
|
+
* default-constructed endpoint.
|
|
89
115
|
*
|
|
90
116
|
* @par Example
|
|
91
|
-
* @code tcp::resolver r(
|
|
117
|
+
* @code tcp::resolver r(io_context);
|
|
92
118
|
* tcp::resolver::query q("host", "service");
|
|
93
|
-
* tcp::socket s(
|
|
119
|
+
* tcp::socket s(io_context);
|
|
94
120
|
* boost::system::error_code ec;
|
|
95
121
|
* boost::asio::connect(s, r.resolve(q), ec);
|
|
96
122
|
* if (ec)
|
|
@@ -98,11 +124,16 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin);
|
|
|
98
124
|
* // An error occurred.
|
|
99
125
|
* } @endcode
|
|
100
126
|
*/
|
|
101
|
-
template <typename Protocol
|
|
102
|
-
|
|
103
|
-
|
|
127
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename EndpointSequence>
|
|
128
|
+
typename Protocol::endpoint connect(
|
|
129
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
130
|
+
const EndpointSequence& endpoints, boost::system::error_code& ec,
|
|
131
|
+
typename enable_if<is_endpoint_sequence<
|
|
132
|
+
EndpointSequence>::value>::type* = 0);
|
|
104
133
|
|
|
105
|
-
|
|
134
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
135
|
+
/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
|
|
136
|
+
/// sequence.
|
|
106
137
|
/**
|
|
107
138
|
* This function attempts to connect a socket to one of a sequence of
|
|
108
139
|
* endpoints. It does this by repeated calls to the socket's @c connect member
|
|
@@ -114,24 +145,80 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
114
145
|
*
|
|
115
146
|
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
116
147
|
*
|
|
117
|
-
* @
|
|
148
|
+
* @returns On success, an iterator denoting the successfully connected
|
|
149
|
+
* endpoint. Otherwise, the end iterator.
|
|
150
|
+
*
|
|
151
|
+
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
|
152
|
+
* empty, the associated @c error_code is boost::asio::error::not_found.
|
|
153
|
+
* Otherwise, contains the error from the last connection attempt.
|
|
154
|
+
*
|
|
155
|
+
* @note This overload assumes that a default constructed object of type @c
|
|
156
|
+
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
157
|
+
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
158
|
+
*/
|
|
159
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
160
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
|
|
161
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
|
162
|
+
|
|
163
|
+
/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
|
|
164
|
+
/// sequence.
|
|
165
|
+
/**
|
|
166
|
+
* This function attempts to connect a socket to one of a sequence of
|
|
167
|
+
* endpoints. It does this by repeated calls to the socket's @c connect member
|
|
168
|
+
* function, once for each endpoint in the sequence, until a connection is
|
|
169
|
+
* successfully established.
|
|
170
|
+
*
|
|
171
|
+
* @param s The socket to be connected. If the socket is already open, it will
|
|
172
|
+
* be closed.
|
|
173
|
+
*
|
|
174
|
+
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
175
|
+
*
|
|
176
|
+
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
|
177
|
+
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
|
178
|
+
* from the last connection attempt.
|
|
118
179
|
*
|
|
119
180
|
* @returns On success, an iterator denoting the successfully connected
|
|
120
181
|
* endpoint. Otherwise, the end iterator.
|
|
121
182
|
*
|
|
183
|
+
* @note This overload assumes that a default constructed object of type @c
|
|
184
|
+
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
185
|
+
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
186
|
+
*/
|
|
187
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
188
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
189
|
+
Iterator begin, boost::system::error_code& ec,
|
|
190
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
|
191
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
192
|
+
|
|
193
|
+
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
194
|
+
/**
|
|
195
|
+
* This function attempts to connect a socket to one of a sequence of
|
|
196
|
+
* endpoints. It does this by repeated calls to the socket's @c connect member
|
|
197
|
+
* function, once for each endpoint in the sequence, until a connection is
|
|
198
|
+
* successfully established.
|
|
199
|
+
*
|
|
200
|
+
* @param s The socket to be connected. If the socket is already open, it will
|
|
201
|
+
* be closed.
|
|
202
|
+
*
|
|
203
|
+
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
204
|
+
*
|
|
205
|
+
* @param end An iterator pointing to the end of a sequence of endpoints.
|
|
206
|
+
*
|
|
207
|
+
* @returns An iterator denoting the successfully connected endpoint.
|
|
208
|
+
*
|
|
122
209
|
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
|
123
210
|
* empty, the associated @c error_code is boost::asio::error::not_found.
|
|
124
211
|
* Otherwise, contains the error from the last connection attempt.
|
|
125
212
|
*
|
|
126
213
|
* @par Example
|
|
127
|
-
* @code tcp::resolver r(
|
|
214
|
+
* @code tcp::resolver r(io_context);
|
|
128
215
|
* tcp::resolver::query q("host", "service");
|
|
129
|
-
* tcp::resolver::
|
|
130
|
-
* tcp::socket s(
|
|
131
|
-
* boost::asio::connect(s,
|
|
216
|
+
* tcp::resolver::results_type e = r.resolve(q);
|
|
217
|
+
* tcp::socket s(io_context);
|
|
218
|
+
* boost::asio::connect(s, e.begin(), e.end()); @endcode
|
|
132
219
|
*/
|
|
133
|
-
template <typename Protocol
|
|
134
|
-
Iterator connect(basic_socket<Protocol
|
|
220
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
221
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
135
222
|
Iterator begin, Iterator end);
|
|
136
223
|
|
|
137
224
|
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
@@ -156,19 +243,19 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
156
243
|
* endpoint. Otherwise, the end iterator.
|
|
157
244
|
*
|
|
158
245
|
* @par Example
|
|
159
|
-
* @code tcp::resolver r(
|
|
246
|
+
* @code tcp::resolver r(io_context);
|
|
160
247
|
* tcp::resolver::query q("host", "service");
|
|
161
|
-
* tcp::resolver::
|
|
162
|
-
* tcp::socket s(
|
|
248
|
+
* tcp::resolver::results_type e = r.resolve(q);
|
|
249
|
+
* tcp::socket s(io_context);
|
|
163
250
|
* boost::system::error_code ec;
|
|
164
|
-
* boost::asio::connect(s,
|
|
251
|
+
* boost::asio::connect(s, e.begin(), e.end(), ec);
|
|
165
252
|
* if (ec)
|
|
166
253
|
* {
|
|
167
254
|
* // An error occurred.
|
|
168
255
|
* } @endcode
|
|
169
256
|
*/
|
|
170
|
-
template <typename Protocol
|
|
171
|
-
Iterator connect(basic_socket<Protocol
|
|
257
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator>
|
|
258
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
172
259
|
Iterator begin, Iterator end, boost::system::error_code& ec);
|
|
173
260
|
|
|
174
261
|
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
@@ -181,59 +268,54 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
181
268
|
* @param s The socket to be connected. If the socket is already open, it will
|
|
182
269
|
* be closed.
|
|
183
270
|
*
|
|
184
|
-
* @param
|
|
271
|
+
* @param endpoints A sequence of endpoints.
|
|
185
272
|
*
|
|
186
273
|
* @param connect_condition A function object that is called prior to each
|
|
187
274
|
* connection attempt. The signature of the function object must be:
|
|
188
|
-
* @code
|
|
275
|
+
* @code bool connect_condition(
|
|
189
276
|
* const boost::system::error_code& ec,
|
|
190
|
-
*
|
|
277
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
191
278
|
* The @c ec parameter contains the result from the most recent connect
|
|
192
279
|
* operation. Before the first connection attempt, @c ec is always set to
|
|
193
|
-
* indicate success. The @c next parameter is
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
* skipped. The implementation guarantees that the function object will never
|
|
197
|
-
* be called with the end iterator.
|
|
280
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
281
|
+
* The function object should return true if the next endpoint should be tried,
|
|
282
|
+
* and false if it should be skipped.
|
|
198
283
|
*
|
|
199
|
-
* @returns
|
|
200
|
-
* endpoint. Otherwise, the end iterator.
|
|
284
|
+
* @returns The successfully connected endpoint.
|
|
201
285
|
*
|
|
202
286
|
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
|
203
287
|
* empty, the associated @c error_code is boost::asio::error::not_found.
|
|
204
288
|
* Otherwise, contains the error from the last connection attempt.
|
|
205
289
|
*
|
|
206
|
-
* @note This overload assumes that a default constructed object of type @c
|
|
207
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
208
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
209
|
-
*
|
|
210
290
|
* @par Example
|
|
211
291
|
* The following connect condition function object can be used to output
|
|
212
292
|
* information about the individual connection attempts:
|
|
213
293
|
* @code struct my_connect_condition
|
|
214
294
|
* {
|
|
215
|
-
*
|
|
216
|
-
* Iterator operator()(
|
|
295
|
+
* bool operator()(
|
|
217
296
|
* const boost::system::error_code& ec,
|
|
218
|
-
*
|
|
297
|
+
* const::tcp::endpoint& next)
|
|
219
298
|
* {
|
|
220
299
|
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
|
221
|
-
* std::cout << "Trying: " << next
|
|
222
|
-
* return
|
|
300
|
+
* std::cout << "Trying: " << next << std::endl;
|
|
301
|
+
* return true;
|
|
223
302
|
* }
|
|
224
303
|
* }; @endcode
|
|
225
304
|
* It would be used with the boost::asio::connect function as follows:
|
|
226
|
-
* @code tcp::resolver r(
|
|
305
|
+
* @code tcp::resolver r(io_context);
|
|
227
306
|
* tcp::resolver::query q("host", "service");
|
|
228
|
-
* tcp::socket s(
|
|
229
|
-
* tcp::
|
|
230
|
-
*
|
|
231
|
-
* std::cout << "Connected to: " <<
|
|
307
|
+
* tcp::socket s(io_context);
|
|
308
|
+
* tcp::endpoint e = boost::asio::connect(s,
|
|
309
|
+
* r.resolve(q), my_connect_condition());
|
|
310
|
+
* std::cout << "Connected to: " << e << std::endl; @endcode
|
|
232
311
|
*/
|
|
233
|
-
template <typename Protocol
|
|
234
|
-
typename
|
|
235
|
-
|
|
236
|
-
|
|
312
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
313
|
+
typename EndpointSequence, typename ConnectCondition>
|
|
314
|
+
typename Protocol::endpoint connect(
|
|
315
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
316
|
+
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
|
317
|
+
typename enable_if<is_endpoint_sequence<
|
|
318
|
+
EndpointSequence>::value>::type* = 0);
|
|
237
319
|
|
|
238
320
|
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
239
321
|
/**
|
|
@@ -245,67 +327,148 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
245
327
|
* @param s The socket to be connected. If the socket is already open, it will
|
|
246
328
|
* be closed.
|
|
247
329
|
*
|
|
248
|
-
* @param
|
|
330
|
+
* @param endpoints A sequence of endpoints.
|
|
249
331
|
*
|
|
250
332
|
* @param connect_condition A function object that is called prior to each
|
|
251
333
|
* connection attempt. The signature of the function object must be:
|
|
252
|
-
* @code
|
|
334
|
+
* @code bool connect_condition(
|
|
253
335
|
* const boost::system::error_code& ec,
|
|
254
|
-
*
|
|
336
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
255
337
|
* The @c ec parameter contains the result from the most recent connect
|
|
256
338
|
* operation. Before the first connection attempt, @c ec is always set to
|
|
257
|
-
* indicate success. The @c next parameter is
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
* skipped. The implementation guarantees that the function object will never
|
|
261
|
-
* be called with the end iterator.
|
|
339
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
340
|
+
* The function object should return true if the next endpoint should be tried,
|
|
341
|
+
* and false if it should be skipped.
|
|
262
342
|
*
|
|
263
343
|
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
|
264
344
|
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
|
265
345
|
* from the last connection attempt.
|
|
266
346
|
*
|
|
267
|
-
* @returns On success,
|
|
268
|
-
* endpoint.
|
|
269
|
-
*
|
|
270
|
-
* @note This overload assumes that a default constructed object of type @c
|
|
271
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
272
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
347
|
+
* @returns On success, the successfully connected endpoint. Otherwise, a
|
|
348
|
+
* default-constructed endpoint.
|
|
273
349
|
*
|
|
274
350
|
* @par Example
|
|
275
351
|
* The following connect condition function object can be used to output
|
|
276
352
|
* information about the individual connection attempts:
|
|
277
353
|
* @code struct my_connect_condition
|
|
278
354
|
* {
|
|
279
|
-
*
|
|
280
|
-
* Iterator operator()(
|
|
355
|
+
* bool operator()(
|
|
281
356
|
* const boost::system::error_code& ec,
|
|
282
|
-
*
|
|
357
|
+
* const::tcp::endpoint& next)
|
|
283
358
|
* {
|
|
284
359
|
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
|
285
|
-
* std::cout << "Trying: " << next
|
|
286
|
-
* return
|
|
360
|
+
* std::cout << "Trying: " << next << std::endl;
|
|
361
|
+
* return true;
|
|
287
362
|
* }
|
|
288
363
|
* }; @endcode
|
|
289
364
|
* It would be used with the boost::asio::connect function as follows:
|
|
290
|
-
* @code tcp::resolver r(
|
|
365
|
+
* @code tcp::resolver r(io_context);
|
|
291
366
|
* tcp::resolver::query q("host", "service");
|
|
292
|
-
* tcp::socket s(
|
|
367
|
+
* tcp::socket s(io_context);
|
|
293
368
|
* boost::system::error_code ec;
|
|
294
|
-
* tcp::
|
|
295
|
-
*
|
|
369
|
+
* tcp::endpoint e = boost::asio::connect(s,
|
|
370
|
+
* r.resolve(q), my_connect_condition(), ec);
|
|
296
371
|
* if (ec)
|
|
297
372
|
* {
|
|
298
373
|
* // An error occurred.
|
|
299
374
|
* }
|
|
300
375
|
* else
|
|
301
376
|
* {
|
|
302
|
-
* std::cout << "Connected to: " <<
|
|
377
|
+
* std::cout << "Connected to: " << e << std::endl;
|
|
303
378
|
* } @endcode
|
|
304
379
|
*/
|
|
305
|
-
template <typename Protocol
|
|
380
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
381
|
+
typename EndpointSequence, typename ConnectCondition>
|
|
382
|
+
typename Protocol::endpoint connect(
|
|
383
|
+
basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
384
|
+
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
|
385
|
+
boost::system::error_code& ec,
|
|
386
|
+
typename enable_if<is_endpoint_sequence<
|
|
387
|
+
EndpointSequence>::value>::type* = 0);
|
|
388
|
+
|
|
389
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
390
|
+
/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
|
|
391
|
+
/// sequence.
|
|
392
|
+
/**
|
|
393
|
+
* This function attempts to connect a socket to one of a sequence of
|
|
394
|
+
* endpoints. It does this by repeated calls to the socket's @c connect member
|
|
395
|
+
* function, once for each endpoint in the sequence, until a connection is
|
|
396
|
+
* successfully established.
|
|
397
|
+
*
|
|
398
|
+
* @param s The socket to be connected. If the socket is already open, it will
|
|
399
|
+
* be closed.
|
|
400
|
+
*
|
|
401
|
+
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
402
|
+
*
|
|
403
|
+
* @param connect_condition A function object that is called prior to each
|
|
404
|
+
* connection attempt. The signature of the function object must be:
|
|
405
|
+
* @code bool connect_condition(
|
|
406
|
+
* const boost::system::error_code& ec,
|
|
407
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
408
|
+
* The @c ec parameter contains the result from the most recent connect
|
|
409
|
+
* operation. Before the first connection attempt, @c ec is always set to
|
|
410
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
411
|
+
* The function object should return true if the next endpoint should be tried,
|
|
412
|
+
* and false if it should be skipped.
|
|
413
|
+
*
|
|
414
|
+
* @returns On success, an iterator denoting the successfully connected
|
|
415
|
+
* endpoint. Otherwise, the end iterator.
|
|
416
|
+
*
|
|
417
|
+
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
|
418
|
+
* empty, the associated @c error_code is boost::asio::error::not_found.
|
|
419
|
+
* Otherwise, contains the error from the last connection attempt.
|
|
420
|
+
*
|
|
421
|
+
* @note This overload assumes that a default constructed object of type @c
|
|
422
|
+
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
423
|
+
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
424
|
+
*/
|
|
425
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
306
426
|
typename Iterator, typename ConnectCondition>
|
|
307
|
-
Iterator connect(basic_socket<Protocol
|
|
308
|
-
ConnectCondition connect_condition,
|
|
427
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
428
|
+
Iterator begin, ConnectCondition connect_condition,
|
|
429
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
|
430
|
+
|
|
431
|
+
/// (Deprecated.) Establishes a socket connection by trying each endpoint in a
|
|
432
|
+
/// sequence.
|
|
433
|
+
/**
|
|
434
|
+
* This function attempts to connect a socket to one of a sequence of
|
|
435
|
+
* endpoints. It does this by repeated calls to the socket's @c connect member
|
|
436
|
+
* function, once for each endpoint in the sequence, until a connection is
|
|
437
|
+
* successfully established.
|
|
438
|
+
*
|
|
439
|
+
* @param s The socket to be connected. If the socket is already open, it will
|
|
440
|
+
* be closed.
|
|
441
|
+
*
|
|
442
|
+
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
443
|
+
*
|
|
444
|
+
* @param connect_condition A function object that is called prior to each
|
|
445
|
+
* connection attempt. The signature of the function object must be:
|
|
446
|
+
* @code bool connect_condition(
|
|
447
|
+
* const boost::system::error_code& ec,
|
|
448
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
449
|
+
* The @c ec parameter contains the result from the most recent connect
|
|
450
|
+
* operation. Before the first connection attempt, @c ec is always set to
|
|
451
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
452
|
+
* The function object should return true if the next endpoint should be tried,
|
|
453
|
+
* and false if it should be skipped.
|
|
454
|
+
*
|
|
455
|
+
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
|
456
|
+
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
|
457
|
+
* from the last connection attempt.
|
|
458
|
+
*
|
|
459
|
+
* @returns On success, an iterator denoting the successfully connected
|
|
460
|
+
* endpoint. Otherwise, the end iterator.
|
|
461
|
+
*
|
|
462
|
+
* @note This overload assumes that a default constructed object of type @c
|
|
463
|
+
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
464
|
+
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
465
|
+
*/
|
|
466
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
467
|
+
typename Iterator, typename ConnectCondition>
|
|
468
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
|
|
469
|
+
ConnectCondition connect_condition, boost::system::error_code& ec,
|
|
470
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
|
471
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
309
472
|
|
|
310
473
|
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
311
474
|
/**
|
|
@@ -323,19 +486,16 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
323
486
|
*
|
|
324
487
|
* @param connect_condition A function object that is called prior to each
|
|
325
488
|
* connection attempt. The signature of the function object must be:
|
|
326
|
-
* @code
|
|
489
|
+
* @code bool connect_condition(
|
|
327
490
|
* const boost::system::error_code& ec,
|
|
328
|
-
*
|
|
491
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
329
492
|
* The @c ec parameter contains the result from the most recent connect
|
|
330
493
|
* operation. Before the first connection attempt, @c ec is always set to
|
|
331
|
-
* indicate success. The @c next parameter is
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
* skipped. The implementation guarantees that the function object will never
|
|
335
|
-
* be called with the end iterator.
|
|
494
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
495
|
+
* The function object should return true if the next endpoint should be tried,
|
|
496
|
+
* and false if it should be skipped.
|
|
336
497
|
*
|
|
337
|
-
* @returns
|
|
338
|
-
* endpoint. Otherwise, the end iterator.
|
|
498
|
+
* @returns An iterator denoting the successfully connected endpoint.
|
|
339
499
|
*
|
|
340
500
|
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
|
341
501
|
* empty, the associated @c error_code is boost::asio::error::not_found.
|
|
@@ -346,27 +506,27 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
346
506
|
* information about the individual connection attempts:
|
|
347
507
|
* @code struct my_connect_condition
|
|
348
508
|
* {
|
|
349
|
-
*
|
|
350
|
-
* Iterator operator()(
|
|
509
|
+
* bool operator()(
|
|
351
510
|
* const boost::system::error_code& ec,
|
|
352
|
-
*
|
|
511
|
+
* const::tcp::endpoint& next)
|
|
353
512
|
* {
|
|
354
513
|
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
|
355
|
-
* std::cout << "Trying: " << next
|
|
356
|
-
* return
|
|
514
|
+
* std::cout << "Trying: " << next << std::endl;
|
|
515
|
+
* return true;
|
|
357
516
|
* }
|
|
358
517
|
* }; @endcode
|
|
359
518
|
* It would be used with the boost::asio::connect function as follows:
|
|
360
|
-
* @code tcp::resolver r(
|
|
519
|
+
* @code tcp::resolver r(io_context);
|
|
361
520
|
* tcp::resolver::query q("host", "service");
|
|
362
|
-
* tcp::resolver::
|
|
363
|
-
* tcp::socket s(
|
|
364
|
-
* i = boost::asio::connect(
|
|
521
|
+
* tcp::resolver::results_type e = r.resolve(q);
|
|
522
|
+
* tcp::socket s(io_context);
|
|
523
|
+
* tcp::resolver::results_type::iterator i = boost::asio::connect(
|
|
524
|
+
* s, e.begin(), e.end(), my_connect_condition());
|
|
365
525
|
* std::cout << "Connected to: " << i->endpoint() << std::endl; @endcode
|
|
366
526
|
*/
|
|
367
|
-
template <typename Protocol
|
|
527
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
368
528
|
typename Iterator, typename ConnectCondition>
|
|
369
|
-
Iterator connect(basic_socket<Protocol
|
|
529
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
|
|
370
530
|
Iterator end, ConnectCondition connect_condition);
|
|
371
531
|
|
|
372
532
|
/// Establishes a socket connection by trying each endpoint in a sequence.
|
|
@@ -385,16 +545,14 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
385
545
|
*
|
|
386
546
|
* @param connect_condition A function object that is called prior to each
|
|
387
547
|
* connection attempt. The signature of the function object must be:
|
|
388
|
-
* @code
|
|
548
|
+
* @code bool connect_condition(
|
|
389
549
|
* const boost::system::error_code& ec,
|
|
390
|
-
*
|
|
550
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
391
551
|
* The @c ec parameter contains the result from the most recent connect
|
|
392
552
|
* operation. Before the first connection attempt, @c ec is always set to
|
|
393
|
-
* indicate success. The @c next parameter is
|
|
394
|
-
*
|
|
395
|
-
*
|
|
396
|
-
* skipped. The implementation guarantees that the function object will never
|
|
397
|
-
* be called with the end iterator.
|
|
553
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
554
|
+
* The function object should return true if the next endpoint should be tried,
|
|
555
|
+
* and false if it should be skipped.
|
|
398
556
|
*
|
|
399
557
|
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
|
400
558
|
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
|
@@ -408,23 +566,23 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
408
566
|
* information about the individual connection attempts:
|
|
409
567
|
* @code struct my_connect_condition
|
|
410
568
|
* {
|
|
411
|
-
*
|
|
412
|
-
* Iterator operator()(
|
|
569
|
+
* bool operator()(
|
|
413
570
|
* const boost::system::error_code& ec,
|
|
414
|
-
*
|
|
571
|
+
* const::tcp::endpoint& next)
|
|
415
572
|
* {
|
|
416
573
|
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
|
417
|
-
* std::cout << "Trying: " << next
|
|
418
|
-
* return
|
|
574
|
+
* std::cout << "Trying: " << next << std::endl;
|
|
575
|
+
* return true;
|
|
419
576
|
* }
|
|
420
577
|
* }; @endcode
|
|
421
578
|
* It would be used with the boost::asio::connect function as follows:
|
|
422
|
-
* @code tcp::resolver r(
|
|
579
|
+
* @code tcp::resolver r(io_context);
|
|
423
580
|
* tcp::resolver::query q("host", "service");
|
|
424
|
-
* tcp::resolver::
|
|
425
|
-
* tcp::socket s(
|
|
581
|
+
* tcp::resolver::results_type e = r.resolve(q);
|
|
582
|
+
* tcp::socket s(io_context);
|
|
426
583
|
* boost::system::error_code ec;
|
|
427
|
-
* i = boost::asio::connect(
|
|
584
|
+
* tcp::resolver::results_type::iterator i = boost::asio::connect(
|
|
585
|
+
* s, e.begin(), e.end(), my_connect_condition());
|
|
428
586
|
* if (ec)
|
|
429
587
|
* {
|
|
430
588
|
* // An error occurred.
|
|
@@ -434,9 +592,9 @@ Iterator connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
434
592
|
* std::cout << "Connected to: " << i->endpoint() << std::endl;
|
|
435
593
|
* } @endcode
|
|
436
594
|
*/
|
|
437
|
-
template <typename Protocol
|
|
595
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
438
596
|
typename Iterator, typename ConnectCondition>
|
|
439
|
-
Iterator connect(basic_socket<Protocol
|
|
597
|
+
Iterator connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
440
598
|
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
|
441
599
|
boost::system::error_code& ec);
|
|
442
600
|
|
|
@@ -461,7 +619,7 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
461
619
|
* @param s The socket to be connected. If the socket is already open, it will
|
|
462
620
|
* be closed.
|
|
463
621
|
*
|
|
464
|
-
* @param
|
|
622
|
+
* @param endpoints A sequence of endpoints.
|
|
465
623
|
*
|
|
466
624
|
* @param handler The handler to be called when the connect operation
|
|
467
625
|
* completes. Copies will be made of the handler as required. The function
|
|
@@ -472,23 +630,19 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
472
630
|
* // error from the last connection attempt.
|
|
473
631
|
* const boost::system::error_code& error,
|
|
474
632
|
*
|
|
475
|
-
* // On success,
|
|
476
|
-
* //
|
|
477
|
-
*
|
|
633
|
+
* // On success, the successfully connected endpoint.
|
|
634
|
+
* // Otherwise, a default-constructed endpoint.
|
|
635
|
+
* const typename Protocol::endpoint& endpoint
|
|
478
636
|
* ); @endcode
|
|
479
637
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
480
638
|
* not, the handler will not be invoked from within this function. Invocation
|
|
481
639
|
* of the handler will be performed in a manner equivalent to using
|
|
482
|
-
* boost::asio::
|
|
483
|
-
*
|
|
484
|
-
* @note This overload assumes that a default constructed object of type @c
|
|
485
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
486
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
640
|
+
* boost::asio::io_context::post().
|
|
487
641
|
*
|
|
488
642
|
* @par Example
|
|
489
|
-
* @code tcp::resolver r(
|
|
643
|
+
* @code tcp::resolver r(io_context);
|
|
490
644
|
* tcp::resolver::query q("host", "service");
|
|
491
|
-
* tcp::socket s(
|
|
645
|
+
* tcp::socket s(io_context);
|
|
492
646
|
*
|
|
493
647
|
* // ...
|
|
494
648
|
*
|
|
@@ -498,11 +652,11 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
498
652
|
*
|
|
499
653
|
* void resolve_handler(
|
|
500
654
|
* const boost::system::error_code& ec,
|
|
501
|
-
* tcp::resolver::
|
|
655
|
+
* tcp::resolver::results_type results)
|
|
502
656
|
* {
|
|
503
657
|
* if (!ec)
|
|
504
658
|
* {
|
|
505
|
-
* boost::asio::async_connect(s,
|
|
659
|
+
* boost::asio::async_connect(s, results, connect_handler);
|
|
506
660
|
* }
|
|
507
661
|
* }
|
|
508
662
|
*
|
|
@@ -510,17 +664,65 @@ Iterator connect(basic_socket<Protocol, SocketService>& s,
|
|
|
510
664
|
*
|
|
511
665
|
* void connect_handler(
|
|
512
666
|
* const boost::system::error_code& ec,
|
|
513
|
-
* tcp::
|
|
667
|
+
* const tcp::endpoint& endpoint)
|
|
514
668
|
* {
|
|
515
669
|
* // ...
|
|
516
670
|
* } @endcode
|
|
517
671
|
*/
|
|
518
|
-
template <typename Protocol
|
|
519
|
-
typename
|
|
520
|
-
BOOST_ASIO_INITFN_RESULT_TYPE(
|
|
672
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
673
|
+
typename EndpointSequence, typename RangeConnectHandler>
|
|
674
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(RangeConnectHandler,
|
|
675
|
+
void (boost::system::error_code, typename Protocol::endpoint))
|
|
676
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
677
|
+
const EndpointSequence& endpoints,
|
|
678
|
+
BOOST_ASIO_MOVE_ARG(RangeConnectHandler) handler,
|
|
679
|
+
typename enable_if<is_endpoint_sequence<
|
|
680
|
+
EndpointSequence>::value>::type* = 0);
|
|
681
|
+
|
|
682
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
683
|
+
/// (Deprecated.) Asynchronously establishes a socket connection by trying each
|
|
684
|
+
/// endpoint in a sequence.
|
|
685
|
+
/**
|
|
686
|
+
* This function attempts to connect a socket to one of a sequence of
|
|
687
|
+
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
|
688
|
+
* member function, once for each endpoint in the sequence, until a connection
|
|
689
|
+
* is successfully established.
|
|
690
|
+
*
|
|
691
|
+
* @param s The socket to be connected. If the socket is already open, it will
|
|
692
|
+
* be closed.
|
|
693
|
+
*
|
|
694
|
+
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
695
|
+
*
|
|
696
|
+
* @param handler The handler to be called when the connect operation
|
|
697
|
+
* completes. Copies will be made of the handler as required. The function
|
|
698
|
+
* signature of the handler must be:
|
|
699
|
+
* @code void handler(
|
|
700
|
+
* // Result of operation. if the sequence is empty, set to
|
|
701
|
+
* // boost::asio::error::not_found. Otherwise, contains the
|
|
702
|
+
* // error from the last connection attempt.
|
|
703
|
+
* const boost::system::error_code& error,
|
|
704
|
+
*
|
|
705
|
+
* // On success, an iterator denoting the successfully
|
|
706
|
+
* // connected endpoint. Otherwise, the end iterator.
|
|
707
|
+
* Iterator iterator
|
|
708
|
+
* ); @endcode
|
|
709
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
710
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
711
|
+
* of the handler will be performed in a manner equivalent to using
|
|
712
|
+
* boost::asio::io_context::post().
|
|
713
|
+
*
|
|
714
|
+
* @note This overload assumes that a default constructed object of type @c
|
|
715
|
+
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
716
|
+
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
717
|
+
*/
|
|
718
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
719
|
+
typename Iterator, typename IteratorConnectHandler>
|
|
720
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
521
721
|
void (boost::system::error_code, Iterator))
|
|
522
|
-
async_connect(basic_socket<Protocol
|
|
523
|
-
Iterator begin, BOOST_ASIO_MOVE_ARG(
|
|
722
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
723
|
+
Iterator begin, BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler,
|
|
724
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
|
725
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
524
726
|
|
|
525
727
|
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
|
526
728
|
/// sequence.
|
|
@@ -553,46 +755,31 @@ async_connect(basic_socket<Protocol, SocketService>& s,
|
|
|
553
755
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
554
756
|
* not, the handler will not be invoked from within this function. Invocation
|
|
555
757
|
* of the handler will be performed in a manner equivalent to using
|
|
556
|
-
* boost::asio::
|
|
758
|
+
* boost::asio::io_context::post().
|
|
557
759
|
*
|
|
558
760
|
* @par Example
|
|
559
|
-
* @code tcp::
|
|
560
|
-
* tcp::
|
|
561
|
-
*
|
|
562
|
-
*
|
|
563
|
-
*
|
|
564
|
-
*
|
|
565
|
-
* r.async_resolve(q, resolve_handler);
|
|
566
|
-
*
|
|
567
|
-
* // ...
|
|
568
|
-
*
|
|
569
|
-
* void resolve_handler(
|
|
570
|
-
* const boost::system::error_code& ec,
|
|
571
|
-
* tcp::resolver::iterator i)
|
|
572
|
-
* {
|
|
573
|
-
* if (!ec)
|
|
574
|
-
* {
|
|
575
|
-
* tcp::resolver::iterator end;
|
|
576
|
-
* boost::asio::async_connect(s, i, end, connect_handler);
|
|
577
|
-
* }
|
|
578
|
-
* }
|
|
761
|
+
* @code std::vector<tcp::endpoint> endpoints = ...;
|
|
762
|
+
* tcp::socket s(io_context);
|
|
763
|
+
* boost::asio::async_connect(s,
|
|
764
|
+
* endpoints.begin(), endpoints.end(),
|
|
765
|
+
* connect_handler);
|
|
579
766
|
*
|
|
580
767
|
* // ...
|
|
581
768
|
*
|
|
582
769
|
* void connect_handler(
|
|
583
770
|
* const boost::system::error_code& ec,
|
|
584
|
-
* tcp::
|
|
771
|
+
* std::vector<tcp::endpoint>::iterator i)
|
|
585
772
|
* {
|
|
586
773
|
* // ...
|
|
587
774
|
* } @endcode
|
|
588
775
|
*/
|
|
589
|
-
template <typename Protocol
|
|
590
|
-
typename Iterator, typename
|
|
591
|
-
BOOST_ASIO_INITFN_RESULT_TYPE(
|
|
776
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM,
|
|
777
|
+
typename Iterator, typename IteratorConnectHandler>
|
|
778
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
592
779
|
void (boost::system::error_code, Iterator))
|
|
593
|
-
async_connect(basic_socket<Protocol
|
|
780
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
594
781
|
Iterator begin, Iterator end,
|
|
595
|
-
BOOST_ASIO_MOVE_ARG(
|
|
782
|
+
BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler);
|
|
596
783
|
|
|
597
784
|
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
|
598
785
|
/// sequence.
|
|
@@ -605,20 +792,18 @@ async_connect(basic_socket<Protocol, SocketService>& s,
|
|
|
605
792
|
* @param s The socket to be connected. If the socket is already open, it will
|
|
606
793
|
* be closed.
|
|
607
794
|
*
|
|
608
|
-
* @param
|
|
795
|
+
* @param endpoints A sequence of endpoints.
|
|
609
796
|
*
|
|
610
797
|
* @param connect_condition A function object that is called prior to each
|
|
611
798
|
* connection attempt. The signature of the function object must be:
|
|
612
|
-
* @code
|
|
799
|
+
* @code bool connect_condition(
|
|
613
800
|
* const boost::system::error_code& ec,
|
|
614
|
-
*
|
|
801
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
615
802
|
* The @c ec parameter contains the result from the most recent connect
|
|
616
803
|
* operation. Before the first connection attempt, @c ec is always set to
|
|
617
|
-
* indicate success. The @c next parameter is
|
|
618
|
-
*
|
|
619
|
-
*
|
|
620
|
-
* skipped. The implementation guarantees that the function object will never
|
|
621
|
-
* be called with the end iterator.
|
|
804
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
805
|
+
* The function object should return true if the next endpoint should be tried,
|
|
806
|
+
* and false if it should be skipped.
|
|
622
807
|
*
|
|
623
808
|
* @param handler The handler to be called when the connect operation
|
|
624
809
|
* completes. Copies will be made of the handler as required. The function
|
|
@@ -636,31 +821,26 @@ async_connect(basic_socket<Protocol, SocketService>& s,
|
|
|
636
821
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
637
822
|
* not, the handler will not be invoked from within this function. Invocation
|
|
638
823
|
* of the handler will be performed in a manner equivalent to using
|
|
639
|
-
* boost::asio::
|
|
640
|
-
*
|
|
641
|
-
* @note This overload assumes that a default constructed object of type @c
|
|
642
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
643
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
824
|
+
* boost::asio::io_context::post().
|
|
644
825
|
*
|
|
645
826
|
* @par Example
|
|
646
827
|
* The following connect condition function object can be used to output
|
|
647
828
|
* information about the individual connection attempts:
|
|
648
829
|
* @code struct my_connect_condition
|
|
649
830
|
* {
|
|
650
|
-
*
|
|
651
|
-
* Iterator operator()(
|
|
831
|
+
* bool operator()(
|
|
652
832
|
* const boost::system::error_code& ec,
|
|
653
|
-
*
|
|
833
|
+
* const::tcp::endpoint& next)
|
|
654
834
|
* {
|
|
655
835
|
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
|
656
|
-
* std::cout << "Trying: " << next
|
|
657
|
-
* return
|
|
836
|
+
* std::cout << "Trying: " << next << std::endl;
|
|
837
|
+
* return true;
|
|
658
838
|
* }
|
|
659
839
|
* }; @endcode
|
|
660
840
|
* It would be used with the boost::asio::connect function as follows:
|
|
661
|
-
* @code tcp::resolver r(
|
|
841
|
+
* @code tcp::resolver r(io_context);
|
|
662
842
|
* tcp::resolver::query q("host", "service");
|
|
663
|
-
* tcp::socket s(
|
|
843
|
+
* tcp::socket s(io_context);
|
|
664
844
|
*
|
|
665
845
|
* // ...
|
|
666
846
|
*
|
|
@@ -670,11 +850,11 @@ async_connect(basic_socket<Protocol, SocketService>& s,
|
|
|
670
850
|
*
|
|
671
851
|
* void resolve_handler(
|
|
672
852
|
* const boost::system::error_code& ec,
|
|
673
|
-
* tcp::resolver::
|
|
853
|
+
* tcp::resolver::results_type results)
|
|
674
854
|
* {
|
|
675
855
|
* if (!ec)
|
|
676
856
|
* {
|
|
677
|
-
* boost::asio::async_connect(s,
|
|
857
|
+
* boost::asio::async_connect(s, results,
|
|
678
858
|
* my_connect_condition(),
|
|
679
859
|
* connect_handler);
|
|
680
860
|
* }
|
|
@@ -684,7 +864,7 @@ async_connect(basic_socket<Protocol, SocketService>& s,
|
|
|
684
864
|
*
|
|
685
865
|
* void connect_handler(
|
|
686
866
|
* const boost::system::error_code& ec,
|
|
687
|
-
* tcp::
|
|
867
|
+
* const tcp::endpoint& endpoint)
|
|
688
868
|
* {
|
|
689
869
|
* if (ec)
|
|
690
870
|
* {
|
|
@@ -692,17 +872,76 @@ async_connect(basic_socket<Protocol, SocketService>& s,
|
|
|
692
872
|
* }
|
|
693
873
|
* else
|
|
694
874
|
* {
|
|
695
|
-
* std::cout << "Connected to: " <<
|
|
875
|
+
* std::cout << "Connected to: " << endpoint << std::endl;
|
|
696
876
|
* }
|
|
697
877
|
* } @endcode
|
|
698
878
|
*/
|
|
699
|
-
template <typename Protocol
|
|
700
|
-
typename ConnectCondition, typename
|
|
701
|
-
BOOST_ASIO_INITFN_RESULT_TYPE(
|
|
879
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename EndpointSequence,
|
|
880
|
+
typename ConnectCondition, typename RangeConnectHandler>
|
|
881
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(RangeConnectHandler,
|
|
882
|
+
void (boost::system::error_code, typename Protocol::endpoint))
|
|
883
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
884
|
+
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
|
885
|
+
BOOST_ASIO_MOVE_ARG(RangeConnectHandler) handler,
|
|
886
|
+
typename enable_if<is_endpoint_sequence<
|
|
887
|
+
EndpointSequence>::value>::type* = 0);
|
|
888
|
+
|
|
889
|
+
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
890
|
+
/// (Deprecated.) Asynchronously establishes a socket connection by trying each
|
|
891
|
+
/// endpoint in a sequence.
|
|
892
|
+
/**
|
|
893
|
+
* This function attempts to connect a socket to one of a sequence of
|
|
894
|
+
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
|
895
|
+
* member function, once for each endpoint in the sequence, until a connection
|
|
896
|
+
* is successfully established.
|
|
897
|
+
*
|
|
898
|
+
* @param s The socket to be connected. If the socket is already open, it will
|
|
899
|
+
* be closed.
|
|
900
|
+
*
|
|
901
|
+
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
|
902
|
+
*
|
|
903
|
+
* @param connect_condition A function object that is called prior to each
|
|
904
|
+
* connection attempt. The signature of the function object must be:
|
|
905
|
+
* @code bool connect_condition(
|
|
906
|
+
* const boost::system::error_code& ec,
|
|
907
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
908
|
+
* The @c ec parameter contains the result from the most recent connect
|
|
909
|
+
* operation. Before the first connection attempt, @c ec is always set to
|
|
910
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
911
|
+
* The function object should return true if the next endpoint should be tried,
|
|
912
|
+
* and false if it should be skipped.
|
|
913
|
+
*
|
|
914
|
+
* @param handler The handler to be called when the connect operation
|
|
915
|
+
* completes. Copies will be made of the handler as required. The function
|
|
916
|
+
* signature of the handler must be:
|
|
917
|
+
* @code void handler(
|
|
918
|
+
* // Result of operation. if the sequence is empty, set to
|
|
919
|
+
* // boost::asio::error::not_found. Otherwise, contains the
|
|
920
|
+
* // error from the last connection attempt.
|
|
921
|
+
* const boost::system::error_code& error,
|
|
922
|
+
*
|
|
923
|
+
* // On success, an iterator denoting the successfully
|
|
924
|
+
* // connected endpoint. Otherwise, the end iterator.
|
|
925
|
+
* Iterator iterator
|
|
926
|
+
* ); @endcode
|
|
927
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
|
928
|
+
* not, the handler will not be invoked from within this function. Invocation
|
|
929
|
+
* of the handler will be performed in a manner equivalent to using
|
|
930
|
+
* boost::asio::io_context::post().
|
|
931
|
+
*
|
|
932
|
+
* @note This overload assumes that a default constructed object of type @c
|
|
933
|
+
* Iterator represents the end of the sequence. This is a valid assumption for
|
|
934
|
+
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
|
935
|
+
*/
|
|
936
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
937
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
938
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
702
939
|
void (boost::system::error_code, Iterator))
|
|
703
|
-
async_connect(basic_socket<Protocol
|
|
940
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s, Iterator begin,
|
|
704
941
|
ConnectCondition connect_condition,
|
|
705
|
-
BOOST_ASIO_MOVE_ARG(
|
|
942
|
+
BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler,
|
|
943
|
+
typename enable_if<!is_endpoint_sequence<Iterator>::value>::type* = 0);
|
|
944
|
+
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
|
706
945
|
|
|
707
946
|
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
|
708
947
|
/// sequence.
|
|
@@ -721,16 +960,14 @@ async_connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
721
960
|
*
|
|
722
961
|
* @param connect_condition A function object that is called prior to each
|
|
723
962
|
* connection attempt. The signature of the function object must be:
|
|
724
|
-
* @code
|
|
963
|
+
* @code bool connect_condition(
|
|
725
964
|
* const boost::system::error_code& ec,
|
|
726
|
-
*
|
|
965
|
+
* const typename Protocol::endpoint& next); @endcode
|
|
727
966
|
* The @c ec parameter contains the result from the most recent connect
|
|
728
967
|
* operation. Before the first connection attempt, @c ec is always set to
|
|
729
|
-
* indicate success. The @c next parameter is
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
* skipped. The implementation guarantees that the function object will never
|
|
733
|
-
* be called with the end iterator.
|
|
968
|
+
* indicate success. The @c next parameter is the next endpoint to be tried.
|
|
969
|
+
* The function object should return true if the next endpoint should be tried,
|
|
970
|
+
* and false if it should be skipped.
|
|
734
971
|
*
|
|
735
972
|
* @param handler The handler to be called when the connect operation
|
|
736
973
|
* completes. Copies will be made of the handler as required. The function
|
|
@@ -748,27 +985,26 @@ async_connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
748
985
|
* Regardless of whether the asynchronous operation completes immediately or
|
|
749
986
|
* not, the handler will not be invoked from within this function. Invocation
|
|
750
987
|
* of the handler will be performed in a manner equivalent to using
|
|
751
|
-
* boost::asio::
|
|
988
|
+
* boost::asio::io_context::post().
|
|
752
989
|
*
|
|
753
990
|
* @par Example
|
|
754
991
|
* The following connect condition function object can be used to output
|
|
755
992
|
* information about the individual connection attempts:
|
|
756
993
|
* @code struct my_connect_condition
|
|
757
994
|
* {
|
|
758
|
-
*
|
|
759
|
-
* Iterator operator()(
|
|
995
|
+
* bool operator()(
|
|
760
996
|
* const boost::system::error_code& ec,
|
|
761
|
-
*
|
|
997
|
+
* const::tcp::endpoint& next)
|
|
762
998
|
* {
|
|
763
999
|
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
|
764
|
-
* std::cout << "Trying: " << next
|
|
765
|
-
* return
|
|
1000
|
+
* std::cout << "Trying: " << next << std::endl;
|
|
1001
|
+
* return true;
|
|
766
1002
|
* }
|
|
767
1003
|
* }; @endcode
|
|
768
1004
|
* It would be used with the boost::asio::connect function as follows:
|
|
769
|
-
* @code tcp::resolver r(
|
|
1005
|
+
* @code tcp::resolver r(io_context);
|
|
770
1006
|
* tcp::resolver::query q("host", "service");
|
|
771
|
-
* tcp::socket s(
|
|
1007
|
+
* tcp::socket s(io_context);
|
|
772
1008
|
*
|
|
773
1009
|
* // ...
|
|
774
1010
|
*
|
|
@@ -805,13 +1041,13 @@ async_connect(basic_socket<Protocol, SocketService>& s, Iterator begin,
|
|
|
805
1041
|
* }
|
|
806
1042
|
* } @endcode
|
|
807
1043
|
*/
|
|
808
|
-
template <typename Protocol
|
|
809
|
-
typename ConnectCondition, typename
|
|
810
|
-
BOOST_ASIO_INITFN_RESULT_TYPE(
|
|
1044
|
+
template <typename Protocol BOOST_ASIO_SVC_TPARAM, typename Iterator,
|
|
1045
|
+
typename ConnectCondition, typename IteratorConnectHandler>
|
|
1046
|
+
BOOST_ASIO_INITFN_RESULT_TYPE(IteratorConnectHandler,
|
|
811
1047
|
void (boost::system::error_code, Iterator))
|
|
812
|
-
async_connect(basic_socket<Protocol
|
|
1048
|
+
async_connect(basic_socket<Protocol BOOST_ASIO_SVC_TARG>& s,
|
|
813
1049
|
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
|
814
|
-
BOOST_ASIO_MOVE_ARG(
|
|
1050
|
+
BOOST_ASIO_MOVE_ARG(IteratorConnectHandler) handler);
|
|
815
1051
|
|
|
816
1052
|
/*@}*/
|
|
817
1053
|
|