From 8ea0d94ecefeb374abba13090cb2afab3efe48c8 Mon Sep 17 00:00:00 2001 From: Asias He Date: Mon, 20 Apr 2015 16:04:57 +0800 Subject: [PATCH] message: Listen on single port --- message/messaging_service.hh | 13 +++++-------- tests/message.cc | 5 ++--- tests/urchin/gossip.cc | 5 ++--- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/message/messaging_service.hh b/message/messaging_service.hh index 76133dce63..847da9d8ba 100644 --- a/message/messaging_service.hh +++ b/message/messaging_service.hh @@ -223,7 +223,7 @@ public: handler(std::function&& rpc_handler_) : rpc_handler(std::move(rpc_handler_)) {} }; private: - static constexpr const uint16_t _port_base = 7000; + static constexpr const uint16_t _default_port = 7000; gms::inet_address _listen_address; uint16_t _port; rpc::protocol _rpc; @@ -233,16 +233,13 @@ private: public: messaging_service(gms::inet_address ip = gms::inet_address("0.0.0.0")) : _listen_address(ip) - , _port(_port_base + engine().cpu_id()) + , _port(_default_port) , _rpc(serializer{}) , _server(_rpc, ipv4_addr{_listen_address.raw_addr(), _port}) { } public: - uint16_t port_min() { - return _port_base; - } - uint16_t port_max() { - return _port_base + smp::count - 1; + uint16_t port() { + return _port; } auto listen_address() { return _listen_address; @@ -325,7 +322,7 @@ private: rpc::protocol::client& get_rpc_client(shard_id id) { auto it = _clients.find(id); if (it == _clients.end()) { - auto remote_addr = ipv4_addr(id.addr.raw_addr(), _port_base + id.cpu_id); + auto remote_addr = ipv4_addr(id.addr.raw_addr(), _port); auto client = std::make_unique::client>(_rpc, remote_addr); it = _clients.emplace(id, shard_info(std::move(client))).first; return *it->second.rpc_client; diff --git a/tests/message.cc b/tests/message.cc index ebc9f4fea1..521ba7dcbb 100644 --- a/tests/message.cc +++ b/tests/message.cc @@ -151,9 +151,8 @@ int main(int ac, char ** av) { auto testers = new distributed; testers->start().then([testers]{ auto& server = net::get_local_messaging_service(); - auto min = server.port_min(); - auto max = server.port_max(); - std::cout << "Messaging server listening on ports " << min << " to " << max << " ...\n"; + auto port = server.port(); + std::cout << "Messaging server listening on port " << port << " ...\n"; return testers->invoke_on_all(&tester::init_handler); }).then([testers, config] { auto t = &testers->local(); diff --git a/tests/urchin/gossip.cc b/tests/urchin/gossip.cc index ef432d07e4..c3f1e93258 100644 --- a/tests/urchin/gossip.cc +++ b/tests/urchin/gossip.cc @@ -17,10 +17,9 @@ int main(int ac, char ** av) { auto listen = gms::inet_address(config["listen-address"].as()); net::get_messaging_service().start(std::ref(listen)).then([&] { auto& server = net::get_local_messaging_service(); - auto min = server.port_min(); - auto max = server.port_max(); + auto port = server.port(); auto listen = server.listen_address(); - print("Messaging server listening on ip %s ports %d to %d ...\n", listen, min, max); + print("Messaging server listening on ip %s port %d ...\n", listen, port); gms::get_failure_detector().start_single().then([&] { gms::get_gossiper().start_single().then([&] { auto&& config = app.configuration();