refactor socket props

This commit is contained in:
2025-09-27 11:24:24 -05:00
parent 5a042c09e5
commit 272bc39def
4 changed files with 10 additions and 6 deletions

View File

@@ -46,6 +46,8 @@ private:
boost::asio::ip::tcp::socket &sock;
};
void apply_common_socket_properties(boost::asio::ip::tcp::socket &sock);
[[nodiscard]] auto is_socket_still_alive(boost::asio::ip::tcp::socket &sock)
-> bool;

View File

@@ -77,6 +77,12 @@ auto is_socket_still_alive(boost::asio::ip::tcp::socket &sock) -> bool {
return false;
}
void apply_common_socket_properties(boost::asio::ip::tcp::socket &sock) {
sock.set_option(boost::asio::ip::tcp::no_delay(true));
sock.set_option(boost::asio::socket_base::linger(false, 0));
sock.set_option(boost::asio::socket_base::keep_alive(true));
}
template <class op_t>
void run_with_deadline(boost::asio::io_context &io_ctx,
boost::asio::ip::tcp::socket &sock, op_t &&operation,

View File

@@ -89,9 +89,7 @@ auto packet_client::check_version(std::uint32_t client_version,
connect_with_deadline(ctx, cli.socket, resolve_results,
std::chrono::milliseconds(cfg_.conn_timeout_ms));
cli.socket.set_option(boost::asio::ip::tcp::no_delay(true));
cli.socket.set_option(boost::asio::socket_base::linger(false, 0));
cli.socket.set_option(boost::asio::socket_base::keep_alive(true));
comm::apply_common_socket_properties(cli.socket);
if (not handshake(cli, ctx, min_version)) {
return api_error::comm_error;

View File

@@ -232,9 +232,7 @@ void packet_server::on_accept(std::shared_ptr<connection> conn,
return;
}
conn->socket.set_option(boost::asio::ip::tcp::no_delay(true));
conn->socket.set_option(boost::asio::socket_base::linger(false, 0));
conn->socket.set_option(boost::asio::socket_base::keep_alive(true));
comm::apply_common_socket_properties(conn->socket);
boost::asio::dispatch(conn->socket.get_executor(), [this, conn]() {
if (not handshake(conn)) {