diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-12-05 21:59:00 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2016-12-12 02:55:45 +0100 |
commit | 36be03af9ccb5ede87f7a5bc3d37526cdc9b2bc4 (patch) | |
tree | 4f95a3c666ad80a5e6066dfcf2d75f54e67d6866 /messagebus | |
parent | f94a9a21d6d546868ef2cf63ea3532469450ffd7 (diff) |
Avoid pulling in all of slobrok and config everywhere.
Diffstat (limited to 'messagebus')
10 files changed, 38 insertions, 37 deletions
diff --git a/messagebus/src/tests/serviceaddress/serviceaddress.cpp b/messagebus/src/tests/serviceaddress/serviceaddress.cpp index 36d7776f732..e8fb670dd9b 100644 --- a/messagebus/src/tests/serviceaddress/serviceaddress.cpp +++ b/messagebus/src/tests/serviceaddress/serviceaddress.cpp @@ -97,7 +97,7 @@ bool Test::waitSlobrok(RPCNetwork &network, const string &pattern, size_t num) { for (int i = 0; i < 1000; i++) { - slobrok::api::MirrorAPI::SpecList res = network.getMirror().lookup(pattern); + slobrok::api::IMirrorAPI::SpecList res = network.getMirror().lookup(pattern); if (res.size() == num) { return true; } diff --git a/messagebus/src/vespa/messagebus/network/inetwork.h b/messagebus/src/vespa/messagebus/network/inetwork.h index 9ca024d77a0..b218a0689a2 100644 --- a/messagebus/src/vespa/messagebus/network/inetwork.h +++ b/messagebus/src/vespa/messagebus/network/inetwork.h @@ -3,7 +3,7 @@ #include <memory> #include <vespa/messagebus/routing/routingnode.h> -#include <vespa/slobrok/sbmirror.h> +#include <vespa/slobrok/imirrorapi.h> #include "inetworkowner.h" namespace mbus { diff --git a/messagebus/src/vespa/messagebus/network/oosmanager.cpp b/messagebus/src/vespa/messagebus/network/oosmanager.cpp index 97d2fc9e960..f48d457d401 100644 --- a/messagebus/src/vespa/messagebus/network/oosmanager.cpp +++ b/messagebus/src/vespa/messagebus/network/oosmanager.cpp @@ -60,7 +60,7 @@ OOSManager::PerformTask() } OOSManager::OOSManager(FRT_Supervisor &orb, - slobrok::api::MirrorAPI &mirror, + IMirrorAPI &mirror, const string &servicePattern) : FNET_Task(orb.GetScheduler()), _orb(orb), diff --git a/messagebus/src/vespa/messagebus/network/oosmanager.h b/messagebus/src/vespa/messagebus/network/oosmanager.h index 8ae28f30424..32941e5a98f 100644 --- a/messagebus/src/vespa/messagebus/network/oosmanager.h +++ b/messagebus/src/vespa/messagebus/network/oosmanager.h @@ -3,7 +3,7 @@ #include <vespa/fnet/fnet.h> #include <set> -#include <vespa/slobrok/sbmirror.h> +#include <vespa/slobrok/imirrorapi.h> #include <string> #include <vespa/vespalib/util/sync.h> #include "oosclient.h" @@ -22,15 +22,15 @@ public: /** * Convenience typedefs. */ - typedef slobrok::api::MirrorAPI MirrorAPI; - typedef MirrorAPI::SpecList SpecList; + typedef slobrok::api::IMirrorAPI IMirrorAPI; + typedef IMirrorAPI::SpecList SpecList; typedef std::vector<OOSClient::SP> ClientList; typedef std::set<string> StringSet; typedef std::shared_ptr<StringSet> OOSSet; private: - FRT_Supervisor &_orb; - MirrorAPI &_mirror; + FRT_Supervisor &_orb; + IMirrorAPI &_mirror; bool _disabled; bool _ready; vespalib::Lock _lock; @@ -64,7 +64,7 @@ public: * @param servicePattern The service pattern for oos servers. */ OOSManager(FRT_Supervisor &orb, - slobrok::api::MirrorAPI &mirror, + IMirrorAPI &mirror, const string &servicePattern); /** diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp b/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp index 8ec6794919b..b0101753452 100644 --- a/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp +++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.cpp @@ -1,15 +1,14 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/fastos.h> -#include <vespa/messagebus/emptyreply.h> -#include <vespa/messagebus/errorcode.h> -#include <vespa/messagebus/iprotocol.h> -#include <vespa/messagebus/tracelevel.h> -#include <vespa/vespalib/util/vstringfmt.h> -#include <vespa/vespalib/util/sync.h> #include "inetworkowner.h" #include "rpcnetwork.h" #include "rpcsendv1.h" #include "rpcservice.h" +#include <vespa/messagebus/emptyreply.h> +#include <vespa/messagebus/errorcode.h> +#include <vespa/messagebus/iprotocol.h> +#include <vespa/messagebus/tracelevel.h> +#include <vespa/slobrok/sbregister.h> +#include <vespa/slobrok/sbmirror.h> #include <vespa/log/log.h> LOG_SETUP(".rpcnetwork"); @@ -108,9 +107,9 @@ RPCNetwork::RPCNetwork(const RPCNetworkParams ¶ms) : _targetPool(params.getConnectionExpireSecs()), _targetPoolTask(_scheduler, _targetPool), _servicePool(*this, 4096), - _mirror(_orb, slobrok::ConfiguratorFactory(params.getSlobrokConfig())), - _regAPI(_orb, slobrok::ConfiguratorFactory(params.getSlobrokConfig())), - _oosManager(_orb, _mirror, params.getOOSServerPattern()), + _mirror(std::make_unique<slobrok::api::MirrorAPI>(_orb, slobrok::ConfiguratorFactory(params.getSlobrokConfig()))), + _regAPI(std::make_unique<slobrok::api::RegisterAPI>(_orb, slobrok::ConfiguratorFactory(params.getSlobrokConfig()))), + _oosManager(_orb, *_mirror, params.getOOSServerPattern()), _requestedPort(params.getListenPort()), _sendV1(), _sendAdapters() @@ -221,7 +220,7 @@ bool RPCNetwork::waitUntilReady(double seconds) const { for (uint32_t i = 0; i < seconds * 100; ++i) { - if (_mirror.ready() && _oosManager.isReady()) { + if (_mirror->ready() && _oosManager.isReady()) { return true; } FastOS_Thread::Sleep(10); @@ -241,7 +240,7 @@ RPCNetwork::registerSession(const string &session) string name = _ident.getServicePrefix(); name += "/"; name += session; - _regAPI.registerName(name); + _regAPI->registerName(name); } void @@ -253,7 +252,7 @@ RPCNetwork::unregisterSession(const string &session) string name = _ident.getServicePrefix(); name += "/"; name += session; - _regAPI.unregisterName(name); + _regAPI->unregisterName(name); } bool @@ -374,7 +373,7 @@ RPCNetwork::postShutdownHook() const slobrok::api::IMirrorAPI & RPCNetwork::getMirror() const { - return _mirror; + return *_mirror; } } // namespace mbus diff --git a/messagebus/src/vespa/messagebus/network/rpcnetwork.h b/messagebus/src/vespa/messagebus/network/rpcnetwork.h index 4f96b426abb..4196a5c89a5 100644 --- a/messagebus/src/vespa/messagebus/network/rpcnetwork.h +++ b/messagebus/src/vespa/messagebus/network/rpcnetwork.h @@ -5,8 +5,7 @@ #include <vespa/messagebus/blobref.h> #include <vespa/messagebus/message.h> #include <vespa/messagebus/reply.h> -#include <vespa/slobrok/sbmirror.h> -#include <vespa/slobrok/sbregister.h> +#include <vespa/slobrok/imirrorapi.h> #include <vespa/vespalib/component/versionspecification.h> #include "inetwork.h" #include "oosmanager.h" @@ -15,8 +14,13 @@ #include "rpcservicepool.h" #include "rpctargetpool.h" -namespace mbus { +namespace slobrok { + namespace api { + class RegisterAPI; + } +} +namespace mbus { /** * Network implementation based on RPC. This class is responsible for * keeping track of services and for sending messages to services. @@ -56,8 +60,8 @@ private: RPCTargetPool _targetPool; TargetPoolTask _targetPoolTask; RPCServicePool _servicePool; - slobrok::api::MirrorAPI _mirror; - slobrok::api::RegisterAPI _regAPI; + std::unique_ptr<slobrok::api::IMirrorAPI> _mirror; + std::unique_ptr<slobrok::api::RegisterAPI> _regAPI; OOSManager _oosManager; int _requestedPort; RPCSendV1 _sendV1; diff --git a/messagebus/src/vespa/messagebus/network/rpcservice.cpp b/messagebus/src/vespa/messagebus/network/rpcservice.cpp index 64c60d0e01f..60b23f523c7 100644 --- a/messagebus/src/vespa/messagebus/network/rpcservice.cpp +++ b/messagebus/src/vespa/messagebus/network/rpcservice.cpp @@ -7,7 +7,7 @@ namespace mbus { -RPCService::RPCService(const slobrok::api::IMirrorAPI &mirror, +RPCService::RPCService(const Mirror &mirror, const string &pattern) : _mirror(mirror), _pattern(pattern), diff --git a/messagebus/src/vespa/messagebus/network/rpcservice.h b/messagebus/src/vespa/messagebus/network/rpcservice.h index f4f660e7e09..2566ad0f262 100644 --- a/messagebus/src/vespa/messagebus/network/rpcservice.h +++ b/messagebus/src/vespa/messagebus/network/rpcservice.h @@ -1,8 +1,7 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once -#include <vespa/slobrok/sbmirror.h> -#include <vespa/slobrok/sbregister.h> +#include <vespa/slobrok/imirrorapi.h> #include <vespa/vespalib/util/linkedptr.h> #include "rpcserviceaddress.h" @@ -17,8 +16,8 @@ class RPCNetwork; */ class RPCService { private: - typedef slobrok::api::IMirrorAPI Mirror; - typedef slobrok::api::MirrorAPI::SpecList AddressList; + typedef slobrok::api::IMirrorAPI Mirror; + typedef Mirror::SpecList AddressList; const Mirror &_mirror; string _pattern; @@ -37,7 +36,7 @@ public: * @param mirror The naming server to send queries to. * @param pattern The pattern to use when querying. */ - RPCService(const slobrok::api::IMirrorAPI &mirror, const string &pattern); + RPCService(const Mirror &mirror, const string &pattern); /** * Resolve a concrete address from this service. This service may represent diff --git a/messagebus/src/vespa/messagebus/routing/routingcontext.h b/messagebus/src/vespa/messagebus/routing/routingcontext.h index b9c26dc6224..9edcd5aa014 100644 --- a/messagebus/src/vespa/messagebus/routing/routingcontext.h +++ b/messagebus/src/vespa/messagebus/routing/routingcontext.h @@ -3,8 +3,7 @@ #include <vespa/messagebus/context.h> #include <vespa/messagebus/messagebus.h> -#include <vespa/slobrok/sbmirror.h> -#include <string> +#include <vespa/slobrok/imirrorapi.h> #include <set> #include "hop.h" #include "policydirective.h" diff --git a/messagebus/src/vespa/messagebus/testlib/testserver.cpp b/messagebus/src/vespa/messagebus/testlib/testserver.cpp index cdc7325c508..207ab2b83c2 100644 --- a/messagebus/src/vespa/messagebus/testlib/testserver.cpp +++ b/messagebus/src/vespa/messagebus/testlib/testserver.cpp @@ -70,7 +70,7 @@ TestServer::waitState(const SlobrokState &slobrokState) for (SlobrokState::ITR itr = slobrokState.begin(); itr != slobrokState.end(); ++itr) { - slobrok::api::MirrorAPI::SpecList res = net.getMirror().lookup(itr->first); + slobrok::api::IMirrorAPI::SpecList res = net.getMirror().lookup(itr->first); if (res.size() != itr->second) { done = false; } |