summaryrefslogtreecommitdiffstats
path: root/slobrok/src
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-08-17 10:41:51 +0000
committerArne Juul <arnej@verizonmedia.com>2021-08-17 10:41:51 +0000
commit13af76aaddb6421672fc23c8288de77d133dcd81 (patch)
treea4fe571cab4bfc0a74f18836fb0d85932d7d59d9 /slobrok/src
parentc500e965f0411390303cb84163cc835128b4dddc (diff)
move even more responsibility to lookup()
Diffstat (limited to 'slobrok/src')
-rw-r--r--slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp24
-rw-r--r--slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h2
2 files changed, 11 insertions, 15 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 b32c6bc1a63..3b517bb9241 100644
--- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp
+++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp
@@ -21,11 +21,11 @@ LocalRpcMonitorMap::LocalRpcMonitorMap(FRT_Supervisor &supervisor)
LocalRpcMonitorMap::~LocalRpcMonitorMap() = default;
LocalRpcMonitorMap::PerService &
-LocalRpcMonitorMap::lookup(const ServiceMapping &mapping) {
- auto iter = _map.find(mapping.name);
+LocalRpcMonitorMap::lookup(ManagedRpcServer *rpcsrv) {
+ auto iter = _map.find(rpcsrv->getName());
LOG_ASSERT(iter != _map.end());
PerService & psd = iter->second;
- LOG_ASSERT(psd.spec() == mapping.spec);
+ LOG_ASSERT(psd.srv.get() == rpcsrv);
return psd;
}
@@ -114,36 +114,32 @@ 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.srv.get() == rpcsrv);
- LOG(debug, "failed: %s->%s", mapping.name.c_str(), mapping.spec.c_str());
+ auto &psd = lookup(rpcsrv);
+ LOG(debug, "failed: %s->%s", psd.name().c_str(), psd.spec().c_str());
if (psd.inflight) {
auto target = std::move(psd.inflight);
target->doneHandler(OkState(13, "failed check using listNames callback"));
}
if (psd.up) {
psd.up = false;
- _dispatcher.remove(mapping);
+ _dispatcher.remove(psd.mapping());
}
if (psd.localOnly) {
- auto iter = _map.find(mapping.name);
+ auto iter = _map.find(psd.name());
_map.erase(iter);
}
}
void LocalRpcMonitorMap::notifyOkRpcSrv(ManagedRpcServer *rpcsrv) {
- ServiceMapping mapping{rpcsrv->getName(), rpcsrv->getSpec()};
- auto &psd = lookup(mapping);
- LOG_ASSERT(psd.srv.get() == rpcsrv);
- LOG(debug, "ok: %s->%s", mapping.name.c_str(), mapping.spec.c_str());
+ auto &psd = lookup(rpcsrv);
+ LOG(debug, "ok: %s->%s", psd.name().c_str(), psd.spec().c_str());
if (psd.inflight) {
auto target = std::move(psd.inflight);
target->doneHandler(OkState());
}
if (! psd.up) {
psd.up = true;
- _dispatcher.add(mapping);
+ _dispatcher.add(psd.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 05d71a8d681..3a8d858e382 100644
--- a/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h
+++ b/slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h
@@ -72,7 +72,7 @@ private:
FRT_Supervisor &_supervisor;
std::unique_ptr<MapSubscription> _subscription;
- PerService &lookup(const ServiceMapping &mapping);
+ PerService &lookup(ManagedRpcServer *rpcsrv);
public:
LocalRpcMonitorMap(FRT_Supervisor &_supervisor);