From: Casey Bodley Date: Thu, 9 Feb 2023 15:37:29 +0000 (-0500) Subject: Revert "rgw/beast: use explicit executor type for tcp socket and stream" X-Git-Tag: v19.3.0~285^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0d6689f11bfacc2c6fef81cf87e57e36e0d2a77f;p=ceph.git Revert "rgw/beast: use explicit executor type for tcp socket and stream" This reverts commit 0bee64d8757f679bd532f251ccbcb16c3b5199da. Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc index 226fbe6936d..1e443a84f90 100644 --- a/src/rgw/rgw_asio_frontend.cc +++ b/src/rgw/rgw_asio_frontend.cc @@ -52,14 +52,8 @@ namespace ssl = boost::asio::ssl; struct Connection; -// use explicit executor types instead of the type-erased boost::asio::executor -using executor_type = boost::asio::io_context::executor_type; - -using tcp_socket = boost::asio::basic_stream_socket; -using tcp_stream = boost::beast::basic_stream; - using timeout_timer = rgw::basic_timeout_timer; + boost::asio::any_io_executor, Connection>; static constexpr size_t parse_buffer_size = 65536; using parse_buffer = boost::beast::flat_static_buffer; @@ -102,7 +96,7 @@ class StreamIO : public rgw::asio::ClientIO { ldout(cct, 4) << "write_data failed: " << ec.message() << dendl; if (ec == boost::asio::error::broken_pipe) { boost::system::error_code ec_ignored; - stream.lowest_layer().shutdown(tcp_socket::shutdown_both, ec_ignored); + stream.lowest_layer().shutdown(tcp::socket::shutdown_both, ec_ignored); } if (!fatal_ec) { fatal_ec = ec; @@ -196,7 +190,7 @@ std::ostream& operator<<(std::ostream& out, const log_apache_time& a) { << std::put_time(local, " %z"); }; -using SharedMutex = ceph::async::SharedMutex; +using SharedMutex = ceph::async::SharedMutex; template void handle_connection(boost::asio::io_context& context, @@ -358,17 +352,17 @@ void handle_connection(boost::asio::io_context& context, struct Connection : boost::intrusive::list_base_hook<>, boost::intrusive_ref_counter { - tcp_socket socket; + tcp::socket socket; parse_buffer buffer; - explicit Connection(tcp_socket&& socket) noexcept + explicit Connection(tcp::socket&& socket) noexcept : socket(std::move(socket)) {} void close(boost::system::error_code& ec) { socket.close(ec); } - tcp_socket& get_socket() { return socket; } + tcp::socket& get_socket() { return socket; } }; class ConnectionList { @@ -427,7 +421,7 @@ class AsioFrontend { struct Listener { tcp::endpoint endpoint; tcp::acceptor acceptor; - tcp_socket socket; + tcp::socket socket; bool use_ssl = false; bool use_nodelay = false; @@ -1033,7 +1027,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec) auto conn = boost::intrusive_ptr{new Connection(std::move(s))}; auto c = connections.add(*conn); // wrap the tcp stream in an ssl stream - boost::asio::ssl::stream stream{conn->socket, *ssl_context}; + boost::asio::ssl::stream stream{conn->socket, *ssl_context}; auto timeout = timeout_timer{context.get_executor(), request_timeout, conn}; // do ssl handshake boost::system::error_code ec; @@ -1068,7 +1062,7 @@ void AsioFrontend::accept(Listener& l, boost::system::error_code ec) handle_connection(context, env, conn->socket, timeout, header_limit, conn->buffer, false, pause_mutex, scheduler.get(), uri_prefix, ec, yield); - conn->socket.shutdown(tcp_socket::shutdown_both, ec); + conn->socket.shutdown(tcp::socket::shutdown_both, ec); }, make_stack_allocator()); } }