passenger 6.0.26 → 6.0.27
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 +28 -1
- data/CONTRIBUTING.md +2 -2
- data/build/agent.rb +0 -2
- data/build/basics.rb +2 -0
- data/build/common_library.rb +0 -6
- data/build/misc.rb +0 -2
- data/build/schema_printer.rb +0 -2
- data/build/support/cxx_dependency_map.rb +57 -254
- data/dev/copy_boost_headers +3 -14
- data/dev/index_cxx_dependencies.rb +1 -1
- data/doc/AiInstructions.md +112 -0
- data/doc/CxxMockingStrategy.md +42 -0
- data/doc/CxxTestingGuide.md +110 -0
- data/doc/DesignAspects/LimitedGemDependencies.md +22 -14
- data/doc/TempFileHandling.md +15 -0
- data/passenger.gemspec +1 -1
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApiServer.h +0 -1
- data/src/agent/Core/ApplicationPool/AbstractSession.h +10 -1
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +33 -18
- data/src/agent/Core/ApplicationPool/Group.h +0 -1
- data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -3
- data/src/agent/Core/ApplicationPool/Session.h +14 -19
- data/src/agent/Core/ApplicationPool/Socket.h +15 -5
- data/src/agent/Core/ApplicationPool/TestSession.h +74 -15
- data/src/agent/Core/Config.h +2 -34
- data/src/agent/Core/ConfigChange.cpp +1 -41
- data/src/agent/Core/Controller/CheckoutSession.cpp +100 -14
- data/src/agent/Core/Controller/Client.h +0 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/Hooks.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +2 -0
- data/src/agent/Core/Controller/InternalUtils.cpp +12 -0
- data/src/agent/Core/Controller/Request.h +3 -2
- data/src/agent/Core/Controller.h +12 -13
- data/src/agent/Core/CoreMain.cpp +1 -56
- data/src/agent/Core/OptionParser.h +1 -7
- data/src/agent/Core/SecurityUpdateChecker.h +0 -1
- data/src/agent/Watchdog/Config.h +2 -21
- data/src/agent/Watchdog/WatchdogMain.cpp +0 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +0 -20
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +0 -60
- data/src/apache2_module/Hooks.cpp +0 -4
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +0 -44
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +0 -52
- data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.h +4 -7
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -160
- data/src/cxx_supportlib/Constants.h +2 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +2 -3
- data/src/cxx_supportlib/FileTools/FileManip.h +2 -0
- data/src/cxx_supportlib/Hooks.h +0 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +49 -60
- data/src/cxx_supportlib/IOTools/IOUtils.h +65 -73
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -0
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +8 -6
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +2 -2
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +0 -2
- data/src/cxx_supportlib/Utils/FastStringStream.h +7 -7
- data/src/cxx_supportlib/Utils/IniFile.h +24 -25
- data/src/cxx_supportlib/Utils.h +0 -30
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +4 -0
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -0
- data/src/cxx_supportlib/oxt/implementation.cpp +41 -2
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -0
- data/src/cxx_supportlib/oxt/system_calls.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +23 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +72 -49
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +15 -11
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +36 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +21 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +10 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +21 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +73 -14
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +18 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +6 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +1 -20
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_count.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +4 -49
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +47 -46
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +12 -252
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +101 -592
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/pointer_cast.hpp +12 -24
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +37 -44
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +1 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +7 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +39 -90
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +0 -16
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +13 -14
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +16 -55
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +5 -14
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_type_traits.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +32 -110
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +28 -565
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +11 -17
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +17 -21
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +20 -22
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +34 -68
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +78 -356
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +31 -89
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +195 -12
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +206 -17
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +1202 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +1065 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set_fwd.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +30 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +248 -47
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +120 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_handle.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_handle.hpp +48 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +13 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +11 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/types_constructibility.hpp +172 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +32 -44
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +31 -35
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_printers.hpp +414 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -32
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -48
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +0 -24
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +0 -48
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +0 -16
- data/src/nginx_module/ngx_http_passenger_module.c +0 -4
- data/src/ruby_native_extension/passenger_native_support.c +19 -3
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +8 -24
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +0 -3
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -28
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +9 -8
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +2 -27
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +0 -30
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +8 -20
- data/src/ruby_supportlib/phusion_passenger.rb +7 -7
- data/src/schema_printer/SchemaPrinterMain.cpp +0 -4
- metadata +19 -670
- data/dev/websocketpp.patch +0 -39
- data/src/agent/Core/AdminPanelConnector.h +0 -680
- data/src/cxx_supportlib/DataStructures/HashMap.h +0 -60
- data/src/cxx_supportlib/FileTools/LargeFiles.cpp +0 -41
- data/src/cxx_supportlib/FileTools/LargeFiles.h +0 -43
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +0 -975
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +0 -338
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +0 -824
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +0 -353
- data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +0 -223
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +0 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +0 -950
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +0 -1364
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +0 -712
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +0 -826
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +0 -288
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +0 -691
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +0 -1358
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +0 -628
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +0 -825
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +0 -989
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +0 -650
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +0 -1938
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +0 -2710
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +0 -644
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +0 -746
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +0 -1165
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +0 -452
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +0 -826
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +0 -624
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +0 -598
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +0 -615
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +0 -666
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +0 -618
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +0 -2755
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +0 -320
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +0 -275
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +0 -267
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +0 -523
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +0 -303
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +0 -296
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +0 -247
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +0 -159
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_composed.hpp +0 -1323
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +0 -525
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +0 -415
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +0 -1348
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +0 -220
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +0 -721
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +0 -107
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +0 -713
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +0 -109
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +0 -839
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +0 -127
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +0 -90
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_message.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload.hpp +0 -222
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_payload_handler.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +0 -254
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +0 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +0 -122
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +0 -1413
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +0 -445
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +0 -341
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +0 -181
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +0 -190
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +0 -249
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +0 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +0 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +0 -268
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +0 -555
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +0 -513
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +0 -333
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +0 -996
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +0 -471
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +0 -828
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +0 -400
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +0 -916
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +0 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +0 -610
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +0 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +0 -170
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +0 -234
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +0 -314
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +0 -677
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +0 -402
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +0 -95
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +0 -828
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +0 -4046
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +0 -348
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +0 -204
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +0 -209
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +0 -209
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +0 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +0 -689
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +0 -187
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +0 -263
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +0 -282
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +0 -208
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +0 -196
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +0 -631
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +0 -665
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +0 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +0 -298
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +0 -273
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +0 -108
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +0 -521
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +0 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +0 -251
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +0 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +0 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +0 -111
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +0 -228
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +0 -572
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +0 -325
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +0 -164
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +0 -205
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -202
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +0 -196
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +0 -635
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +0 -757
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +0 -214
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +0 -116
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +0 -160
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +0 -243
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +0 -89
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +0 -293
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +0 -377
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +0 -429
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +0 -175
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +0 -49
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +0 -101
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +0 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +0 -57
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +0 -363
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +0 -391
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +0 -70
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +0 -85
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +0 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +0 -145
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +0 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +0 -390
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +0 -280
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +0 -1935
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +0 -1362
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +0 -1082
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +0 -192
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +0 -1004
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +0 -755
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +0 -330
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +0 -753
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +0 -390
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +0 -365
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +0 -364
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +0 -134
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +0 -538
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +0 -303
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +0 -295
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +0 -230
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +0 -363
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +0 -202
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +0 -681
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +0 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +0 -625
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +0 -183
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +0 -1224
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +0 -790
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +0 -257
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +0 -216
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +0 -457
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +0 -226
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +0 -168
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +0 -125
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +0 -112
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +0 -123
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +0 -136
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +0 -278
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +0 -1198
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +0 -406
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +0 -386
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +0 -270
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +0 -270
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +0 -98
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +0 -459
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +0 -705
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +0 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +0 -151
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +0 -149
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +0 -84
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +0 -319
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +0 -435
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +0 -178
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +0 -904
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +0 -564
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +0 -2670
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +0 -289
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +0 -556
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +0 -1402
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +0 -94
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +0 -181
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +0 -279
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +0 -144
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +0 -303
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -709
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +0 -782
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +0 -482
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -1507
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +0 -398
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +0 -283
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +0 -423
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +0 -158
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +0 -130
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +0 -409
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +0 -284
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +0 -1114
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +0 -115
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +0 -190
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +0 -262
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +0 -309
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +0 -143
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +0 -197
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +0 -568
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +0 -44
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +0 -208
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +0 -344
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +0 -220
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +0 -55
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +0 -193
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +0 -259
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +0 -233
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +0 -131
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +0 -157
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +0 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +0 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +0 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +0 -245
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +0 -133
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +0 -775
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +0 -561
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +0 -215
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +0 -581
- data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +0 -315
- data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +0 -1549
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +0 -830
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +0 -3204
- data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +0 -346
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +0 -437
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +0 -347
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +0 -169
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +0 -561
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -873
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +0 -764
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +0 -211
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +0 -121
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +0 -379
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +0 -378
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +0 -74
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +0 -71
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +0 -219
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +0 -1324
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +0 -126
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +0 -75
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +0 -1044
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +0 -559
- data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +0 -92
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -673
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +0 -965
- data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +0 -102
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +0 -103
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +0 -117
- data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +0 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +0 -238
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +0 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +0 -58
- data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +0 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +0 -1528
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +0 -843
- data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +0 -1059
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
- data/src/cxx_supportlib/vendor-modified/websocketpp/COPYING +0 -145
- data/src/cxx_supportlib/vendor-modified/websocketpp/changelog.md +0 -444
- data/src/cxx_supportlib/vendor-modified/websocketpp/readme.md +0 -49
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/base64/base64.hpp +0 -178
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/client.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/close.hpp +0 -353
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/asio_ssl.hpp +0 -39
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/chrono.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/connection_hdl.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/cpp11.hpp +0 -162
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/functional.hpp +0 -100
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +0 -448
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/memory.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/network.hpp +0 -106
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/platforms.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/random.hpp +0 -82
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/regex.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/stdint.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/system_error.hpp +0 -84
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/thread.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/time.hpp +0 -56
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/type_traits.hpp +0 -65
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/basic.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/concurrency/none.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_client.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/asio_no_tls_client.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/boost_config.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core.hpp +0 -297
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/core_client.hpp +0 -294
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug.hpp +0 -286
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/debug_asio_no_tls.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_client.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/config/minimal_server.hpp +0 -312
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection.hpp +0 -1642
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/connection_base.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint.hpp +0 -700
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/endpoint_base.hpp +0 -38
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/error.hpp +0 -277
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/extension.hpp +0 -102
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +0 -129
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +0 -817
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -853
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/constants.hpp +0 -308
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/parser.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/request.hpp +0 -191
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/impl/response.hpp +0 -266
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/parser.hpp +0 -629
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/request.hpp +0 -124
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/http/response.hpp +0 -188
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/connection_impl.hpp +0 -2375
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/endpoint_impl.hpp +0 -269
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/impl/utilities_impl.hpp +0 -87
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/basic.hpp +0 -199
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/levels.hpp +0 -203
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/stub.hpp +0 -119
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/logger/syslog.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/alloc.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/message.hpp +0 -340
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/message_buffer/pool.hpp +0 -229
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/base.hpp +0 -299
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi00.hpp +0 -462
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi07.hpp +0 -78
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi08.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +0 -1072
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/processor.hpp +0 -407
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/none.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/random/random_device.hpp +0 -80
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/client_endpoint.hpp +0 -173
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/roles/server_endpoint.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/server.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/sha1/sha1.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/base.hpp +0 -232
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/connection.hpp +0 -1197
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/endpoint.hpp +0 -1182
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/base.hpp +0 -159
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/none.hpp +0 -372
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/asio/security/tls.hpp +0 -474
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/connection.hpp +0 -238
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/base/endpoint.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/base.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/connection.hpp +0 -412
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/debug/endpoint.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/base.hpp +0 -133
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/connection.hpp +0 -714
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/iostream/endpoint.hpp +0 -222
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/base.hpp +0 -95
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/connection.hpp +0 -286
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/transport/stub/endpoint.hpp +0 -140
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/uri.hpp +0 -356
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utf8_validator.hpp +0 -154
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/utilities.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/version.hpp +0 -61
@@ -1,1348 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// connect.hpp
|
3
|
-
// ~~~~~~~~~~~
|
4
|
-
//
|
5
|
-
// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
6
|
-
//
|
7
|
-
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
8
|
-
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
9
|
-
//
|
10
|
-
|
11
|
-
#ifndef BOOST_ASIO_CONNECT_HPP
|
12
|
-
#define BOOST_ASIO_CONNECT_HPP
|
13
|
-
|
14
|
-
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
15
|
-
# pragma once
|
16
|
-
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
|
-
|
18
|
-
#include <boost/asio/detail/config.hpp>
|
19
|
-
#include <boost/asio/async_result.hpp>
|
20
|
-
#include <boost/asio/basic_socket.hpp>
|
21
|
-
#include <boost/asio/detail/type_traits.hpp>
|
22
|
-
#include <boost/asio/error.hpp>
|
23
|
-
|
24
|
-
#include <boost/asio/detail/push_options.hpp>
|
25
|
-
|
26
|
-
namespace boost {
|
27
|
-
namespace asio {
|
28
|
-
|
29
|
-
namespace detail
|
30
|
-
{
|
31
|
-
struct default_connect_condition;
|
32
|
-
template <typename, typename> class initiate_async_range_connect;
|
33
|
-
template <typename, typename> class initiate_async_iterator_connect;
|
34
|
-
|
35
|
-
template <typename T, typename = void, typename = void>
|
36
|
-
struct is_endpoint_sequence_helper : false_type
|
37
|
-
{
|
38
|
-
};
|
39
|
-
|
40
|
-
template <typename T>
|
41
|
-
struct is_endpoint_sequence_helper<T,
|
42
|
-
void_t<
|
43
|
-
decltype(declval<T>().begin())
|
44
|
-
>,
|
45
|
-
void_t<
|
46
|
-
decltype(declval<T>().end())
|
47
|
-
>
|
48
|
-
> : true_type
|
49
|
-
{
|
50
|
-
};
|
51
|
-
|
52
|
-
template <typename T, typename Iterator, typename = void>
|
53
|
-
struct is_connect_condition_helper : false_type
|
54
|
-
{
|
55
|
-
};
|
56
|
-
|
57
|
-
template <typename T, typename Iterator>
|
58
|
-
struct is_connect_condition_helper<T, Iterator,
|
59
|
-
enable_if_t<
|
60
|
-
is_same<
|
61
|
-
result_of_t<T(boost::system::error_code, Iterator)>,
|
62
|
-
Iterator
|
63
|
-
>::value
|
64
|
-
>
|
65
|
-
> : true_type
|
66
|
-
{
|
67
|
-
};
|
68
|
-
|
69
|
-
template <typename T, typename Iterator>
|
70
|
-
struct is_connect_condition_helper<T, Iterator,
|
71
|
-
enable_if_t<
|
72
|
-
is_same<
|
73
|
-
result_of_t<T(boost::system::error_code,
|
74
|
-
decltype(*declval<Iterator>()))>,
|
75
|
-
bool
|
76
|
-
>::value
|
77
|
-
>
|
78
|
-
> : true_type
|
79
|
-
{
|
80
|
-
};
|
81
|
-
|
82
|
-
struct default_connect_condition
|
83
|
-
{
|
84
|
-
template <typename Endpoint>
|
85
|
-
bool operator()(const boost::system::error_code&, const Endpoint&)
|
86
|
-
{
|
87
|
-
return true;
|
88
|
-
}
|
89
|
-
};
|
90
|
-
} // namespace detail
|
91
|
-
|
92
|
-
#if defined(GENERATING_DOCUMENTATION)
|
93
|
-
|
94
|
-
/// Type trait used to determine whether a type is an endpoint sequence that can
|
95
|
-
/// be used with with @c connect and @c async_connect.
|
96
|
-
template <typename T>
|
97
|
-
struct is_endpoint_sequence
|
98
|
-
{
|
99
|
-
/// The value member is true if the type may be used as an endpoint sequence.
|
100
|
-
static const bool value = automatically_determined;
|
101
|
-
};
|
102
|
-
|
103
|
-
/// Trait for determining whether a function object is a connect condition that
|
104
|
-
/// can be used with @c connect and @c async_connect.
|
105
|
-
template <typename T, typename Iterator>
|
106
|
-
struct is_connect_condition
|
107
|
-
{
|
108
|
-
/// The value member is true if the type may be used as a connect condition.
|
109
|
-
static constexpr bool value = automatically_determined;
|
110
|
-
};
|
111
|
-
|
112
|
-
#else // defined(GENERATING_DOCUMENTATION)
|
113
|
-
|
114
|
-
template <typename T>
|
115
|
-
struct is_endpoint_sequence : detail::is_endpoint_sequence_helper<T>
|
116
|
-
{
|
117
|
-
};
|
118
|
-
|
119
|
-
template <typename T, typename Iterator>
|
120
|
-
struct is_connect_condition : detail::is_connect_condition_helper<T, Iterator>
|
121
|
-
{
|
122
|
-
};
|
123
|
-
|
124
|
-
#endif // defined(GENERATING_DOCUMENTATION)
|
125
|
-
|
126
|
-
/**
|
127
|
-
* @defgroup connect boost::asio::connect
|
128
|
-
*
|
129
|
-
* @brief The @c connect function is a composed operation that establishes a
|
130
|
-
* socket connection by trying each endpoint in a sequence.
|
131
|
-
*/
|
132
|
-
/*@{*/
|
133
|
-
|
134
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
135
|
-
/**
|
136
|
-
* This function attempts to connect a socket to one of a sequence of
|
137
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
138
|
-
* function, once for each endpoint in the sequence, until a connection is
|
139
|
-
* successfully established.
|
140
|
-
*
|
141
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
142
|
-
* be closed.
|
143
|
-
*
|
144
|
-
* @param endpoints A sequence of endpoints.
|
145
|
-
*
|
146
|
-
* @returns The successfully connected endpoint.
|
147
|
-
*
|
148
|
-
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
149
|
-
* empty, the associated @c error_code is boost::asio::error::not_found.
|
150
|
-
* Otherwise, contains the error from the last connection attempt.
|
151
|
-
*
|
152
|
-
* @par Example
|
153
|
-
* @code tcp::resolver r(my_context);
|
154
|
-
* tcp::resolver::query q("host", "service");
|
155
|
-
* tcp::socket s(my_context);
|
156
|
-
* boost::asio::connect(s, r.resolve(q)); @endcode
|
157
|
-
*/
|
158
|
-
template <typename Protocol, typename Executor, typename EndpointSequence>
|
159
|
-
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
160
|
-
const EndpointSequence& endpoints,
|
161
|
-
constraint_t<
|
162
|
-
is_endpoint_sequence<EndpointSequence>::value
|
163
|
-
> = 0);
|
164
|
-
|
165
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
166
|
-
/**
|
167
|
-
* This function attempts to connect a socket to one of a sequence of
|
168
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
169
|
-
* function, once for each endpoint in the sequence, until a connection is
|
170
|
-
* successfully established.
|
171
|
-
*
|
172
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
173
|
-
* be closed.
|
174
|
-
*
|
175
|
-
* @param endpoints A sequence of endpoints.
|
176
|
-
*
|
177
|
-
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
178
|
-
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
179
|
-
* from the last connection attempt.
|
180
|
-
*
|
181
|
-
* @returns On success, the successfully connected endpoint. Otherwise, a
|
182
|
-
* default-constructed endpoint.
|
183
|
-
*
|
184
|
-
* @par Example
|
185
|
-
* @code tcp::resolver r(my_context);
|
186
|
-
* tcp::resolver::query q("host", "service");
|
187
|
-
* tcp::socket s(my_context);
|
188
|
-
* boost::system::error_code ec;
|
189
|
-
* boost::asio::connect(s, r.resolve(q), ec);
|
190
|
-
* if (ec)
|
191
|
-
* {
|
192
|
-
* // An error occurred.
|
193
|
-
* } @endcode
|
194
|
-
*/
|
195
|
-
template <typename Protocol, typename Executor, typename EndpointSequence>
|
196
|
-
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
197
|
-
const EndpointSequence& endpoints, boost::system::error_code& ec,
|
198
|
-
constraint_t<
|
199
|
-
is_endpoint_sequence<EndpointSequence>::value
|
200
|
-
> = 0);
|
201
|
-
|
202
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
203
|
-
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
204
|
-
/// each endpoint in a sequence.
|
205
|
-
/**
|
206
|
-
* This function attempts to connect a socket to one of a sequence of
|
207
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
208
|
-
* function, once for each endpoint in the sequence, until a connection is
|
209
|
-
* successfully established.
|
210
|
-
*
|
211
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
212
|
-
* be closed.
|
213
|
-
*
|
214
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
215
|
-
*
|
216
|
-
* @returns On success, an iterator denoting the successfully connected
|
217
|
-
* endpoint. Otherwise, the end iterator.
|
218
|
-
*
|
219
|
-
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
220
|
-
* empty, the associated @c error_code is boost::asio::error::not_found.
|
221
|
-
* Otherwise, contains the error from the last connection attempt.
|
222
|
-
*
|
223
|
-
* @note This overload assumes that a default constructed object of type @c
|
224
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
225
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
226
|
-
*/
|
227
|
-
template <typename Protocol, typename Executor, typename Iterator>
|
228
|
-
Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
229
|
-
constraint_t<
|
230
|
-
!is_endpoint_sequence<Iterator>::value
|
231
|
-
> = 0);
|
232
|
-
|
233
|
-
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
234
|
-
/// each endpoint in a sequence.
|
235
|
-
/**
|
236
|
-
* This function attempts to connect a socket to one of a sequence of
|
237
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
238
|
-
* function, once for each endpoint in the sequence, until a connection is
|
239
|
-
* successfully established.
|
240
|
-
*
|
241
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
242
|
-
* be closed.
|
243
|
-
*
|
244
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
245
|
-
*
|
246
|
-
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
247
|
-
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
248
|
-
* from the last connection attempt.
|
249
|
-
*
|
250
|
-
* @returns On success, an iterator denoting the successfully connected
|
251
|
-
* endpoint. Otherwise, the end iterator.
|
252
|
-
*
|
253
|
-
* @note This overload assumes that a default constructed object of type @c
|
254
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
255
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
256
|
-
*/
|
257
|
-
template <typename Protocol, typename Executor, typename Iterator>
|
258
|
-
Iterator connect(basic_socket<Protocol, Executor>& s,
|
259
|
-
Iterator begin, boost::system::error_code& ec,
|
260
|
-
constraint_t<
|
261
|
-
!is_endpoint_sequence<Iterator>::value
|
262
|
-
> = 0);
|
263
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
264
|
-
|
265
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
266
|
-
/**
|
267
|
-
* This function attempts to connect a socket to one of a sequence of
|
268
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
269
|
-
* function, once for each endpoint in the sequence, until a connection is
|
270
|
-
* successfully established.
|
271
|
-
*
|
272
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
273
|
-
* be closed.
|
274
|
-
*
|
275
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
276
|
-
*
|
277
|
-
* @param end An iterator pointing to the end of a sequence of endpoints.
|
278
|
-
*
|
279
|
-
* @returns An iterator denoting the successfully connected endpoint.
|
280
|
-
*
|
281
|
-
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
282
|
-
* empty, the associated @c error_code is boost::asio::error::not_found.
|
283
|
-
* Otherwise, contains the error from the last connection attempt.
|
284
|
-
*
|
285
|
-
* @par Example
|
286
|
-
* @code tcp::resolver r(my_context);
|
287
|
-
* tcp::resolver::query q("host", "service");
|
288
|
-
* tcp::resolver::results_type e = r.resolve(q);
|
289
|
-
* tcp::socket s(my_context);
|
290
|
-
* boost::asio::connect(s, e.begin(), e.end()); @endcode
|
291
|
-
*/
|
292
|
-
template <typename Protocol, typename Executor, typename Iterator>
|
293
|
-
Iterator connect(basic_socket<Protocol, Executor>& s,
|
294
|
-
Iterator begin, Iterator end);
|
295
|
-
|
296
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
297
|
-
/**
|
298
|
-
* This function attempts to connect a socket to one of a sequence of
|
299
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
300
|
-
* function, once for each endpoint in the sequence, until a connection is
|
301
|
-
* successfully established.
|
302
|
-
*
|
303
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
304
|
-
* be closed.
|
305
|
-
*
|
306
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
307
|
-
*
|
308
|
-
* @param end An iterator pointing to the end of a sequence of endpoints.
|
309
|
-
*
|
310
|
-
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
311
|
-
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
312
|
-
* from the last connection attempt.
|
313
|
-
*
|
314
|
-
* @returns On success, an iterator denoting the successfully connected
|
315
|
-
* endpoint. Otherwise, the end iterator.
|
316
|
-
*
|
317
|
-
* @par Example
|
318
|
-
* @code tcp::resolver r(my_context);
|
319
|
-
* tcp::resolver::query q("host", "service");
|
320
|
-
* tcp::resolver::results_type e = r.resolve(q);
|
321
|
-
* tcp::socket s(my_context);
|
322
|
-
* boost::system::error_code ec;
|
323
|
-
* boost::asio::connect(s, e.begin(), e.end(), ec);
|
324
|
-
* if (ec)
|
325
|
-
* {
|
326
|
-
* // An error occurred.
|
327
|
-
* } @endcode
|
328
|
-
*/
|
329
|
-
template <typename Protocol, typename Executor, typename Iterator>
|
330
|
-
Iterator connect(basic_socket<Protocol, Executor>& s,
|
331
|
-
Iterator begin, Iterator end, boost::system::error_code& ec);
|
332
|
-
|
333
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
334
|
-
/**
|
335
|
-
* This function attempts to connect a socket to one of a sequence of
|
336
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
337
|
-
* function, once for each endpoint in the sequence, until a connection is
|
338
|
-
* successfully established.
|
339
|
-
*
|
340
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
341
|
-
* be closed.
|
342
|
-
*
|
343
|
-
* @param endpoints A sequence of endpoints.
|
344
|
-
*
|
345
|
-
* @param connect_condition A function object that is called prior to each
|
346
|
-
* connection attempt. The signature of the function object must be:
|
347
|
-
* @code bool connect_condition(
|
348
|
-
* const boost::system::error_code& ec,
|
349
|
-
* const typename Protocol::endpoint& next); @endcode
|
350
|
-
* The @c ec parameter contains the result from the most recent connect
|
351
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
352
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
353
|
-
* The function object should return true if the next endpoint should be tried,
|
354
|
-
* and false if it should be skipped.
|
355
|
-
*
|
356
|
-
* @returns The successfully connected endpoint.
|
357
|
-
*
|
358
|
-
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
359
|
-
* empty, the associated @c error_code is boost::asio::error::not_found.
|
360
|
-
* Otherwise, contains the error from the last connection attempt.
|
361
|
-
*
|
362
|
-
* @par Example
|
363
|
-
* The following connect condition function object can be used to output
|
364
|
-
* information about the individual connection attempts:
|
365
|
-
* @code struct my_connect_condition
|
366
|
-
* {
|
367
|
-
* bool operator()(
|
368
|
-
* const boost::system::error_code& ec,
|
369
|
-
* const::tcp::endpoint& next)
|
370
|
-
* {
|
371
|
-
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
372
|
-
* std::cout << "Trying: " << next << std::endl;
|
373
|
-
* return true;
|
374
|
-
* }
|
375
|
-
* }; @endcode
|
376
|
-
* It would be used with the boost::asio::connect function as follows:
|
377
|
-
* @code tcp::resolver r(my_context);
|
378
|
-
* tcp::resolver::query q("host", "service");
|
379
|
-
* tcp::socket s(my_context);
|
380
|
-
* tcp::endpoint e = boost::asio::connect(s,
|
381
|
-
* r.resolve(q), my_connect_condition());
|
382
|
-
* std::cout << "Connected to: " << e << std::endl; @endcode
|
383
|
-
*/
|
384
|
-
template <typename Protocol, typename Executor,
|
385
|
-
typename EndpointSequence, typename ConnectCondition>
|
386
|
-
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
387
|
-
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
388
|
-
constraint_t<
|
389
|
-
is_endpoint_sequence<EndpointSequence>::value
|
390
|
-
> = 0,
|
391
|
-
constraint_t<
|
392
|
-
is_connect_condition<ConnectCondition,
|
393
|
-
decltype(declval<const EndpointSequence&>().begin())>::value
|
394
|
-
> = 0);
|
395
|
-
|
396
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
397
|
-
/**
|
398
|
-
* This function attempts to connect a socket to one of a sequence of
|
399
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
400
|
-
* function, once for each endpoint in the sequence, until a connection is
|
401
|
-
* successfully established.
|
402
|
-
*
|
403
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
404
|
-
* be closed.
|
405
|
-
*
|
406
|
-
* @param endpoints A sequence of endpoints.
|
407
|
-
*
|
408
|
-
* @param connect_condition A function object that is called prior to each
|
409
|
-
* connection attempt. The signature of the function object must be:
|
410
|
-
* @code bool connect_condition(
|
411
|
-
* const boost::system::error_code& ec,
|
412
|
-
* const typename Protocol::endpoint& next); @endcode
|
413
|
-
* The @c ec parameter contains the result from the most recent connect
|
414
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
415
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
416
|
-
* The function object should return true if the next endpoint should be tried,
|
417
|
-
* and false if it should be skipped.
|
418
|
-
*
|
419
|
-
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
420
|
-
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
421
|
-
* from the last connection attempt.
|
422
|
-
*
|
423
|
-
* @returns On success, the successfully connected endpoint. Otherwise, a
|
424
|
-
* default-constructed endpoint.
|
425
|
-
*
|
426
|
-
* @par Example
|
427
|
-
* The following connect condition function object can be used to output
|
428
|
-
* information about the individual connection attempts:
|
429
|
-
* @code struct my_connect_condition
|
430
|
-
* {
|
431
|
-
* bool operator()(
|
432
|
-
* const boost::system::error_code& ec,
|
433
|
-
* const::tcp::endpoint& next)
|
434
|
-
* {
|
435
|
-
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
436
|
-
* std::cout << "Trying: " << next << std::endl;
|
437
|
-
* return true;
|
438
|
-
* }
|
439
|
-
* }; @endcode
|
440
|
-
* It would be used with the boost::asio::connect function as follows:
|
441
|
-
* @code tcp::resolver r(my_context);
|
442
|
-
* tcp::resolver::query q("host", "service");
|
443
|
-
* tcp::socket s(my_context);
|
444
|
-
* boost::system::error_code ec;
|
445
|
-
* tcp::endpoint e = boost::asio::connect(s,
|
446
|
-
* r.resolve(q), my_connect_condition(), ec);
|
447
|
-
* if (ec)
|
448
|
-
* {
|
449
|
-
* // An error occurred.
|
450
|
-
* }
|
451
|
-
* else
|
452
|
-
* {
|
453
|
-
* std::cout << "Connected to: " << e << std::endl;
|
454
|
-
* } @endcode
|
455
|
-
*/
|
456
|
-
template <typename Protocol, typename Executor,
|
457
|
-
typename EndpointSequence, typename ConnectCondition>
|
458
|
-
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
459
|
-
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
460
|
-
boost::system::error_code& ec,
|
461
|
-
constraint_t<
|
462
|
-
is_endpoint_sequence<EndpointSequence>::value
|
463
|
-
> = 0,
|
464
|
-
constraint_t<
|
465
|
-
is_connect_condition<ConnectCondition,
|
466
|
-
decltype(declval<const EndpointSequence&>().begin())>::value
|
467
|
-
> = 0);
|
468
|
-
|
469
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
470
|
-
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
471
|
-
/// each endpoint in a sequence.
|
472
|
-
/**
|
473
|
-
* This function attempts to connect a socket to one of a sequence of
|
474
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
475
|
-
* function, once for each endpoint in the sequence, until a connection is
|
476
|
-
* successfully established.
|
477
|
-
*
|
478
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
479
|
-
* be closed.
|
480
|
-
*
|
481
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
482
|
-
*
|
483
|
-
* @param connect_condition A function object that is called prior to each
|
484
|
-
* connection attempt. The signature of the function object must be:
|
485
|
-
* @code bool connect_condition(
|
486
|
-
* const boost::system::error_code& ec,
|
487
|
-
* const typename Protocol::endpoint& next); @endcode
|
488
|
-
* The @c ec parameter contains the result from the most recent connect
|
489
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
490
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
491
|
-
* The function object should return true if the next endpoint should be tried,
|
492
|
-
* and false if it should be skipped.
|
493
|
-
*
|
494
|
-
* @returns On success, an iterator denoting the successfully connected
|
495
|
-
* endpoint. Otherwise, the end iterator.
|
496
|
-
*
|
497
|
-
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
498
|
-
* empty, the associated @c error_code is boost::asio::error::not_found.
|
499
|
-
* Otherwise, contains the error from the last connection attempt.
|
500
|
-
*
|
501
|
-
* @note This overload assumes that a default constructed object of type @c
|
502
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
503
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
504
|
-
*/
|
505
|
-
template <typename Protocol, typename Executor,
|
506
|
-
typename Iterator, typename ConnectCondition>
|
507
|
-
Iterator connect(basic_socket<Protocol, Executor>& s,
|
508
|
-
Iterator begin, ConnectCondition connect_condition,
|
509
|
-
constraint_t<
|
510
|
-
!is_endpoint_sequence<Iterator>::value
|
511
|
-
> = 0,
|
512
|
-
constraint_t<
|
513
|
-
is_connect_condition<ConnectCondition, Iterator>::value
|
514
|
-
> = 0);
|
515
|
-
|
516
|
-
/// (Deprecated: Use range overload.) Establishes a socket connection by trying
|
517
|
-
/// each endpoint in a sequence.
|
518
|
-
/**
|
519
|
-
* This function attempts to connect a socket to one of a sequence of
|
520
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
521
|
-
* function, once for each endpoint in the sequence, until a connection is
|
522
|
-
* successfully established.
|
523
|
-
*
|
524
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
525
|
-
* be closed.
|
526
|
-
*
|
527
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
528
|
-
*
|
529
|
-
* @param connect_condition A function object that is called prior to each
|
530
|
-
* connection attempt. The signature of the function object must be:
|
531
|
-
* @code bool connect_condition(
|
532
|
-
* const boost::system::error_code& ec,
|
533
|
-
* const typename Protocol::endpoint& next); @endcode
|
534
|
-
* The @c ec parameter contains the result from the most recent connect
|
535
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
536
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
537
|
-
* The function object should return true if the next endpoint should be tried,
|
538
|
-
* and false if it should be skipped.
|
539
|
-
*
|
540
|
-
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
541
|
-
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
542
|
-
* from the last connection attempt.
|
543
|
-
*
|
544
|
-
* @returns On success, an iterator denoting the successfully connected
|
545
|
-
* endpoint. Otherwise, the end iterator.
|
546
|
-
*
|
547
|
-
* @note This overload assumes that a default constructed object of type @c
|
548
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
549
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
550
|
-
*/
|
551
|
-
template <typename Protocol, typename Executor,
|
552
|
-
typename Iterator, typename ConnectCondition>
|
553
|
-
Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
554
|
-
ConnectCondition connect_condition, boost::system::error_code& ec,
|
555
|
-
constraint_t<
|
556
|
-
!is_endpoint_sequence<Iterator>::value
|
557
|
-
> = 0,
|
558
|
-
constraint_t<
|
559
|
-
is_connect_condition<ConnectCondition, Iterator>::value
|
560
|
-
> = 0);
|
561
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
562
|
-
|
563
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
564
|
-
/**
|
565
|
-
* This function attempts to connect a socket to one of a sequence of
|
566
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
567
|
-
* function, once for each endpoint in the sequence, until a connection is
|
568
|
-
* successfully established.
|
569
|
-
*
|
570
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
571
|
-
* be closed.
|
572
|
-
*
|
573
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
574
|
-
*
|
575
|
-
* @param end An iterator pointing to the end of a sequence of endpoints.
|
576
|
-
*
|
577
|
-
* @param connect_condition A function object that is called prior to each
|
578
|
-
* connection attempt. The signature of the function object must be:
|
579
|
-
* @code bool connect_condition(
|
580
|
-
* const boost::system::error_code& ec,
|
581
|
-
* const typename Protocol::endpoint& next); @endcode
|
582
|
-
* The @c ec parameter contains the result from the most recent connect
|
583
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
584
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
585
|
-
* The function object should return true if the next endpoint should be tried,
|
586
|
-
* and false if it should be skipped.
|
587
|
-
*
|
588
|
-
* @returns An iterator denoting the successfully connected endpoint.
|
589
|
-
*
|
590
|
-
* @throws boost::system::system_error Thrown on failure. If the sequence is
|
591
|
-
* empty, the associated @c error_code is boost::asio::error::not_found.
|
592
|
-
* Otherwise, contains the error from the last connection attempt.
|
593
|
-
*
|
594
|
-
* @par Example
|
595
|
-
* The following connect condition function object can be used to output
|
596
|
-
* information about the individual connection attempts:
|
597
|
-
* @code struct my_connect_condition
|
598
|
-
* {
|
599
|
-
* bool operator()(
|
600
|
-
* const boost::system::error_code& ec,
|
601
|
-
* const::tcp::endpoint& next)
|
602
|
-
* {
|
603
|
-
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
604
|
-
* std::cout << "Trying: " << next << std::endl;
|
605
|
-
* return true;
|
606
|
-
* }
|
607
|
-
* }; @endcode
|
608
|
-
* It would be used with the boost::asio::connect function as follows:
|
609
|
-
* @code tcp::resolver r(my_context);
|
610
|
-
* tcp::resolver::query q("host", "service");
|
611
|
-
* tcp::resolver::results_type e = r.resolve(q);
|
612
|
-
* tcp::socket s(my_context);
|
613
|
-
* tcp::resolver::results_type::iterator i = boost::asio::connect(
|
614
|
-
* s, e.begin(), e.end(), my_connect_condition());
|
615
|
-
* std::cout << "Connected to: " << i->endpoint() << std::endl; @endcode
|
616
|
-
*/
|
617
|
-
template <typename Protocol, typename Executor,
|
618
|
-
typename Iterator, typename ConnectCondition>
|
619
|
-
Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
620
|
-
Iterator end, ConnectCondition connect_condition,
|
621
|
-
constraint_t<
|
622
|
-
is_connect_condition<ConnectCondition, Iterator>::value
|
623
|
-
> = 0);
|
624
|
-
|
625
|
-
/// Establishes a socket connection by trying each endpoint in a sequence.
|
626
|
-
/**
|
627
|
-
* This function attempts to connect a socket to one of a sequence of
|
628
|
-
* endpoints. It does this by repeated calls to the socket's @c connect member
|
629
|
-
* function, once for each endpoint in the sequence, until a connection is
|
630
|
-
* successfully established.
|
631
|
-
*
|
632
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
633
|
-
* be closed.
|
634
|
-
*
|
635
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
636
|
-
*
|
637
|
-
* @param end An iterator pointing to the end of a sequence of endpoints.
|
638
|
-
*
|
639
|
-
* @param connect_condition A function object that is called prior to each
|
640
|
-
* connection attempt. The signature of the function object must be:
|
641
|
-
* @code bool connect_condition(
|
642
|
-
* const boost::system::error_code& ec,
|
643
|
-
* const typename Protocol::endpoint& next); @endcode
|
644
|
-
* The @c ec parameter contains the result from the most recent connect
|
645
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
646
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
647
|
-
* The function object should return true if the next endpoint should be tried,
|
648
|
-
* and false if it should be skipped.
|
649
|
-
*
|
650
|
-
* @param ec Set to indicate what error occurred, if any. If the sequence is
|
651
|
-
* empty, set to boost::asio::error::not_found. Otherwise, contains the error
|
652
|
-
* from the last connection attempt.
|
653
|
-
*
|
654
|
-
* @returns On success, an iterator denoting the successfully connected
|
655
|
-
* endpoint. Otherwise, the end iterator.
|
656
|
-
*
|
657
|
-
* @par Example
|
658
|
-
* The following connect condition function object can be used to output
|
659
|
-
* information about the individual connection attempts:
|
660
|
-
* @code struct my_connect_condition
|
661
|
-
* {
|
662
|
-
* bool operator()(
|
663
|
-
* const boost::system::error_code& ec,
|
664
|
-
* const::tcp::endpoint& next)
|
665
|
-
* {
|
666
|
-
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
667
|
-
* std::cout << "Trying: " << next << std::endl;
|
668
|
-
* return true;
|
669
|
-
* }
|
670
|
-
* }; @endcode
|
671
|
-
* It would be used with the boost::asio::connect function as follows:
|
672
|
-
* @code tcp::resolver r(my_context);
|
673
|
-
* tcp::resolver::query q("host", "service");
|
674
|
-
* tcp::resolver::results_type e = r.resolve(q);
|
675
|
-
* tcp::socket s(my_context);
|
676
|
-
* boost::system::error_code ec;
|
677
|
-
* tcp::resolver::results_type::iterator i = boost::asio::connect(
|
678
|
-
* s, e.begin(), e.end(), my_connect_condition());
|
679
|
-
* if (ec)
|
680
|
-
* {
|
681
|
-
* // An error occurred.
|
682
|
-
* }
|
683
|
-
* else
|
684
|
-
* {
|
685
|
-
* std::cout << "Connected to: " << i->endpoint() << std::endl;
|
686
|
-
* } @endcode
|
687
|
-
*/
|
688
|
-
template <typename Protocol, typename Executor,
|
689
|
-
typename Iterator, typename ConnectCondition>
|
690
|
-
Iterator connect(basic_socket<Protocol, Executor>& s,
|
691
|
-
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
692
|
-
boost::system::error_code& ec,
|
693
|
-
constraint_t<
|
694
|
-
is_connect_condition<ConnectCondition, Iterator>::value
|
695
|
-
> = 0);
|
696
|
-
|
697
|
-
/*@}*/
|
698
|
-
|
699
|
-
/**
|
700
|
-
* @defgroup async_connect boost::asio::async_connect
|
701
|
-
*
|
702
|
-
* @brief The @c async_connect function is a composed asynchronous operation
|
703
|
-
* that establishes a socket connection by trying each endpoint in a sequence.
|
704
|
-
*/
|
705
|
-
/*@{*/
|
706
|
-
|
707
|
-
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
708
|
-
/// sequence.
|
709
|
-
/**
|
710
|
-
* This function attempts to connect a socket to one of a sequence of
|
711
|
-
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
712
|
-
* member function, once for each endpoint in the sequence, until a connection
|
713
|
-
* is successfully established. It is an initiating function for an @ref
|
714
|
-
* asynchronous_operation, and always returns immediately.
|
715
|
-
*
|
716
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
717
|
-
* be closed.
|
718
|
-
*
|
719
|
-
* @param endpoints A sequence of endpoints.
|
720
|
-
*
|
721
|
-
* @param token The @ref completion_token that will be used to produce a
|
722
|
-
* completion handler, which will be called when the connect completes.
|
723
|
-
* Potential completion tokens include @ref use_future, @ref use_awaitable,
|
724
|
-
* @ref yield_context, or a function object with the correct completion
|
725
|
-
* signature. The function signature of the completion handler must be:
|
726
|
-
* @code void handler(
|
727
|
-
* // Result of operation. if the sequence is empty, set to
|
728
|
-
* // boost::asio::error::not_found. Otherwise, contains the
|
729
|
-
* // error from the last connection attempt.
|
730
|
-
* const boost::system::error_code& error,
|
731
|
-
*
|
732
|
-
* // On success, the successfully connected endpoint.
|
733
|
-
* // Otherwise, a default-constructed endpoint.
|
734
|
-
* const typename Protocol::endpoint& endpoint
|
735
|
-
* ); @endcode
|
736
|
-
* Regardless of whether the asynchronous operation completes immediately or
|
737
|
-
* not, the completion handler will not be invoked from within this function.
|
738
|
-
* On immediate completion, invocation of the handler will be performed in a
|
739
|
-
* manner equivalent to using boost::asio::async_immediate().
|
740
|
-
*
|
741
|
-
* @par Completion Signature
|
742
|
-
* @code void(boost::system::error_code, typename Protocol::endpoint) @endcode
|
743
|
-
*
|
744
|
-
* @par Example
|
745
|
-
* @code tcp::resolver r(my_context);
|
746
|
-
* tcp::resolver::query q("host", "service");
|
747
|
-
* tcp::socket s(my_context);
|
748
|
-
*
|
749
|
-
* // ...
|
750
|
-
*
|
751
|
-
* r.async_resolve(q, resolve_handler);
|
752
|
-
*
|
753
|
-
* // ...
|
754
|
-
*
|
755
|
-
* void resolve_handler(
|
756
|
-
* const boost::system::error_code& ec,
|
757
|
-
* tcp::resolver::results_type results)
|
758
|
-
* {
|
759
|
-
* if (!ec)
|
760
|
-
* {
|
761
|
-
* boost::asio::async_connect(s, results, connect_handler);
|
762
|
-
* }
|
763
|
-
* }
|
764
|
-
*
|
765
|
-
* // ...
|
766
|
-
*
|
767
|
-
* void connect_handler(
|
768
|
-
* const boost::system::error_code& ec,
|
769
|
-
* const tcp::endpoint& endpoint)
|
770
|
-
* {
|
771
|
-
* // ...
|
772
|
-
* } @endcode
|
773
|
-
*
|
774
|
-
* @par Per-Operation Cancellation
|
775
|
-
* This asynchronous operation supports cancellation for the following
|
776
|
-
* boost::asio::cancellation_type values:
|
777
|
-
*
|
778
|
-
* @li @c cancellation_type::terminal
|
779
|
-
*
|
780
|
-
* @li @c cancellation_type::partial
|
781
|
-
*
|
782
|
-
* if they are also supported by the socket's @c async_connect operation.
|
783
|
-
*/
|
784
|
-
template <typename Protocol, typename Executor, typename EndpointSequence,
|
785
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
786
|
-
typename Protocol::endpoint)) RangeConnectToken
|
787
|
-
= default_completion_token_t<Executor>>
|
788
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
789
|
-
const EndpointSequence& endpoints,
|
790
|
-
RangeConnectToken&& token = default_completion_token_t<Executor>(),
|
791
|
-
constraint_t<
|
792
|
-
is_endpoint_sequence<EndpointSequence>::value
|
793
|
-
> = 0,
|
794
|
-
constraint_t<
|
795
|
-
!is_connect_condition<RangeConnectToken,
|
796
|
-
decltype(declval<const EndpointSequence&>().begin())>::value
|
797
|
-
> = 0)
|
798
|
-
-> decltype(
|
799
|
-
async_initiate<RangeConnectToken,
|
800
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
801
|
-
declval<detail::initiate_async_range_connect<Protocol, Executor>>(),
|
802
|
-
token, endpoints, declval<detail::default_connect_condition>()))
|
803
|
-
{
|
804
|
-
return async_initiate<RangeConnectToken,
|
805
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
806
|
-
detail::initiate_async_range_connect<Protocol, Executor>(s),
|
807
|
-
token, endpoints, detail::default_connect_condition());
|
808
|
-
}
|
809
|
-
|
810
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
811
|
-
/// (Deprecated: Use range overload.) Asynchronously establishes a socket
|
812
|
-
/// connection by trying each endpoint in a sequence.
|
813
|
-
/**
|
814
|
-
* This function attempts to connect a socket to one of a sequence of
|
815
|
-
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
816
|
-
* member function, once for each endpoint in the sequence, until a connection
|
817
|
-
* is successfully established. It is an initiating function for an @ref
|
818
|
-
* asynchronous_operation, and always returns immediately.
|
819
|
-
*
|
820
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
821
|
-
* be closed.
|
822
|
-
*
|
823
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
824
|
-
*
|
825
|
-
* @param token The @ref completion_token that will be used to produce a
|
826
|
-
* completion handler, which will be called when the connect completes.
|
827
|
-
* Potential completion tokens include @ref use_future, @ref use_awaitable,
|
828
|
-
* @ref yield_context, or a function object with the correct completion
|
829
|
-
* signature. The function signature of the completion handler must be:
|
830
|
-
* @code void handler(
|
831
|
-
* // Result of operation. if the sequence is empty, set to
|
832
|
-
* // boost::asio::error::not_found. Otherwise, contains the
|
833
|
-
* // error from the last connection attempt.
|
834
|
-
* const boost::system::error_code& error,
|
835
|
-
*
|
836
|
-
* // On success, an iterator denoting the successfully
|
837
|
-
* // connected endpoint. Otherwise, the end iterator.
|
838
|
-
* Iterator iterator
|
839
|
-
* ); @endcode
|
840
|
-
* Regardless of whether the asynchronous operation completes immediately or
|
841
|
-
* not, the completion handler will not be invoked from within this function.
|
842
|
-
* On immediate completion, invocation of the handler will be performed in a
|
843
|
-
* manner equivalent to using boost::asio::async_immediate().
|
844
|
-
*
|
845
|
-
* @par Completion Signature
|
846
|
-
* @code void(boost::system::error_code, Iterator) @endcode
|
847
|
-
*
|
848
|
-
* @note This overload assumes that a default constructed object of type @c
|
849
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
850
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
851
|
-
*
|
852
|
-
* @par Per-Operation Cancellation
|
853
|
-
* This asynchronous operation supports cancellation for the following
|
854
|
-
* boost::asio::cancellation_type values:
|
855
|
-
*
|
856
|
-
* @li @c cancellation_type::terminal
|
857
|
-
*
|
858
|
-
* @li @c cancellation_type::partial
|
859
|
-
*
|
860
|
-
* if they are also supported by the socket's @c async_connect operation.
|
861
|
-
*/
|
862
|
-
template <typename Protocol, typename Executor, typename Iterator,
|
863
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
864
|
-
Iterator)) IteratorConnectToken = default_completion_token_t<Executor>>
|
865
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
866
|
-
IteratorConnectToken&& token = default_completion_token_t<Executor>(),
|
867
|
-
constraint_t<
|
868
|
-
!is_endpoint_sequence<Iterator>::value
|
869
|
-
> = 0,
|
870
|
-
constraint_t<
|
871
|
-
!is_same<Iterator, decay_t<IteratorConnectToken>>::value
|
872
|
-
> = 0,
|
873
|
-
constraint_t<
|
874
|
-
!is_connect_condition<IteratorConnectToken, Iterator>::value
|
875
|
-
> = 0)
|
876
|
-
-> decltype(
|
877
|
-
async_initiate<IteratorConnectToken,
|
878
|
-
void (boost::system::error_code, Iterator)>(
|
879
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
880
|
-
token, begin, Iterator(),
|
881
|
-
declval<detail::default_connect_condition>()))
|
882
|
-
{
|
883
|
-
return async_initiate<IteratorConnectToken,
|
884
|
-
void (boost::system::error_code, Iterator)>(
|
885
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
886
|
-
token, begin, Iterator(), detail::default_connect_condition());
|
887
|
-
}
|
888
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
889
|
-
|
890
|
-
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
891
|
-
/// 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. It is an initiating function for an @ref
|
897
|
-
* asynchronous_operation, and always returns immediately.
|
898
|
-
*
|
899
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
900
|
-
* be closed.
|
901
|
-
*
|
902
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
903
|
-
*
|
904
|
-
* @param end An iterator pointing to the end of a sequence of endpoints.
|
905
|
-
*
|
906
|
-
* @param token The @ref completion_token that will be used to produce a
|
907
|
-
* completion handler, which will be called when the connect completes.
|
908
|
-
* Potential completion tokens include @ref use_future, @ref use_awaitable,
|
909
|
-
* @ref yield_context, or a function object with the correct completion
|
910
|
-
* signature. The function signature of the completion handler must be:
|
911
|
-
* @code void handler(
|
912
|
-
* // Result of operation. if the sequence is empty, set to
|
913
|
-
* // boost::asio::error::not_found. Otherwise, contains the
|
914
|
-
* // error from the last connection attempt.
|
915
|
-
* const boost::system::error_code& error,
|
916
|
-
*
|
917
|
-
* // On success, an iterator denoting the successfully
|
918
|
-
* // connected endpoint. Otherwise, the end iterator.
|
919
|
-
* Iterator iterator
|
920
|
-
* ); @endcode
|
921
|
-
* Regardless of whether the asynchronous operation completes immediately or
|
922
|
-
* not, the completion handler will not be invoked from within this function.
|
923
|
-
* On immediate completion, invocation of the handler will be performed in a
|
924
|
-
* manner equivalent to using boost::asio::async_immediate().
|
925
|
-
*
|
926
|
-
* @par Completion Signature
|
927
|
-
* @code void(boost::system::error_code, Iterator) @endcode
|
928
|
-
*
|
929
|
-
* @par Example
|
930
|
-
* @code std::vector<tcp::endpoint> endpoints = ...;
|
931
|
-
* tcp::socket s(my_context);
|
932
|
-
* boost::asio::async_connect(s,
|
933
|
-
* endpoints.begin(), endpoints.end(),
|
934
|
-
* connect_handler);
|
935
|
-
*
|
936
|
-
* // ...
|
937
|
-
*
|
938
|
-
* void connect_handler(
|
939
|
-
* const boost::system::error_code& ec,
|
940
|
-
* std::vector<tcp::endpoint>::iterator i)
|
941
|
-
* {
|
942
|
-
* // ...
|
943
|
-
* } @endcode
|
944
|
-
*
|
945
|
-
* @par Per-Operation Cancellation
|
946
|
-
* This asynchronous operation supports cancellation for the following
|
947
|
-
* boost::asio::cancellation_type values:
|
948
|
-
*
|
949
|
-
* @li @c cancellation_type::terminal
|
950
|
-
*
|
951
|
-
* @li @c cancellation_type::partial
|
952
|
-
*
|
953
|
-
* if they are also supported by the socket's @c async_connect operation.
|
954
|
-
*/
|
955
|
-
template <typename Protocol, typename Executor, typename Iterator,
|
956
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
957
|
-
Iterator)) IteratorConnectToken = default_completion_token_t<Executor>>
|
958
|
-
inline auto async_connect(
|
959
|
-
basic_socket<Protocol, Executor>& s, Iterator begin, Iterator end,
|
960
|
-
IteratorConnectToken&& token = default_completion_token_t<Executor>(),
|
961
|
-
constraint_t<
|
962
|
-
!is_connect_condition<IteratorConnectToken, Iterator>::value
|
963
|
-
> = 0)
|
964
|
-
-> decltype(
|
965
|
-
async_initiate<IteratorConnectToken,
|
966
|
-
void (boost::system::error_code, Iterator)>(
|
967
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
968
|
-
token, begin, end, declval<detail::default_connect_condition>()))
|
969
|
-
{
|
970
|
-
return async_initiate<IteratorConnectToken,
|
971
|
-
void (boost::system::error_code, Iterator)>(
|
972
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
973
|
-
token, begin, end, detail::default_connect_condition());
|
974
|
-
}
|
975
|
-
|
976
|
-
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
977
|
-
/// sequence.
|
978
|
-
/**
|
979
|
-
* This function attempts to connect a socket to one of a sequence of
|
980
|
-
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
981
|
-
* member function, once for each endpoint in the sequence, until a connection
|
982
|
-
* is successfully established. It is an initiating function for an @ref
|
983
|
-
* asynchronous_operation, and always returns immediately.
|
984
|
-
*
|
985
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
986
|
-
* be closed.
|
987
|
-
*
|
988
|
-
* @param endpoints A sequence of endpoints.
|
989
|
-
*
|
990
|
-
* @param connect_condition A function object that is called prior to each
|
991
|
-
* connection attempt. The signature of the function object must be:
|
992
|
-
* @code bool connect_condition(
|
993
|
-
* const boost::system::error_code& ec,
|
994
|
-
* const typename Protocol::endpoint& next); @endcode
|
995
|
-
* The @c ec parameter contains the result from the most recent connect
|
996
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
997
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
998
|
-
* The function object should return true if the next endpoint should be tried,
|
999
|
-
* and false if it should be skipped.
|
1000
|
-
*
|
1001
|
-
* @param token The @ref completion_token that will be used to produce a
|
1002
|
-
* completion handler, which will be called when the connect completes.
|
1003
|
-
* Potential completion tokens include @ref use_future, @ref use_awaitable,
|
1004
|
-
* @ref yield_context, or a function object with the correct completion
|
1005
|
-
* signature. The function signature of the completion handler must be:
|
1006
|
-
* @code void handler(
|
1007
|
-
* // Result of operation. if the sequence is empty, set to
|
1008
|
-
* // boost::asio::error::not_found. Otherwise, contains the
|
1009
|
-
* // error from the last connection attempt.
|
1010
|
-
* const boost::system::error_code& error,
|
1011
|
-
*
|
1012
|
-
* // On success, an iterator denoting the successfully
|
1013
|
-
* // connected endpoint. Otherwise, the end iterator.
|
1014
|
-
* Iterator iterator
|
1015
|
-
* ); @endcode
|
1016
|
-
* Regardless of whether the asynchronous operation completes immediately or
|
1017
|
-
* not, the completion handler will not be invoked from within this function.
|
1018
|
-
* On immediate completion, invocation of the handler will be performed in a
|
1019
|
-
* manner equivalent to using boost::asio::async_immediate().
|
1020
|
-
*
|
1021
|
-
* @par Completion Signature
|
1022
|
-
* @code void(boost::system::error_code, typename Protocol::endpoint) @endcode
|
1023
|
-
*
|
1024
|
-
* @par Example
|
1025
|
-
* The following connect condition function object can be used to output
|
1026
|
-
* information about the individual connection attempts:
|
1027
|
-
* @code struct my_connect_condition
|
1028
|
-
* {
|
1029
|
-
* bool operator()(
|
1030
|
-
* const boost::system::error_code& ec,
|
1031
|
-
* const::tcp::endpoint& next)
|
1032
|
-
* {
|
1033
|
-
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
1034
|
-
* std::cout << "Trying: " << next << std::endl;
|
1035
|
-
* return true;
|
1036
|
-
* }
|
1037
|
-
* }; @endcode
|
1038
|
-
* It would be used with the boost::asio::connect function as follows:
|
1039
|
-
* @code tcp::resolver r(my_context);
|
1040
|
-
* tcp::resolver::query q("host", "service");
|
1041
|
-
* tcp::socket s(my_context);
|
1042
|
-
*
|
1043
|
-
* // ...
|
1044
|
-
*
|
1045
|
-
* r.async_resolve(q, resolve_handler);
|
1046
|
-
*
|
1047
|
-
* // ...
|
1048
|
-
*
|
1049
|
-
* void resolve_handler(
|
1050
|
-
* const boost::system::error_code& ec,
|
1051
|
-
* tcp::resolver::results_type results)
|
1052
|
-
* {
|
1053
|
-
* if (!ec)
|
1054
|
-
* {
|
1055
|
-
* boost::asio::async_connect(s, results,
|
1056
|
-
* my_connect_condition(),
|
1057
|
-
* connect_handler);
|
1058
|
-
* }
|
1059
|
-
* }
|
1060
|
-
*
|
1061
|
-
* // ...
|
1062
|
-
*
|
1063
|
-
* void connect_handler(
|
1064
|
-
* const boost::system::error_code& ec,
|
1065
|
-
* const tcp::endpoint& endpoint)
|
1066
|
-
* {
|
1067
|
-
* if (ec)
|
1068
|
-
* {
|
1069
|
-
* // An error occurred.
|
1070
|
-
* }
|
1071
|
-
* else
|
1072
|
-
* {
|
1073
|
-
* std::cout << "Connected to: " << endpoint << std::endl;
|
1074
|
-
* }
|
1075
|
-
* } @endcode
|
1076
|
-
*
|
1077
|
-
* @par Per-Operation Cancellation
|
1078
|
-
* This asynchronous operation supports cancellation for the following
|
1079
|
-
* boost::asio::cancellation_type values:
|
1080
|
-
*
|
1081
|
-
* @li @c cancellation_type::terminal
|
1082
|
-
*
|
1083
|
-
* @li @c cancellation_type::partial
|
1084
|
-
*
|
1085
|
-
* if they are also supported by the socket's @c async_connect operation.
|
1086
|
-
*/
|
1087
|
-
template <typename Protocol, typename Executor,
|
1088
|
-
typename EndpointSequence, typename ConnectCondition,
|
1089
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1090
|
-
typename Protocol::endpoint)) RangeConnectToken
|
1091
|
-
= default_completion_token_t<Executor>>
|
1092
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
1093
|
-
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
1094
|
-
RangeConnectToken&& token = default_completion_token_t<Executor>(),
|
1095
|
-
constraint_t<
|
1096
|
-
is_endpoint_sequence<EndpointSequence>::value
|
1097
|
-
> = 0,
|
1098
|
-
constraint_t<
|
1099
|
-
is_connect_condition<ConnectCondition,
|
1100
|
-
decltype(declval<const EndpointSequence&>().begin())>::value
|
1101
|
-
> = 0)
|
1102
|
-
-> decltype(
|
1103
|
-
async_initiate<RangeConnectToken,
|
1104
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
1105
|
-
declval<detail::initiate_async_range_connect<Protocol, Executor>>(),
|
1106
|
-
token, endpoints, connect_condition))
|
1107
|
-
{
|
1108
|
-
return async_initiate<RangeConnectToken,
|
1109
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
1110
|
-
detail::initiate_async_range_connect<Protocol, Executor>(s),
|
1111
|
-
token, endpoints, connect_condition);
|
1112
|
-
}
|
1113
|
-
|
1114
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
1115
|
-
/// (Deprecated: Use range overload.) Asynchronously establishes a socket
|
1116
|
-
/// connection by trying each endpoint in a sequence.
|
1117
|
-
/**
|
1118
|
-
* This function attempts to connect a socket to one of a sequence of
|
1119
|
-
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
1120
|
-
* member function, once for each endpoint in the sequence, until a connection
|
1121
|
-
* is successfully established. It is an initiating function for an @ref
|
1122
|
-
* asynchronous_operation, and always returns immediately.
|
1123
|
-
*
|
1124
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
1125
|
-
* be closed.
|
1126
|
-
*
|
1127
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
1128
|
-
*
|
1129
|
-
* @param connect_condition A function object that is called prior to each
|
1130
|
-
* connection attempt. The signature of the function object must be:
|
1131
|
-
* @code bool connect_condition(
|
1132
|
-
* const boost::system::error_code& ec,
|
1133
|
-
* const typename Protocol::endpoint& next); @endcode
|
1134
|
-
* The @c ec parameter contains the result from the most recent connect
|
1135
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
1136
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
1137
|
-
* The function object should return true if the next endpoint should be tried,
|
1138
|
-
* and false if it should be skipped.
|
1139
|
-
*
|
1140
|
-
* @param token The @ref completion_token that will be used to produce a
|
1141
|
-
* completion handler, which will be called when the connect completes.
|
1142
|
-
* Potential completion tokens include @ref use_future, @ref use_awaitable,
|
1143
|
-
* @ref yield_context, or a function object with the correct completion
|
1144
|
-
* signature. The function signature of the completion handler must be:
|
1145
|
-
* @code void handler(
|
1146
|
-
* // Result of operation. if the sequence is empty, set to
|
1147
|
-
* // boost::asio::error::not_found. Otherwise, contains the
|
1148
|
-
* // error from the last connection attempt.
|
1149
|
-
* const boost::system::error_code& error,
|
1150
|
-
*
|
1151
|
-
* // On success, an iterator denoting the successfully
|
1152
|
-
* // connected endpoint. Otherwise, the end iterator.
|
1153
|
-
* Iterator iterator
|
1154
|
-
* ); @endcode
|
1155
|
-
* Regardless of whether the asynchronous operation completes immediately or
|
1156
|
-
* not, the completion handler will not be invoked from within this function.
|
1157
|
-
* On immediate completion, invocation of the handler will be performed in a
|
1158
|
-
* manner equivalent to using boost::asio::async_immediate().
|
1159
|
-
*
|
1160
|
-
* @par Completion Signature
|
1161
|
-
* @code void(boost::system::error_code, Iterator) @endcode
|
1162
|
-
*
|
1163
|
-
* @note This overload assumes that a default constructed object of type @c
|
1164
|
-
* Iterator represents the end of the sequence. This is a valid assumption for
|
1165
|
-
* iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
|
1166
|
-
*
|
1167
|
-
* @par Per-Operation Cancellation
|
1168
|
-
* This asynchronous operation supports cancellation for the following
|
1169
|
-
* boost::asio::cancellation_type values:
|
1170
|
-
*
|
1171
|
-
* @li @c cancellation_type::terminal
|
1172
|
-
*
|
1173
|
-
* @li @c cancellation_type::partial
|
1174
|
-
*
|
1175
|
-
* if they are also supported by the socket's @c async_connect operation.
|
1176
|
-
*/
|
1177
|
-
template <typename Protocol, typename Executor,
|
1178
|
-
typename Iterator, typename ConnectCondition,
|
1179
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1180
|
-
Iterator)) IteratorConnectToken = default_completion_token_t<Executor>>
|
1181
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
1182
|
-
Iterator begin, ConnectCondition connect_condition,
|
1183
|
-
IteratorConnectToken&& token = default_completion_token_t<Executor>(),
|
1184
|
-
constraint_t<
|
1185
|
-
!is_endpoint_sequence<Iterator>::value
|
1186
|
-
> = 0,
|
1187
|
-
constraint_t<
|
1188
|
-
is_connect_condition<ConnectCondition, Iterator>::value
|
1189
|
-
> = 0)
|
1190
|
-
-> decltype(
|
1191
|
-
async_initiate<IteratorConnectToken,
|
1192
|
-
void (boost::system::error_code, Iterator)>(
|
1193
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
1194
|
-
token, begin, Iterator(), connect_condition))
|
1195
|
-
{
|
1196
|
-
return async_initiate<IteratorConnectToken,
|
1197
|
-
void (boost::system::error_code, Iterator)>(
|
1198
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
1199
|
-
token, begin, Iterator(), connect_condition);
|
1200
|
-
}
|
1201
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
1202
|
-
|
1203
|
-
/// Asynchronously establishes a socket connection by trying each endpoint in a
|
1204
|
-
/// sequence.
|
1205
|
-
/**
|
1206
|
-
* This function attempts to connect a socket to one of a sequence of
|
1207
|
-
* endpoints. It does this by repeated calls to the socket's @c async_connect
|
1208
|
-
* member function, once for each endpoint in the sequence, until a connection
|
1209
|
-
* is successfully established. It is an initiating function for an @ref
|
1210
|
-
* asynchronous_operation, and always returns immediately.
|
1211
|
-
*
|
1212
|
-
* @param s The socket to be connected. If the socket is already open, it will
|
1213
|
-
* be closed.
|
1214
|
-
*
|
1215
|
-
* @param begin An iterator pointing to the start of a sequence of endpoints.
|
1216
|
-
*
|
1217
|
-
* @param end An iterator pointing to the end of a sequence of endpoints.
|
1218
|
-
*
|
1219
|
-
* @param connect_condition A function object that is called prior to each
|
1220
|
-
* connection attempt. The signature of the function object must be:
|
1221
|
-
* @code bool connect_condition(
|
1222
|
-
* const boost::system::error_code& ec,
|
1223
|
-
* const typename Protocol::endpoint& next); @endcode
|
1224
|
-
* The @c ec parameter contains the result from the most recent connect
|
1225
|
-
* operation. Before the first connection attempt, @c ec is always set to
|
1226
|
-
* indicate success. The @c next parameter is the next endpoint to be tried.
|
1227
|
-
* The function object should return true if the next endpoint should be tried,
|
1228
|
-
* and false if it should be skipped.
|
1229
|
-
*
|
1230
|
-
* @param token The @ref completion_token that will be used to produce a
|
1231
|
-
* completion handler, which will be called when the connect completes.
|
1232
|
-
* Potential completion tokens include @ref use_future, @ref use_awaitable,
|
1233
|
-
* @ref yield_context, or a function object with the correct completion
|
1234
|
-
* signature. The function signature of the completion handler must be:
|
1235
|
-
* @code void handler(
|
1236
|
-
* // Result of operation. if the sequence is empty, set to
|
1237
|
-
* // boost::asio::error::not_found. Otherwise, contains the
|
1238
|
-
* // error from the last connection attempt.
|
1239
|
-
* const boost::system::error_code& error,
|
1240
|
-
*
|
1241
|
-
* // On success, an iterator denoting the successfully
|
1242
|
-
* // connected endpoint. Otherwise, the end iterator.
|
1243
|
-
* Iterator iterator
|
1244
|
-
* ); @endcode
|
1245
|
-
* Regardless of whether the asynchronous operation completes immediately or
|
1246
|
-
* not, the completion handler will not be invoked from within this function.
|
1247
|
-
* On immediate completion, invocation of the handler will be performed in a
|
1248
|
-
* manner equivalent to using boost::asio::async_immediate().
|
1249
|
-
*
|
1250
|
-
* @par Completion Signature
|
1251
|
-
* @code void(boost::system::error_code, Iterator) @endcode
|
1252
|
-
*
|
1253
|
-
* @par Example
|
1254
|
-
* The following connect condition function object can be used to output
|
1255
|
-
* information about the individual connection attempts:
|
1256
|
-
* @code struct my_connect_condition
|
1257
|
-
* {
|
1258
|
-
* bool operator()(
|
1259
|
-
* const boost::system::error_code& ec,
|
1260
|
-
* const::tcp::endpoint& next)
|
1261
|
-
* {
|
1262
|
-
* if (ec) std::cout << "Error: " << ec.message() << std::endl;
|
1263
|
-
* std::cout << "Trying: " << next << std::endl;
|
1264
|
-
* return true;
|
1265
|
-
* }
|
1266
|
-
* }; @endcode
|
1267
|
-
* It would be used with the boost::asio::connect function as follows:
|
1268
|
-
* @code tcp::resolver r(my_context);
|
1269
|
-
* tcp::resolver::query q("host", "service");
|
1270
|
-
* tcp::socket s(my_context);
|
1271
|
-
*
|
1272
|
-
* // ...
|
1273
|
-
*
|
1274
|
-
* r.async_resolve(q, resolve_handler);
|
1275
|
-
*
|
1276
|
-
* // ...
|
1277
|
-
*
|
1278
|
-
* void resolve_handler(
|
1279
|
-
* const boost::system::error_code& ec,
|
1280
|
-
* tcp::resolver::iterator i)
|
1281
|
-
* {
|
1282
|
-
* if (!ec)
|
1283
|
-
* {
|
1284
|
-
* tcp::resolver::iterator end;
|
1285
|
-
* boost::asio::async_connect(s, i, end,
|
1286
|
-
* my_connect_condition(),
|
1287
|
-
* connect_handler);
|
1288
|
-
* }
|
1289
|
-
* }
|
1290
|
-
*
|
1291
|
-
* // ...
|
1292
|
-
*
|
1293
|
-
* void connect_handler(
|
1294
|
-
* const boost::system::error_code& ec,
|
1295
|
-
* tcp::resolver::iterator i)
|
1296
|
-
* {
|
1297
|
-
* if (ec)
|
1298
|
-
* {
|
1299
|
-
* // An error occurred.
|
1300
|
-
* }
|
1301
|
-
* else
|
1302
|
-
* {
|
1303
|
-
* std::cout << "Connected to: " << i->endpoint() << std::endl;
|
1304
|
-
* }
|
1305
|
-
* } @endcode
|
1306
|
-
*
|
1307
|
-
* @par Per-Operation Cancellation
|
1308
|
-
* This asynchronous operation supports cancellation for the following
|
1309
|
-
* boost::asio::cancellation_type values:
|
1310
|
-
*
|
1311
|
-
* @li @c cancellation_type::terminal
|
1312
|
-
*
|
1313
|
-
* @li @c cancellation_type::partial
|
1314
|
-
*
|
1315
|
-
* if they are also supported by the socket's @c async_connect operation.
|
1316
|
-
*/
|
1317
|
-
template <typename Protocol, typename Executor,
|
1318
|
-
typename Iterator, typename ConnectCondition,
|
1319
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1320
|
-
Iterator)) IteratorConnectToken = default_completion_token_t<Executor>>
|
1321
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
1322
|
-
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
1323
|
-
IteratorConnectToken&& token = default_completion_token_t<Executor>(),
|
1324
|
-
constraint_t<
|
1325
|
-
is_connect_condition<ConnectCondition, Iterator>::value
|
1326
|
-
> = 0)
|
1327
|
-
-> decltype(
|
1328
|
-
async_initiate<IteratorConnectToken,
|
1329
|
-
void (boost::system::error_code, Iterator)>(
|
1330
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
1331
|
-
token, begin, end, connect_condition))
|
1332
|
-
{
|
1333
|
-
return async_initiate<IteratorConnectToken,
|
1334
|
-
void (boost::system::error_code, Iterator)>(
|
1335
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
1336
|
-
token, begin, end, connect_condition);
|
1337
|
-
}
|
1338
|
-
|
1339
|
-
/*@}*/
|
1340
|
-
|
1341
|
-
} // namespace asio
|
1342
|
-
} // namespace boost
|
1343
|
-
|
1344
|
-
#include <boost/asio/detail/pop_options.hpp>
|
1345
|
-
|
1346
|
-
#include <boost/asio/impl/connect.hpp>
|
1347
|
-
|
1348
|
-
#endif // BOOST_ASIO_CONNECT_HPP
|