From 89b0b2efb6d2674363113c99ab440e4cbb811683 Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Mon, 20 Sep 2021 10:05:46 +0000 Subject: remove unused files --- slobrok/src/vespa/slobrok/server/cmd.cpp | 73 ----- slobrok/src/vespa/slobrok/server/cmd.h | 33 --- .../src/vespa/slobrok/server/exchange_manager.cpp | 1 - slobrok/src/vespa/slobrok/server/remote_check.cpp | 2 - .../src/vespa/slobrok/server/remote_slobrok.cpp | 2 - .../vespa/slobrok/server/rpc_server_manager.cpp | 314 --------------------- .../src/vespa/slobrok/server/rpc_server_manager.h | 77 ----- .../src/vespa/slobrok/server/rpc_server_map.cpp | 133 --------- slobrok/src/vespa/slobrok/server/rpc_server_map.h | 66 ----- slobrok/src/vespa/slobrok/server/rpchooks.cpp | 2 - slobrok/src/vespa/slobrok/server/sbenv.h | 2 - 11 files changed, 705 deletions(-) delete mode 100644 slobrok/src/vespa/slobrok/server/cmd.cpp delete mode 100644 slobrok/src/vespa/slobrok/server/cmd.h delete mode 100644 slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp delete mode 100644 slobrok/src/vespa/slobrok/server/rpc_server_manager.h delete mode 100644 slobrok/src/vespa/slobrok/server/rpc_server_map.cpp delete mode 100644 slobrok/src/vespa/slobrok/server/rpc_server_map.h (limited to 'slobrok/src') diff --git a/slobrok/src/vespa/slobrok/server/cmd.cpp b/slobrok/src/vespa/slobrok/server/cmd.cpp deleted file mode 100644 index 9b03942d763..00000000000 --- a/slobrok/src/vespa/slobrok/server/cmd.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - - -#include "cmd.h" -#include "reserved_name.h" -#include "remote_slobrok.h" -#include "sbenv.h" - -#include -LOG_SETUP(".slobrok.server.cmd"); - -namespace slobrok { - -//----------------------------------------------------------------------------- - -struct ScriptData { - SBEnv &env; - const std::string name; - const std::string spec; - FRT_RPCRequest * const registerRequest; - - enum { - RDC_INIT, XCH_WANTADD, CHK_RPCSRV, XCH_DOADD, XCH_IGNORE, RDC_INVAL - } _state; - - ScriptData(SBEnv &e, const std::string &n, const std::string &s, FRT_RPCRequest *r) - : env(e), name(n), spec(s), registerRequest(r), _state(RDC_INIT) - {} -}; - -//----------------------------------------------------------------------------- - -const std::string & -ScriptCommand::name() { return _data->name; } - -const std::string & -ScriptCommand::spec() { return _data->spec; } - -ScriptCommand::ScriptCommand(std::unique_ptr data) - : _data(std::move(data)) -{} - -ScriptCommand::ScriptCommand(ScriptCommand &&) = default; -ScriptCommand& -ScriptCommand::operator= (ScriptCommand &&) = default; -ScriptCommand::~ScriptCommand() = default; - -ScriptCommand -ScriptCommand::makeIgnoreCmd(SBEnv &env, const std::string & name, const std::string &spec) -{ - auto data = std::make_unique(env, name, spec, nullptr); - data->_state = ScriptData::XCH_IGNORE; - return ScriptCommand(std::move(data)); -} - -void -ScriptCommand::doneHandler(OkState result) -{ - LOG_ASSERT(_data); - std::unique_ptr dataUP = std::move(_data); - LOG_ASSERT(! _data); - ScriptData & data = *dataUP; - const char *name_p = data.name.c_str(); - const char *spec_p = data.spec.c_str(); - - if (result.failed()) { - LOG(warning, "failed [%s->%s] in state %d: %s", name_p, spec_p, data._state, result.errorMsg.c_str()); - } -} - -//----------------------------------------------------------------------------- - -} // namespace slobrok diff --git a/slobrok/src/vespa/slobrok/server/cmd.h b/slobrok/src/vespa/slobrok/server/cmd.h deleted file mode 100644 index 0053f4aa464..00000000000 --- a/slobrok/src/vespa/slobrok/server/cmd.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#pragma once - -#include "ok_state.h" -#include - -class FRT_RPCRequest; - -namespace slobrok { - -class SBEnv; -struct ScriptData; - -class ScriptCommand -{ -private: - std::unique_ptr _data; - ScriptCommand(std::unique_ptr data); -public: - const std::string &name(); - const std::string &spec(); - - ScriptCommand(ScriptCommand &&); - ScriptCommand& operator= (ScriptCommand &&); - ~ScriptCommand(); - - static ScriptCommand makeIgnoreCmd(SBEnv &env, const std::string &name, const std::string &spec); - - void doneHandler(OkState result); - void doRequest(); -}; - -} // namespace slobrok diff --git a/slobrok/src/vespa/slobrok/server/exchange_manager.cpp b/slobrok/src/vespa/slobrok/server/exchange_manager.cpp index 29a607e70fa..a62db2ed35d 100644 --- a/slobrok/src/vespa/slobrok/server/exchange_manager.cpp +++ b/slobrok/src/vespa/slobrok/server/exchange_manager.cpp @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "exchange_manager.h" -#include "rpc_server_map.h" #include "sbenv.h" #include #include diff --git a/slobrok/src/vespa/slobrok/server/remote_check.cpp b/slobrok/src/vespa/slobrok/server/remote_check.cpp index 00f0a4d3d7f..da4d1ebc3dd 100644 --- a/slobrok/src/vespa/slobrok/server/remote_check.cpp +++ b/slobrok/src/vespa/slobrok/server/remote_check.cpp @@ -2,8 +2,6 @@ #include "remote_check.h" #include "named_service.h" -#include "rpc_server_map.h" -#include "rpc_server_manager.h" #include "remote_slobrok.h" #include "random.h" #include "exchange_manager.h" diff --git a/slobrok/src/vespa/slobrok/server/remote_slobrok.cpp b/slobrok/src/vespa/slobrok/server/remote_slobrok.cpp index 070d3b5c450..4b308e90e37 100644 --- a/slobrok/src/vespa/slobrok/server/remote_slobrok.cpp +++ b/slobrok/src/vespa/slobrok/server/remote_slobrok.cpp @@ -1,8 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "remote_slobrok.h" -#include "rpc_server_map.h" -#include "rpc_server_manager.h" #include "exchange_manager.h" #include "sbenv.h" #include diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp b/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp deleted file mode 100644 index 2ab375e0579..00000000000 --- a/slobrok/src/vespa/slobrok/server/rpc_server_manager.cpp +++ /dev/null @@ -1,314 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#include "rpc_server_manager.h" -#include "reserved_name.h" -#include "rpc_server_map.h" -#include "remote_slobrok.h" -#include "sbenv.h" -#include -#include - -#include -LOG_SETUP(".slobrok.server.rpc_server_manager"); - -using vespalib::make_string_short::fmt; - -namespace slobrok { - -RpcServerManager::RpcServerManager(SBEnv &sbenv) - : FNET_Task(sbenv.getScheduler()), - _exchanger(sbenv.exchangeManager()), - _env(sbenv), - _addManageds(), - _deleteList() -{ -} - -static OkState -validateName(const std::string & rpcsrvname) -{ - const char *p = rpcsrvname.c_str(); - while (*p != '\0') { - // important: disallow '*' - if (strchr("+,-./:=@[]_{}~<>" - "0123456789" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz", *p) == nullptr) - { - std::ostringstream tmp; - tmp << "Illegal character '" << *p << "' ("; - tmp << (int)(*p)<< ") in rpcserver name"; - return OkState(13, tmp.str().c_str()); - } - ++p; - } - if (p == rpcsrvname) { - return OkState(13, "empty rpcserver name"); - } - return OkState(); -} - - -OkState -RpcServerManager::checkPartner(const std::string & remslobrok) -{ - if (remslobrok == _env.mySpec()) { - return OkState(13, "remote slobrok using my rpcserver name"); - } - const RemoteSlobrok *partner = _exchanger.lookupPartner(remslobrok); - if (partner == nullptr) { - return OkState(13, "remote slobrok not a partner"); - } - return OkState(); -} - -OkState -RpcServerManager::addRemReservation(const std::string & remslobrok, const std::string & name, const std::string &spec) -{ - OkState state = checkPartner(remslobrok); - if (state.failed()) return state; - - OkState valid = validateName(name); - if (valid.failed()) return valid; - - const NamedService *old = _rpcsrvmap.lookupManaged(name); - if (old != nullptr) { - if (old->getSpec() == spec) { - // was alright already - return OkState(0, "already registered"); - } - LOG(warning, "remote %s tried to register [%s -> %s] but we already have [%s -> %s] registered!", - remslobrok.c_str(), name.c_str(), spec.c_str(), old->getName().c_str(), old->getSpec().c_str()); - return OkState(FRTE_RPC_METHOD_FAILED, "already managed by me"); - } - if (_rpcsrvmap.conflictingReservation(name, spec)) { - return OkState(FRTE_RPC_METHOD_FAILED, "registration for name already in progress"); - } - _rpcsrvmap.addReservation(std::make_unique(name, spec, false)); - return OkState(0, "done"); -} - - -OkState -RpcServerManager::addMyReservation(const std::string & name, const std::string & spec) -{ - OkState valid = validateName(name); - if (valid.failed()) return valid; - - const NamedService *old = _rpcsrvmap.lookupManaged(name); - if (old != nullptr) { - if (old->getSpec() == spec) { - // was alright already - return OkState(0, "already registered"); - } else { - return OkState(FRTE_RPC_METHOD_FAILED, fmt("name %s registered (to %s), cannot register %s", - name.c_str(), old->getSpec().c_str(), spec.c_str())); - } - } - - // check if we already are in the progress of adding this - if (_rpcsrvmap.conflictingReservation(name, spec)) { - const ReservedName * rsv = _rpcsrvmap.getReservation(name); - LOG(warning, "conflicting registrations: wanted [%s -> %s] but [%s -> %s] already reserved", - name.c_str(), spec.c_str(), rsv->getName().c_str(), rsv->getSpec().c_str()); - return OkState(FRTE_RPC_METHOD_FAILED, - "registration for name already in progress with a different spec"); - } - _rpcsrvmap.removeReservation(name); - _rpcsrvmap.addReservation(std::make_unique(name, spec, true)); - return OkState(0, "done"); -} - - -OkState -RpcServerManager::addRemote(const std::string & name, const std::string &spec) -{ - OkState valid = validateName(name); - if (valid.failed()) return valid; - - if (alreadyManaged(name, spec)) { - return OkState(0, "already correct"); - } - const NamedService *old = _rpcsrvmap.lookup(name); - if (old != nullptr) { - if (old->getSpec() != spec) { - LOG(warning, "collision on remote add: name %s registered to %s locally, " - "but another location broker wants it registered to %s", - name.c_str(), old->getSpec().c_str(), spec.c_str()); - removeRemote(name, old->getSpec()); - return OkState(13, "registered, with different spec"); - } - // was alright already, remove reservation - _rpcsrvmap.removeReservation(name); - return OkState(0, "already correct"); - } - _rpcsrvmap.removeReservation(name); - auto rpcsrv = std::make_unique(name, spec, *this); - _rpcsrvmap.addNew(std::move(rpcsrv)); - return OkState(0, "done"); -} - -OkState -RpcServerManager::remove(ManagedRpcServer *rpcsrv) -{ - const NamedService *td = _rpcsrvmap.lookup(rpcsrv->getName()); - if (td == rpcsrv) { - return removeLocal(rpcsrv->getName(), rpcsrv->getSpec()); - } else { - return OkState(1, "not currently registered"); - } -} - - -OkState -RpcServerManager::removeRemote(const std::string &name, const std::string &spec) -{ - const NamedService *old = _rpcsrvmap.lookup(name); - if (old == nullptr) { - // was alright already, remove any reservation too - _rpcsrvmap.removeReservation(name); - return OkState(0, "already done"); - } - if (old->getSpec() != spec) { - return OkState(1, "name registered, but with different spec"); - } - std::unique_ptr td = _rpcsrvmap.remove(name); - LOG_ASSERT(td.get() == old); - return OkState(0, "done"); -} - -OkState -RpcServerManager::removeLocal(const std::string & name, const std::string &spec) -{ - const NamedService *td = _rpcsrvmap.lookup(name); - if (td == nullptr) { - // already removed, nop - return OkState(); - } - - const RemoteSlobrok *partner = _exchanger.lookupPartner(name); - if (partner != nullptr) { - return OkState(13, "cannot unregister partner slobrok"); - } - - const ManagedRpcServer *rpcsrv = _rpcsrvmap.lookupManaged(name); - if (rpcsrv == nullptr) { - return OkState(13, "not a local rpcserver"); - } - - if (rpcsrv->getSpec() != spec) { - // the client can probably ignore this "error" - // or log it on level INFO? - return OkState(1, fmt("name registered, but with different spec (%s)", rpcsrv->getSpec().c_str())); - } - auto tdUP = _rpcsrvmap.remove(name); - LOG_ASSERT(tdUP.get() == rpcsrv); - _exchanger.forwardRemove(name, spec); - return OkState(); -} - - -void -RpcServerManager::addManaged(ScriptCommand rdc) -{ - const std::string &name = rdc.name(); - const std::string &spec = rdc.spec(); - auto newRpcServer = std::make_unique(name, spec, *this); - ManagedRpcServer & rpcsrv = *newRpcServer; - _rpcsrvmap.addNew(std::move(newRpcServer)); - for (size_t i = 0; i < _addManageds.size(); i++) { - if (_addManageds[i].rpcsrv == nullptr) { - _addManageds[i].rpcsrv = &rpcsrv; - _addManageds[i].handler = std::move(rdc); - rpcsrv.healthCheck(); - return; - } - } - _addManageds.emplace_back(&rpcsrv, std::move(rdc)); - rpcsrv.healthCheck(); - return; -} - - - -bool -RpcServerManager::alreadyManaged(const std::string &name, const std::string &spec) -{ - const ManagedRpcServer *rpcsrv = _rpcsrvmap.lookupManaged(name); - if (rpcsrv != nullptr) { - if (rpcsrv->getSpec() == spec) { - return true; - } - } - return false; -} - - -RpcServerManager::~RpcServerManager() -{ - Kill(); - PerformTask(); -} - - -void -RpcServerManager::PerformTask() -{ - std::vector> deleteAfterSwap; - std::swap(deleteAfterSwap, _deleteList); -} - - -void -RpcServerManager::notifyFailedRpcSrv(ManagedRpcServer *rpcsrv, std::string errmsg) -{ - _env.countFailedHeartbeat(); - const auto &name = rpcsrv->getName(); - const auto &spec = rpcsrv->getSpec(); - const char *namep = name.c_str(); - const char *specp = spec.c_str(); - std::unique_ptr toDelete; - const NamedService *old = _rpcsrvmap.lookup(rpcsrv->getName()); - if (old == rpcsrv) { - toDelete = _rpcsrvmap.remove(name); - LOG_ASSERT(toDelete.get() == rpcsrv); - LOG(info, "managed server %s at %s failed: %s", namep, specp, errmsg.c_str()); - } else { - // only managed servers should exist, this is bad: - LOG(error, "unmanaged server %s at %s failed: %s", namep, specp, errmsg.c_str()); - } - _exchanger.forwardRemove(name, spec); - for (size_t i = 0; i < _addManageds.size(); ++i) { - if (_addManageds[i].rpcsrv == rpcsrv) { - LOG(warning, "rpcserver %s at %s failed while trying to register", namep, specp); - _addManageds[i].rpcsrv = nullptr; - _addManageds[i].handler.doneHandler(OkState(13, "failed check using listNames callback")); - } - } - if (toDelete) { - _deleteList.push_back(std::move(toDelete)); - ScheduleNow(); - } -} - -void -RpcServerManager::notifyOkRpcSrv(ManagedRpcServer *rpcsrv) -{ - for (size_t i = 0; i < _addManageds.size(); ++i) { - if (_addManageds[i].rpcsrv == rpcsrv) { - _addManageds[i].handler.doneHandler(OkState()); - _addManageds[i].rpcsrv = 0; - } - } - // XXX check if pending wantAdd / doAdd / registerRpcServer -} - -FRT_Supervisor * -RpcServerManager::getSupervisor() -{ - return _env.getSupervisor(); -} - -//----------------------------------------------------------------------------- - -} // namespace slobrok diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_manager.h b/slobrok/src/vespa/slobrok/server/rpc_server_manager.h deleted file mode 100644 index 15b674388e3..00000000000 --- a/slobrok/src/vespa/slobrok/server/rpc_server_manager.h +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#pragma once - -#include "ok_state.h" -#include "cmd.h" -#include "i_rpc_server_manager.h" -#include "named_service.h" -#include -#include -#include - -namespace slobrok { - -class NamedService; -class ManagedRpcServer; -class RemoteSlobrok; -class ReservedName; -class RpcServerMap; -class ExchangeManager; -class SBEnv; - -/** - * @class RpcServerManager - * @brief Main "business logic" for the service location broker. - * - * Used by all external and some internal operations. - * This class actually implements operations, - * checking for validity, manipulating internal datastructures, - * and initiating synchronization operations to peer slobroks. - **/ -class RpcServerManager : public FNET_Task, - public IRpcServerManager -{ -private: - RpcServerMap &_rpcsrvmap; - ExchangeManager &_exchanger; - SBEnv &_env; - - struct MRSandRRSC { - ManagedRpcServer *rpcsrv; - ScriptCommand handler; - MRSandRRSC(ManagedRpcServer *d, ScriptCommand h) - : rpcsrv(d), handler(std::move(h)) {} - }; - std::vector _addManageds; - std::vector> _deleteList; -public: - OkState checkPartner(const std::string & remslobrok); - - OkState addRemote(const std::string & name, const std::string & spec); - - OkState addRemReservation(const std::string & remslobrok, const std::string & name, const std::string & spec); - OkState addMyReservation(const std::string & name, const std::string & spec); - - bool alreadyManaged(const std::string & name, const std::string & spec); - void addManaged(ScriptCommand rdc); - - OkState remove(ManagedRpcServer *rpcsrv); - - OkState removeLocal(const std::string & name, const std::string & spec); - OkState removeRemote(const std::string & name, const std::string & spec); - - RpcServerManager(const RpcServerManager &) = delete; - RpcServerManager &operator=(const RpcServerManager &) = delete; - RpcServerManager(SBEnv &sbenv); - ~RpcServerManager(); - - void PerformTask() override; - void notifyFailedRpcSrv(ManagedRpcServer *rpcsrv, std::string errmsg) override; - void notifyOkRpcSrv(ManagedRpcServer *rpcsrv) override; - FRT_Supervisor *getSupervisor() override; -}; - -//----------------------------------------------------------------------------- - -} // namespace slobrok - diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp b/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp deleted file mode 100644 index fcaaf57570c..00000000000 --- a/slobrok/src/vespa/slobrok/server/rpc_server_map.cpp +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#include "rpc_server_map.h" -#include "reserved_name.h" -#include "rpc_server_manager.h" -#include "sbenv.h" - -#include -LOG_SETUP(".slobrok.server.rpc_server_map"); - -namespace slobrok { - -//----------------------------------------------------------------------------- - -ManagedRpcServer * -RpcServerMap::lookupManaged(const std::string & name) const { - auto found = _myrpcsrv_map.find(name); - return (found == _myrpcsrv_map.end()) ? nullptr : found->second.get(); -} - -const NamedService * -RpcServerMap::lookup(const std::string & name) const -{ - return lookupManaged(name); -} - -std::unique_ptr -RpcServerMap::remove(const std::string & name) -{ - auto service = std::move(_myrpcsrv_map[name]); - auto spec = service->getSpec(); - _proxy.remove(ServiceMapping{name, spec}); - _myrpcsrv_map.erase(name); - return service; -} - -std::vector -RpcServerMap::allManaged() const -{ - std::vector retval; - // get list of all names in myrpcsrv_map - for (const auto & entry : _myrpcsrv_map) { - retval.push_back(entry.second.get()); - } - return retval; -} - - -void -RpcServerMap::add(NamedService *rpcsrv) -{ - const std::string &name = rpcsrv->getName(); - - LOG_ASSERT(rpcsrv != nullptr); - LOG_ASSERT(_myrpcsrv_map.find(name) == _myrpcsrv_map.end()); - - removeReservation(name); - _proxy.add(ServiceMapping{name, rpcsrv->getSpec()}); -} - -void -RpcServerMap::addNew(std::unique_ptr rpcsrv) -{ - const std::string &name = rpcsrv->getName(); - - auto oldman = std::move(_myrpcsrv_map[name]); - _myrpcsrv_map.erase(name); - - if (oldman) { - const ReservedName *oldres = _reservations[name].get(); - const std::string &spec = rpcsrv->getSpec(); - _proxy.remove(ServiceMapping{name, spec}); - const std::string &oldname = oldman->getName(); - const std::string &oldspec = oldman->getSpec(); - if (spec != oldspec) { - LOG(warning, "internal state problem: adding [%s at %s] but already had [%s at %s]", - name.c_str(), spec.c_str(), oldname.c_str(), oldspec.c_str()); - if (oldres != nullptr) { - const std::string &n = oldres->getName(); - const std::string &s = oldres->getSpec(); - LOG(warning, "old reservation: [%s at %s]", n.c_str(), s.c_str()); - } - } - } - add(rpcsrv.get()); - _myrpcsrv_map[name] = std::move(rpcsrv); -} - - -void -RpcServerMap::addReservation(std::unique_ptr rpcsrv) -{ - LOG_ASSERT(rpcsrv != nullptr); - LOG_ASSERT(_myrpcsrv_map.find(rpcsrv->getName()) == _myrpcsrv_map.end()); - - // must not be reserved for something else already - // this should have been checked already, so assert - LOG_ASSERT(! conflictingReservation(rpcsrv->getName(), rpcsrv->getSpec())); - auto old = std::move(_reservations[rpcsrv->getName()]); - LOG_ASSERT(!old - || old->getSpec() == rpcsrv->getSpec() - || ! old->stillReserved()); - _reservations[rpcsrv->getName()] = std::move(rpcsrv); -} - - -/** check if there is a (different) registration for this name in progress */ -bool -RpcServerMap::conflictingReservation(const std::string &name, const std::string &spec) -{ - const ReservedName *resv = _reservations[name].get(); - return (resv != nullptr && - resv->stillReserved() && - resv->getSpec() != spec); -} - -const ReservedName * -RpcServerMap::getReservation(const std::string &name) const { - auto found = _reservations.find(name); - return (found == _reservations.end()) ? nullptr : found->second.get(); -} - -RpcServerMap::RpcServerMap() = default; - -RpcServerMap::~RpcServerMap() = default; - -void -RpcServerMap::removeReservation(const std::string & name) -{ - _reservations.erase(name); -} - -} // namespace slobrok diff --git a/slobrok/src/vespa/slobrok/server/rpc_server_map.h b/slobrok/src/vespa/slobrok/server/rpc_server_map.h deleted file mode 100644 index 3d2999069ea..00000000000 --- a/slobrok/src/vespa/slobrok/server/rpc_server_map.h +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#pragma once - -#include "named_service.h" -#include "service_map_history.h" -#include "proxy_map_source.h" - -#include -#include -#include - -namespace slobrok { - -class NamedService; -class ManagedRpcServer; -class ReservedName; - -/** - * @class RpcServerMap - * @brief Contains the actual collections of NamedService (and subclasses) - * objects known by this location broker. - * - * Works as a collection of NamedService objects, but actually contains - * three seperate hashmaps. - **/ - -class RpcServerMap -{ -private: - using ManagedRpcServerMap = std::unordered_map>; - using ReservedNameMap = std::unordered_map>; - ManagedRpcServerMap _myrpcsrv_map; - ReservedNameMap _reservations; - ProxyMapSource _proxy; - - void add(NamedService *rpcsrv); - -public: - typedef std::vector RpcSrvlist; - - MapSource &proxy() { return _proxy; } - - ManagedRpcServer *lookupManaged(const std::string & name) const; - - const NamedService * lookup(const std::string & name) const; - RpcSrvlist allManaged() const; - - void addNew(std::unique_ptr rpcsrv); - std::unique_ptr remove(const std::string & name); - - void addReservation(std::unique_ptrrpcsrv); - bool conflictingReservation(const std::string & name, const std::string &spec); - - const ReservedName *getReservation(const std::string & name) const; - void removeReservation(const std::string & name); - - RpcServerMap(const RpcServerMap &) = delete; - RpcServerMap &operator=(const RpcServerMap &) = delete; - RpcServerMap(); - ~RpcServerMap(); -}; - -//----------------------------------------------------------------------------- - -} // namespace slobrok - diff --git a/slobrok/src/vespa/slobrok/server/rpchooks.cpp b/slobrok/src/vespa/slobrok/server/rpchooks.cpp index d51b1c6d276..6d51285af9c 100644 --- a/slobrok/src/vespa/slobrok/server/rpchooks.cpp +++ b/slobrok/src/vespa/slobrok/server/rpchooks.cpp @@ -4,8 +4,6 @@ #include "ok_state.h" #include "named_service.h" #include "request_completion_handler.h" -#include "rpc_server_map.h" -#include "rpc_server_manager.h" #include "remote_slobrok.h" #include "sbenv.h" #include "rpcmirror.h" diff --git a/slobrok/src/vespa/slobrok/server/sbenv.h b/slobrok/src/vespa/slobrok/server/sbenv.h index 39cae2acb2d..3c4b6e5d403 100644 --- a/slobrok/src/vespa/slobrok/server/sbenv.h +++ b/slobrok/src/vespa/slobrok/server/sbenv.h @@ -3,8 +3,6 @@ #include "named_service.h" #include "rpc_mapping_monitor.h" -#include "rpc_server_map.h" -#include "rpc_server_manager.h" #include "remote_slobrok.h" #include "exchange_manager.h" #include "configshim.h" -- cgit v1.2.3