diff options
Diffstat (limited to '3rdparty/asio/src/tests/unit/ip/tcp.cpp')
-rw-r--r-- | 3rdparty/asio/src/tests/unit/ip/tcp.cpp | 111 |
1 files changed, 48 insertions, 63 deletions
diff --git a/3rdparty/asio/src/tests/unit/ip/tcp.cpp b/3rdparty/asio/src/tests/unit/ip/tcp.cpp index 4b7208a221b..2bbdc3a1071 100644 --- a/3rdparty/asio/src/tests/unit/ip/tcp.cpp +++ b/3rdparty/asio/src/tests/unit/ip/tcp.cpp @@ -2,7 +2,7 @@ // tcp.cpp // ~~~~~~~ // -// Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -20,6 +20,7 @@ #include "asio/ip/tcp.hpp" #include <cstring> +#include <functional> #include "asio/io_context.hpp" #include "asio/read.hpp" #include "asio/write.hpp" @@ -35,12 +36,6 @@ # include <array> #endif // defined(ASIO_HAS_BOOST_ARRAY) -#if defined(ASIO_HAS_BOOST_BIND) -# include <boost/bind/bind.hpp> -#else // defined(ASIO_HAS_BOOST_BIND) -# include <functional> -#endif // defined(ASIO_HAS_BOOST_BIND) - //------------------------------------------------------------------------------ // ip_tcp_compile test @@ -71,10 +66,8 @@ void test() (void)static_cast<bool>(!no_delay1); (void)static_cast<bool>(no_delay1.value()); -#if defined(ASIO_HAS_STD_HASH) ip::tcp::endpoint ep; (void)static_cast<std::size_t>(std::hash<ip::tcp::endpoint>()(ep)); -#endif // defined(ASIO_HAS_STD_HASH) } catch (std::exception&) { @@ -146,66 +139,54 @@ struct connect_handler { connect_handler() {} void operator()(const asio::error_code&) {} -#if defined(ASIO_HAS_MOVE) connect_handler(connect_handler&&) {} private: connect_handler(const connect_handler&); -#endif // defined(ASIO_HAS_MOVE) }; struct wait_handler { wait_handler() {} void operator()(const asio::error_code&) {} -#if defined(ASIO_HAS_MOVE) wait_handler(wait_handler&&) {} private: wait_handler(const wait_handler&); -#endif // defined(ASIO_HAS_MOVE) }; struct send_handler { send_handler() {} void operator()(const asio::error_code&, std::size_t) {} -#if defined(ASIO_HAS_MOVE) send_handler(send_handler&&) {} private: send_handler(const send_handler&); -#endif // defined(ASIO_HAS_MOVE) }; struct receive_handler { receive_handler() {} void operator()(const asio::error_code&, std::size_t) {} -#if defined(ASIO_HAS_MOVE) receive_handler(receive_handler&&) {} private: receive_handler(const receive_handler&); -#endif // defined(ASIO_HAS_MOVE) }; struct write_some_handler { write_some_handler() {} void operator()(const asio::error_code&, std::size_t) {} -#if defined(ASIO_HAS_MOVE) write_some_handler(write_some_handler&&) {} private: write_some_handler(const write_some_handler&); -#endif // defined(ASIO_HAS_MOVE) }; struct read_some_handler { read_some_handler() {} void operator()(const asio::error_code&, std::size_t) {} -#if defined(ASIO_HAS_MOVE) read_some_handler(read_some_handler&&) {} private: read_some_handler(const read_some_handler&); -#endif // defined(ASIO_HAS_MOVE) }; void test() @@ -239,6 +220,7 @@ void test() archetypes::gettable_socket_option<int> gettable_socket_option2; archetypes::gettable_socket_option<double> gettable_socket_option3; archetypes::io_control_command io_control_command; + archetypes::immediate_handler immediate; archetypes::lazy_handler lazy; asio::error_code ec; @@ -266,16 +248,12 @@ void test() ip::tcp::socket socket12(ioc_ex, ip::tcp::v4(), native_socket2); #endif // !defined(ASIO_WINDOWS_RUNTIME) -#if defined(ASIO_HAS_MOVE) ip::tcp::socket socket13(std::move(socket5)); -#endif // defined(ASIO_HAS_MOVE) // basic_stream_socket operators. -#if defined(ASIO_HAS_MOVE) socket1 = ip::tcp::socket(ioc); socket1 = std::move(socket2); -#endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. @@ -346,6 +324,8 @@ void test() connect_handler()); socket1.async_connect(ip::tcp::endpoint(ip::tcp::v6(), 0), connect_handler()); + socket1.async_connect(ip::tcp::endpoint(ip::tcp::v4(), 0), immediate); + socket1.async_connect(ip::tcp::endpoint(ip::tcp::v6(), 0), immediate); int i1 = socket1.async_connect(ip::tcp::endpoint(ip::tcp::v4(), 0), lazy); (void)i1; int i2 = socket1.async_connect(ip::tcp::endpoint(ip::tcp::v6(), 0), lazy); @@ -395,6 +375,7 @@ void test() socket1.wait(socket_base::wait_write, ec); socket1.async_wait(socket_base::wait_read, wait_handler()); + socket1.async_wait(socket_base::wait_read, immediate); int i3 = socket1.async_wait(socket_base::wait_write, lazy); (void)i3; @@ -426,6 +407,16 @@ void test() socket1.async_send(mutable_buffers, in_flags, send_handler()); socket1.async_send(const_buffers, in_flags, send_handler()); socket1.async_send(null_buffers(), in_flags, send_handler()); + socket1.async_send(buffer(mutable_char_buffer), immediate); + socket1.async_send(buffer(const_char_buffer), immediate); + socket1.async_send(mutable_buffers, immediate); + socket1.async_send(const_buffers, immediate); + socket1.async_send(null_buffers(), immediate); + socket1.async_send(buffer(mutable_char_buffer), in_flags, immediate); + socket1.async_send(buffer(const_char_buffer), in_flags, immediate); + socket1.async_send(mutable_buffers, in_flags, immediate); + socket1.async_send(const_buffers, in_flags, immediate); + socket1.async_send(null_buffers(), in_flags, immediate); int i4 = socket1.async_send(buffer(mutable_char_buffer), lazy); (void)i4; int i5 = socket1.async_send(buffer(const_char_buffer), lazy); @@ -464,6 +455,12 @@ void test() receive_handler()); socket1.async_receive(mutable_buffers, in_flags, receive_handler()); socket1.async_receive(null_buffers(), in_flags, receive_handler()); + socket1.async_receive(buffer(mutable_char_buffer), immediate); + socket1.async_receive(mutable_buffers, immediate); + socket1.async_receive(null_buffers(), immediate); + socket1.async_receive(buffer(mutable_char_buffer), in_flags, immediate); + socket1.async_receive(mutable_buffers, in_flags, immediate); + socket1.async_receive(null_buffers(), in_flags, immediate); int i14 = socket1.async_receive(buffer(mutable_char_buffer), lazy); (void)i14; int i15 = socket1.async_receive(mutable_buffers, lazy); @@ -494,6 +491,11 @@ void test() socket1.async_write_some(mutable_buffers, write_some_handler()); socket1.async_write_some(const_buffers, write_some_handler()); socket1.async_write_some(null_buffers(), write_some_handler()); + socket1.async_write_some(buffer(mutable_char_buffer), immediate); + socket1.async_write_some(buffer(const_char_buffer), immediate); + socket1.async_write_some(mutable_buffers, immediate); + socket1.async_write_some(const_buffers, immediate); + socket1.async_write_some(null_buffers(), immediate); int i20 = socket1.async_write_some(buffer(mutable_char_buffer), lazy); (void)i20; int i21 = socket1.async_write_some(buffer(const_char_buffer), lazy); @@ -515,6 +517,9 @@ void test() socket1.async_read_some(buffer(mutable_char_buffer), read_some_handler()); socket1.async_read_some(mutable_buffers, read_some_handler()); socket1.async_read_some(null_buffers(), read_some_handler()); + socket1.async_read_some(buffer(mutable_char_buffer), immediate); + socket1.async_read_some(mutable_buffers, immediate); + socket1.async_read_some(null_buffers(), immediate); int i25 = socket1.async_read_some(buffer(mutable_char_buffer), lazy); (void)i25; int i26 = socket1.async_read_some(mutable_buffers, lazy); @@ -594,11 +599,7 @@ void test() using namespace asio; namespace ip = asio::ip; -#if defined(ASIO_HAS_BOOST_BIND) - namespace bindns = boost; -#else // defined(ASIO_HAS_BOOST_BIND) namespace bindns = std; -#endif // defined(ASIO_HAS_BOOST_BIND) using bindns::placeholders::_1; using bindns::placeholders::_2; @@ -706,25 +707,20 @@ struct wait_handler { wait_handler() {} void operator()(const asio::error_code&) {} -#if defined(ASIO_HAS_MOVE) wait_handler(wait_handler&&) {} private: wait_handler(const wait_handler&); -#endif // defined(ASIO_HAS_MOVE) }; struct accept_handler { accept_handler() {} void operator()(const asio::error_code&) {} -#if defined(ASIO_HAS_MOVE) accept_handler(accept_handler&&) {} private: accept_handler(const accept_handler&); -#endif // defined(ASIO_HAS_MOVE) }; -#if defined(ASIO_HAS_MOVE) struct move_accept_handler { move_accept_handler() {} @@ -745,7 +741,6 @@ struct move_accept_ioc_handler private: move_accept_ioc_handler(const move_accept_handler&) {} }; -#endif // defined(ASIO_HAS_MOVE) void test() { @@ -767,6 +762,7 @@ void test() archetypes::gettable_socket_option<int> gettable_socket_option2; archetypes::gettable_socket_option<double> gettable_socket_option3; archetypes::io_control_command io_control_command; + archetypes::immediate_handler immediate; archetypes::lazy_handler lazy; asio::error_code ec; @@ -794,16 +790,12 @@ void test() ip::tcp::acceptor acceptor12(ioc_ex, ip::tcp::v4(), native_acceptor2); #endif // !defined(ASIO_WINDOWS_RUNTIME) -#if defined(ASIO_HAS_MOVE) ip::tcp::acceptor acceptor13(std::move(acceptor5)); -#endif // defined(ASIO_HAS_MOVE) // basic_socket_acceptor operators. -#if defined(ASIO_HAS_MOVE) acceptor1 = ip::tcp::acceptor(ioc); acceptor1 = std::move(acceptor2); -#endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. @@ -883,6 +875,7 @@ void test() acceptor1.wait(socket_base::wait_write, ec); acceptor1.async_wait(socket_base::wait_read, wait_handler()); + acceptor1.async_wait(socket_base::wait_read, immediate); int i1 = acceptor1.async_wait(socket_base::wait_write, lazy); (void)i1; @@ -896,7 +889,6 @@ void test() acceptor1.accept(peer_socket2, peer_endpoint); acceptor1.accept(peer_socket2, peer_endpoint, ec); -#if defined(ASIO_HAS_MOVE) peer_socket1 = acceptor1.accept(); peer_socket1 = acceptor1.accept(ioc); peer_socket1 = acceptor1.accept(ioc_ex); @@ -910,10 +902,11 @@ void test() peer_socket2 = acceptor1.accept(ioc, peer_endpoint); peer_socket2 = acceptor1.accept(ioc_ex, peer_endpoint); (void)peer_socket2; -#endif // defined(ASIO_HAS_MOVE) acceptor1.async_accept(peer_socket1, accept_handler()); acceptor1.async_accept(peer_socket1, peer_endpoint, accept_handler()); + acceptor1.async_accept(peer_socket1, immediate); + acceptor1.async_accept(peer_socket1, peer_endpoint, immediate); int i2 = acceptor1.async_accept(peer_socket1, lazy); (void)i2; int i3 = acceptor1.async_accept(peer_socket1, peer_endpoint, lazy); @@ -921,12 +914,13 @@ void test() acceptor1.async_accept(peer_socket2, accept_handler()); acceptor1.async_accept(peer_socket2, peer_endpoint, accept_handler()); + acceptor1.async_accept(peer_socket2, immediate); + acceptor1.async_accept(peer_socket2, peer_endpoint, immediate); int i4 = acceptor1.async_accept(peer_socket2, lazy); (void)i4; int i5 = acceptor1.async_accept(peer_socket2, peer_endpoint, lazy); (void)i5; -#if defined(ASIO_HAS_MOVE) acceptor1.async_accept(move_accept_handler()); acceptor1.async_accept(ioc, move_accept_handler()); acceptor1.async_accept(ioc_ex, move_accept_handler()); @@ -935,7 +929,12 @@ void test() acceptor1.async_accept(ioc, peer_endpoint, move_accept_handler()); acceptor1.async_accept(ioc_ex, peer_endpoint, move_accept_handler()); acceptor1.async_accept(ioc_ex, peer_endpoint, move_accept_ioc_handler()); -#endif // defined(ASIO_HAS_MOVE) + acceptor1.async_accept(immediate); + acceptor1.async_accept(ioc, immediate); + acceptor1.async_accept(ioc_ex, immediate); + acceptor1.async_accept(peer_endpoint, immediate); + acceptor1.async_accept(ioc, peer_endpoint, immediate); + acceptor1.async_accept(ioc_ex, peer_endpoint, immediate); } catch (std::exception&) { @@ -1037,11 +1036,9 @@ struct resolve_handler resolve_handler() {} void operator()(const asio::error_code&, asio::ip::tcp::resolver::results_type) {} -#if defined(ASIO_HAS_MOVE) resolve_handler(resolve_handler&&) {} private: resolve_handler(const resolve_handler&); -#endif // defined(ASIO_HAS_MOVE) }; #if !defined(ASIO_NO_DEPRECATED) @@ -1050,11 +1047,9 @@ struct legacy_resolve_handler legacy_resolve_handler() {} void operator()(const asio::error_code&, asio::ip::tcp::resolver::iterator) {} -#if defined(ASIO_HAS_MOVE) legacy_resolve_handler(legacy_resolve_handler&&) {} private: legacy_resolve_handler(const legacy_resolve_handler&); -#endif // defined(ASIO_HAS_MOVE) }; #endif // !defined(ASIO_NO_DEPRECATED) @@ -1079,16 +1074,12 @@ void test() ip::tcp::resolver resolver(ioc); ip::tcp::resolver resolver2(ioc_ex); -#if defined(ASIO_HAS_MOVE) ip::tcp::resolver resolver3(std::move(resolver)); -#endif // defined(ASIO_HAS_MOVE) // basic_resolver operators. -#if defined(ASIO_HAS_MOVE) resolver = ip::tcp::resolver(ioc); resolver = std::move(resolver3); -#endif // defined(ASIO_HAS_MOVE) // basic_io_object functions. @@ -1224,9 +1215,7 @@ void test() const ip::basic_resolver_entry<ip::tcp> entry1; ip::basic_resolver_entry<ip::tcp> entry2(endpoint, host_name, service_name); ip::basic_resolver_entry<ip::tcp> entry3(entry1); -#if defined(ASIO_HAS_MOVE) ip::basic_resolver_entry<ip::tcp> entry4(std::move(entry2)); -#endif // defined(ASIO_HAS_MOVE) // basic_resolver_entry functions. @@ -1287,19 +1276,15 @@ void test() ip::tcp::iostream ios1; -#if defined(ASIO_HAS_STD_IOSTREAM_MOVE) ip::tcp::iostream ios2(std::move(sock)); -#endif // defined(ASIO_HAS_STD_IOSTREAM_MOVE) ip::tcp::iostream ios3("hostname", "service"); // basic_socket_iostream operators. -#if defined(ASIO_HAS_STD_IOSTREAM_MOVE) ios1 = ip::tcp::iostream(); ios2 = std::move(ios1); -#endif // defined(ASIO_HAS_STD_IOSTREAM_MOVE) // basic_socket_iostream members. @@ -1338,14 +1323,14 @@ void test() ASIO_TEST_SUITE ( "ip/tcp", - ASIO_TEST_CASE(ip_tcp_compile::test) + ASIO_COMPILE_TEST_CASE(ip_tcp_compile::test) ASIO_TEST_CASE(ip_tcp_runtime::test) - ASIO_TEST_CASE(ip_tcp_socket_compile::test) + ASIO_COMPILE_TEST_CASE(ip_tcp_socket_compile::test) ASIO_TEST_CASE(ip_tcp_socket_runtime::test) - ASIO_TEST_CASE(ip_tcp_acceptor_compile::test) + ASIO_COMPILE_TEST_CASE(ip_tcp_acceptor_compile::test) ASIO_TEST_CASE(ip_tcp_acceptor_runtime::test) - ASIO_TEST_CASE(ip_tcp_resolver_compile::test) - ASIO_TEST_CASE(ip_tcp_resolver_entry_compile::test) - ASIO_TEST_CASE(ip_tcp_resolver_entry_compile::test) + ASIO_COMPILE_TEST_CASE(ip_tcp_resolver_compile::test) + ASIO_COMPILE_TEST_CASE(ip_tcp_resolver_entry_compile::test) + ASIO_COMPILE_TEST_CASE(ip_tcp_resolver_entry_compile::test) ASIO_COMPILE_TEST_CASE(ip_tcp_iostream_compile::test) ) |