diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-08-16 10:18:06 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-08-17 08:58:26 +0000 |
commit | 814cc1414ce1560ca3cb1b60e118e0ed694d1bd9 (patch) | |
tree | ada1463b1b0b2db655ac88cab520bec01bfc81bf /slobrok | |
parent | cc9d23d336d218607725db64f4f64177b3384daf (diff) |
lookup() is only used where it must succeed
Diffstat (limited to 'slobrok')
-rw-r--r-- | slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp | 30 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h | 2 |
2 files changed, 14 insertions, 18 deletions
diff --git a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp index f52a0d33be6..b904daca069 100644 --- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp +++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp @@ -18,15 +18,13 @@ LocalRpcMonitorMap::LocalRpcMonitorMap(FRT_Supervisor &supervisor) LocalRpcMonitorMap::~LocalRpcMonitorMap() = default; -LocalRpcMonitorMap::PerService * +LocalRpcMonitorMap::PerService & LocalRpcMonitorMap::lookup(const ServiceMapping &mapping) { auto iter = _map.find(mapping.name); - if (iter != _map.end()) { - PerService & psd = iter->second; - LOG_ASSERT(psd.spec() == mapping.spec); - return &psd; - } - return nullptr; + LOG_ASSERT(iter != _map.end()); + PerService & psd = iter->second; + LOG_ASSERT(psd.spec() == mapping.spec); + return psd; } ServiceMapHistory & LocalRpcMonitorMap::history() { @@ -85,24 +83,22 @@ void LocalRpcMonitorMap::remove(const ServiceMapping &mapping) { void LocalRpcMonitorMap::notifyFailedRpcSrv(ManagedRpcServer *rpcsrv, std::string) { ServiceMapping mapping{rpcsrv->getName(), rpcsrv->getSpec()}; - auto * psd = lookup(mapping); - LOG_ASSERT(psd); - LOG_ASSERT(psd->srv.get() == rpcsrv); + auto &psd = lookup(mapping); + LOG_ASSERT(psd.srv.get() == rpcsrv); LOG(debug, "failed: %s->%s", mapping.name.c_str(), mapping.spec.c_str()); - if (psd->up) { - psd->up = false; + if (psd.up) { + psd.up = false; _dispatcher.remove(mapping); } } void LocalRpcMonitorMap::notifyOkRpcSrv(ManagedRpcServer *rpcsrv) { ServiceMapping mapping{rpcsrv->getName(), rpcsrv->getSpec()}; - auto * psd = lookup(mapping); - LOG_ASSERT(psd); - LOG_ASSERT(psd->srv.get() == rpcsrv); + auto &psd = lookup(mapping); + LOG_ASSERT(psd.srv.get() == rpcsrv); LOG(debug, "ok: %s->%s", mapping.name.c_str(), mapping.spec.c_str()); - if (! psd->up) { - psd->up = true; + if (! psd.up) { + psd.up = true; _dispatcher.add(mapping); } } diff --git a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h index b4e1a4f4eb9..fa69b24c5d9 100644 --- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h +++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h @@ -44,7 +44,7 @@ private: FRT_Supervisor &_supervisor; std::unique_ptr<MapSubscription> _subscription; - PerService * lookup(const ServiceMapping &mapping); + PerService &lookup(const ServiceMapping &mapping); public: LocalRpcMonitorMap(FRT_Supervisor &_supervisor); |