diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-08-17 10:41:51 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-08-17 10:41:51 +0000 |
commit | 13af76aaddb6421672fc23c8288de77d133dcd81 (patch) | |
tree | a4fe571cab4bfc0a74f18836fb0d85932d7d59d9 | |
parent | c500e965f0411390303cb84163cc835128b4dddc (diff) |
move even more responsibility to lookup()
-rw-r--r-- | slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.cpp | 24 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/local_rpc_monitor_map.h | 2 |
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); |