diff options
Diffstat (limited to 'slobrok/src/vespa/slobrok/server/rpc_server_map.cpp')
-rw-r--r-- | slobrok/src/vespa/slobrok/server/rpc_server_map.cpp | 8 |
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) { |