summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-08-16 10:18:06 +0000
committerArne Juul <arnej@verizonmedia.com>2021-08-17 08:58:26 +0000
commit814cc1414ce1560ca3cb1b60e118e0ed694d1bd9 (patch)
treeada1463b1b0b2db655ac88cab520bec01bfc81bf /slobrok
parentcc9d23d336d218607725db64f4f64177b3384daf (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.cpp30
-rw-r--r--slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h2
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);