aboutsummaryrefslogtreecommitdiffstats
path: root/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'slobrok/src/vespa/slobrok/server/rpc_server_map.cpp')
-rw-r--r--slobrok/src/vespa/slobrok/server/rpc_server_map.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp b/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp
index 5f26608c294..89675a543a7 100644
--- a/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp
+++ b/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp
@@ -27,8 +27,9 @@ RpcServerMap::lookup(const std::string & name) const
std::unique_ptr<NamedService>
RpcServerMap::remove(const std::string & name)
{
- _visible_map.remove(name);
auto service = std::move(_myrpcsrv_map[name]);
+ auto spec = service->getSpec();
+ _visible_map.remove(ServiceMapping{name, spec});
_myrpcsrv_map.erase(name);
return service;
}
@@ -67,7 +68,7 @@ RpcServerMap::add(NamedService *rpcsrv)
LOG_ASSERT(_myrpcsrv_map.find(name) == _myrpcsrv_map.end());
removeReservation(name);
- _visible_map.update(ServiceMapping{name, rpcsrv->getSpec()});
+ _visible_map.add(ServiceMapping{name, rpcsrv->getSpec()});
}
void
@@ -80,9 +81,8 @@ RpcServerMap::addNew(std::unique_ptr<ManagedRpcServer> rpcsrv)
if (oldman) {
const ReservedName *oldres = _reservations[name].get();
- _visible_map.remove(name);
-
const std::string &spec = rpcsrv->getSpec();
+ _visible_map.remove(ServiceMapping{name, spec});
const std::string &oldname = oldman->getName();
const std::string &oldspec = oldman->getSpec();
if (spec != oldspec) {