summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-06-24 06:42:46 +0000
committerArne Juul <arnej@verizonmedia.com>2021-06-24 06:42:46 +0000
commit750834845d0bf689b543c8834fea15dd67588d7b (patch)
tree2e5f766cc71e0109c174ab346e084b56bea90516 /slobrok
parent31c9d28b02ca301839915d977c0027b7dd185865 (diff)
simplify to avoid problems on shutdown
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.cpp34
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.h4
2 files changed, 17 insertions, 21 deletions
diff --git a/slobrok/src/vespa/slobrok/server/sbenv.cpp b/slobrok/src/vespa/slobrok/server/sbenv.cpp
index 2405c93b059..572481a1120 100644
--- a/slobrok/src/vespa/slobrok/server/sbenv.cpp
+++ b/slobrok/src/vespa/slobrok/server/sbenv.cpp
@@ -22,6 +22,20 @@ namespace slobrok {
namespace {
+std::string
+createSpec(int port)
+{
+ if (port == 0) {
+ return std::string();
+ }
+ std::ostringstream str;
+ str << "tcp/";
+ str << vespalib::HostName::get();
+ str << ":";
+ str << port;
+ return str.str();
+}
+
void
discard(std::vector<std::string> &vec, const std::string & val)
{
@@ -91,7 +105,7 @@ SBEnv::SBEnv(const ConfigShim &shim)
_configurator(shim.factory().create(*this)),
_shuttingDown(false),
_partnerList(),
- _me(),
+ _me(createSpec(_configShim.portNumber())),
_rpcHooks(*this, _rpcsrvmap, _rpcsrvmanager),
_selfchecktask(std::make_unique<SelfCheck>(getSupervisor()->GetScheduler(), _rpcsrvmap, _rpcsrvmanager)),
_remotechecktask(std::make_unique<RemoteCheck>(getSupervisor()->GetScheduler(), _rpcsrvmap, _rpcsrvmanager, _exchanger)),
@@ -132,20 +146,6 @@ SBEnv::resume()
namespace {
-std::string
-createSpec(int port)
-{
- if (port == 0) {
- return std::string();
- }
- std::ostringstream str;
- str << "tcp/";
- str << vespalib::HostName::get();
- str << ":";
- str << port;
- return str.str();
-}
-
vespalib::string
toString(const std::vector<std::string> & v) {
vespalib::asciistream os;
@@ -170,10 +170,6 @@ SBEnv::MainLoop()
LOG(config, "listening on port %d", _configShim.portNumber());
}
- std::string myspec = createSpec(_configShim.portNumber());
-
- _me = std::make_unique<ManagedRpcServer>(myspec.c_str(), myspec.c_str(), _rpcsrvmanager);
-
std::unique_ptr<ReconfigurableStateServer> stateServer;
if (_configShim.enableStateServer()) {
stateServer = std::make_unique<ReconfigurableStateServer>(_configShim.configId(), _health, _metrics, _components);
diff --git a/slobrok/src/vespa/slobrok/server/sbenv.h b/slobrok/src/vespa/slobrok/server/sbenv.h
index 223a8b7e9ee..3a8badb9538 100644
--- a/slobrok/src/vespa/slobrok/server/sbenv.h
+++ b/slobrok/src/vespa/slobrok/server/sbenv.h
@@ -49,7 +49,7 @@ private:
void setup(const std::vector<std::string> &cfg) override;
std::vector<std::string> _partnerList;
- std::unique_ptr<ManagedRpcServer> _me;
+ std::string _me;
RPCHooks _rpcHooks;
std::unique_ptr<SelfCheck> _selfchecktask;
std::unique_ptr<RemoteCheck> _remotechecktask;
@@ -73,7 +73,7 @@ public:
ExchangeManager _exchanger;
RpcServerMap _rpcsrvmap;
- const std::string & mySpec() const { return _me->getSpec(); }
+ const std::string & mySpec() const { return _me; }
bool isSuspended() const { return false; }
bool isShuttingDown() const { return _shuttingDown; }