From 9fff3dac9aa7dc26c4a9b971d48963feef852539 Mon Sep 17 00:00:00 2001 From: "Zezheng.Li" Date: Mon, 2 Dec 2024 16:41:39 +0800 Subject: [PATCH 1/2] [coro_rpc] fix server constructor --- include/ylt/coro_rpc/impl/coro_rpc_server.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/ylt/coro_rpc/impl/coro_rpc_server.hpp b/include/ylt/coro_rpc/impl/coro_rpc_server.hpp index 3b59f6957..057740ae8 100644 --- a/include/ylt/coro_rpc/impl/coro_rpc_server.hpp +++ b/include/ylt/coro_rpc/impl/coro_rpc_server.hpp @@ -89,8 +89,7 @@ class coro_rpc_server_base { init_address(std::move(address)); } - coro_rpc_server_base(size_t thread_num = std::thread::hardware_concurrency(), - std::string address = "0.0.0.0:9001", + coro_rpc_server_base(size_t thread_num, std::string address, std::chrono::steady_clock::duration conn_timeout_duration = std::chrono::seconds(0), bool is_enable_tcp_no_delay = true) @@ -102,7 +101,7 @@ class coro_rpc_server_base { init_address(std::move(address)); } - coro_rpc_server_base(const server_config &config = server_config{}) + coro_rpc_server_base(const server_config &config) : pool_(config.thread_num), acceptor_(pool_.get_executor()->get_asio_executor()), port_(config.port), From b816e7282a8069586ed458a9c810deb7379d432a Mon Sep 17 00:00:00 2001 From: "Zezheng.Li" Date: Mon, 2 Dec 2024 17:06:17 +0800 Subject: [PATCH 2/2] remove fixed port in test --- src/coro_io/tests/test_channel.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/coro_io/tests/test_channel.cpp b/src/coro_io/tests/test_channel.cpp index 8c737d9cb..cd308dc7f 100644 --- a/src/coro_io/tests/test_channel.cpp +++ b/src/coro_io/tests/test_channel.cpp @@ -198,22 +198,26 @@ void hello() {} TEST_CASE("test server down") { async_simple::coro::syncAwait([]() -> async_simple::coro::Lazy { - coro_rpc::coro_rpc_server server1(1, 58801); + coro_rpc::coro_rpc_server server1(1, 0); server1.register_handler(); auto res = server1.async_start(); REQUIRE_MESSAGE(!res.hasResult(), "server start failed"); - coro_rpc::coro_rpc_server server2(1, 58802); + auto port1 = server1.port(); + coro_rpc::coro_rpc_server server2(1, 0); server2.register_handler(); auto res2 = server2.async_start(); REQUIRE_MESSAGE(!res2.hasResult(), "server start failed"); - auto hosts = - std::vector{"127.0.0.1:58801", "127.0.0.1:58802"}; + + auto port2 = server2.port(); + auto hosts = std::vector{"127.0.0.1:" + std::to_string(port1), + "127.0.0.1:" + std::to_string(port2)}; + auto host_view = std::vector{hosts[0], hosts[1]}; auto config = coro_io::client_pool::pool_config{ .connect_retry_count = 0, .reconnect_wait_time = std::chrono::milliseconds{0}, .host_alive_detect_duration = std::chrono::milliseconds{500}}; auto load_blancer = - coro_io::load_blancer::create(hosts, + coro_io::load_blancer::create(host_view, {config}); for (int i = 0; i < 100; ++i) { @@ -259,7 +263,7 @@ TEST_CASE("test server down") { } } - coro_rpc::coro_rpc_server server3(1, 58801); + coro_rpc::coro_rpc_server server3(1, port1); server3.register_handler(); auto res3 = server3.async_start(); REQUIRE_MESSAGE(!res3.hasResult(), "server start failed"); @@ -276,7 +280,7 @@ TEST_CASE("test server down") { CHECK(res.has_value()); } } - coro_rpc::coro_rpc_server server4(1, 58802); + coro_rpc::coro_rpc_server server4(1, port2); server4.register_handler(); auto res4 = server4.async_start(); REQUIRE_MESSAGE(!res4.hasResult(), "server start failed");