summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-12-05 21:59:00 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2016-12-12 02:55:45 +0100
commit36be03af9ccb5ede87f7a5bc3d37526cdc9b2bc4 (patch)
tree4f95a3c666ad80a5e6066dfcf2d75f54e67d6866 /messagebus
parentf94a9a21d6d546868ef2cf63ea3532469450ffd7 (diff)
Avoid pulling in all of slobrok and config everywhere.
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/tests/serviceaddress/serviceaddress.cpp2
-rw-r--r--messagebus/src/vespa/messagebus/network/inetwork.h2
-rw-r--r--messagebus/src/vespa/messagebus/network/oosmanager.cpp2
-rw-r--r--messagebus/src/vespa/messagebus/network/oosmanager.h12
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.cpp27
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcnetwork.h14
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcservice.cpp2
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcservice.h9
-rw-r--r--messagebus/src/vespa/messagebus/routing/routingcontext.h3
-rw-r--r--messagebus/src/vespa/messagebus/testlib/testserver.cpp2
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 &params) :
_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;
}