summaryrefslogtreecommitdiffstats
path: root/persistence
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-06-01 15:32:15 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-06-01 18:03:25 +0200
commit61a4ea34c2ddd3b618249b6f6eb402069e40bccb (patch)
tree6d6e8d55bfd574a0d2d039a07099774d2545f32e /persistence
parent54581b5ecd98230dc90fe787f1f02a33ebffbff6 (diff)
Removed frt.h from header files to reduce include volume.
Diffstat (limited to 'persistence')
-rw-r--r--persistence/src/tests/proxy/providerstub_test.cpp3
-rw-r--r--persistence/src/vespa/persistence/proxy/providerstub.cpp43
-rw-r--r--persistence/src/vespa/persistence/proxy/providerstub.h9
3 files changed, 31 insertions, 24 deletions
diff --git a/persistence/src/tests/proxy/providerstub_test.cpp b/persistence/src/tests/proxy/providerstub_test.cpp
index db218ef81b8..1028e06b8bc 100644
--- a/persistence/src/tests/proxy/providerstub_test.cpp
+++ b/persistence/src/tests/proxy/providerstub_test.cpp
@@ -15,6 +15,9 @@
#include <vespa/vdslib/distribution/distribution.h>
#include <vespa/vdslib/state/clusterstate.h>
#include <vespa/config-stor-distribution.h>
+#include <vespa/fnet/frt/supervisor.h>
+#include <vespa/fnet/frt/rpcrequest.h>
+#include <vespa/fnet/frt/target.h>
using document::BucketId;
using document::ByteBuffer;
diff --git a/persistence/src/vespa/persistence/proxy/providerstub.cpp b/persistence/src/vespa/persistence/proxy/providerstub.cpp
index 38d7ffab5f5..6d65d92693f 100644
--- a/persistence/src/vespa/persistence/proxy/providerstub.cpp
+++ b/persistence/src/vespa/persistence/proxy/providerstub.cpp
@@ -9,10 +9,13 @@
#include <vespa/document/update/documentupdate.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/persistence/spi/persistenceprovider.h>
-#include <persistence/spi/types.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/vespalib/util/closuretask.h>
#include <vespa/document/fieldset/fieldsetrepo.h>
+#include <vespa/fnet/frt/values.h>
+#include <vespa/fnet/frt/supervisor.h>
+#include <vespa/fnet/frt/rpcrequest.h>
+
using document::BucketId;
using document::ByteBuffer;
@@ -25,8 +28,7 @@ using vespalib::makeClosure;
using vespalib::makeTask;
using vespalib::nbostream;
-namespace storage {
-namespace spi {
+namespace storage::spi {
namespace {
LoadType defaultLoadType(0, "default");
@@ -870,16 +872,13 @@ void ProviderStub::RPC_removeEntry(FRT_RPCRequest *req) {
}
void ProviderStub::SetupRpcCalls() {
- FRT_ReflectionBuilder rb(&_supervisor);
+ FRT_ReflectionBuilder rb(_supervisor.get());
addConnect(rb, FRT_METHOD(ProviderStub::RPC_connect), this);
- addInitialize(
- rb, FRT_METHOD(ProviderStub::RPC_initialize), this);
- addGetPartitionStates(
- rb, FRT_METHOD(ProviderStub::RPC_getPartitionStates), this);
+ addInitialize(rb, FRT_METHOD(ProviderStub::RPC_initialize), this);
+ addGetPartitionStates(rb, FRT_METHOD(ProviderStub::RPC_getPartitionStates), this);
addListBuckets(rb, FRT_METHOD(ProviderStub::RPC_listBuckets), this);
addSetClusterState(rb, FRT_METHOD(ProviderStub::RPC_setClusterState), this);
- addSetActiveState(
- rb, FRT_METHOD(ProviderStub::RPC_setActiveState), this);
+ addSetActiveState(rb, FRT_METHOD(ProviderStub::RPC_setActiveState), this);
addGetBucketInfo(rb, FRT_METHOD(ProviderStub::RPC_getBucketInfo), this);
addPut(rb, FRT_METHOD(ProviderStub::RPC_put), this);
addRemoveById(rb, FRT_METHOD(ProviderStub::RPC_removeById), this);
@@ -889,12 +888,10 @@ void ProviderStub::SetupRpcCalls() {
addGet(rb, FRT_METHOD(ProviderStub::RPC_get), this);
addCreateIterator(rb, FRT_METHOD(ProviderStub::RPC_createIterator), this);
addIterate(rb, FRT_METHOD(ProviderStub::RPC_iterate), this);
- addDestroyIterator(
- rb, FRT_METHOD(ProviderStub::RPC_destroyIterator), this);
+ addDestroyIterator(rb, FRT_METHOD(ProviderStub::RPC_destroyIterator), this);
addCreateBucket(rb, FRT_METHOD(ProviderStub::RPC_createBucket), this);
addDeleteBucket(rb, FRT_METHOD(ProviderStub::RPC_deleteBucket), this);
- addGetModifiedBuckets(
- rb, FRT_METHOD(ProviderStub::RPC_getModifiedBuckets), this);
+ addGetModifiedBuckets(rb, FRT_METHOD(ProviderStub::RPC_getModifiedBuckets), this);
addSplit(rb, FRT_METHOD(ProviderStub::RPC_split), this);
addJoin(rb, FRT_METHOD(ProviderStub::RPC_join), this);
addMove(rb, FRT_METHOD(ProviderStub::RPC_move), this);
@@ -910,18 +907,22 @@ ProviderStub::ProviderStub(int port, uint32_t threads,
_repo(&repo),
_factory(factory),
_provider(),
- _providerCleanupTask(_supervisor.GetScheduler(), _executor, _provider)
+ _providerCleanupTask(_supervisor->GetScheduler(), _executor, _provider)
{
SetupRpcCalls();
- _supervisor.SetSessionFiniHook(FRT_METHOD(ProviderStub::HOOK_fini), this);
- _supervisor.Start();
- _supervisor.Listen(port);
+ _supervisor->SetSessionFiniHook(FRT_METHOD(ProviderStub::HOOK_fini), this);
+ _supervisor->Start();
+ _supervisor->Listen(port);
}
ProviderStub::~ProviderStub() {
- _supervisor.ShutDown(true);
+ _supervisor->ShutDown(true);
sync();
}
-} // namespace spi
-} // namespace storage
+int
+ProviderStub::getPort() const {
+ return _supervisor->GetListenPort();
+}
+
+}
diff --git a/persistence/src/vespa/persistence/proxy/providerstub.h b/persistence/src/vespa/persistence/proxy/providerstub.h
index ce831547ef9..eff3560cf20 100644
--- a/persistence/src/vespa/persistence/proxy/providerstub.h
+++ b/persistence/src/vespa/persistence/proxy/providerstub.h
@@ -2,11 +2,14 @@
#pragma once
-#include <vespa/fnet/frt/frt.h>
#include <vespa/vespalib/util/closure.h>
#include <vespa/vespalib/util/threadstackexecutor.h>
+#include <vespa/fnet/frt/invokable.h>
+#include <vespa/fnet/task.h>
#include <memory>
+class FRT_Supervisor;
+
namespace document { class DocumentTypeRepo; }
namespace storage {
@@ -36,7 +39,7 @@ private:
}
};
- FRT_Supervisor _supervisor;
+ std::unique_ptr<FRT_Supervisor> _supervisor;
vespalib::ThreadStackExecutor _executor;
const document::DocumentTypeRepo *_repo;
PersistenceProviderFactory &_factory;
@@ -81,8 +84,8 @@ public:
PersistenceProviderFactory &factory);
~ProviderStub();
- int getPort() const { return _supervisor.GetListenPort(); }
bool hasClient() const { return (_provider.get() != 0); }
+ int getPort() const;
void setRepo(const document::DocumentTypeRepo &repo) {
_repo = &repo;
}