aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2017-04-24 12:10:42 +0200
committerGitHub <noreply@github.com>2017-04-24 12:10:42 +0200
commit9ff4bdb407ed8d855a3f86a17c99906ff738177b (patch)
treefc2b050224d7dde92d57e1f9cac12c1e5aaf6b90 /documentapi
parent32ae190acc9ac5081049e1c7008d1602c68cf821 (diff)
Revert "Balder/enforce override 2"
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/src/tests/loadtypes/testrunner.cpp5
-rw-r--r--documentapi/src/tests/policies/testframe.cpp6
-rw-r--r--documentapi/src/tests/policies/testframe.h2
-rw-r--r--documentapi/src/tests/replymerger/replymerger_test.cpp3
-rw-r--r--documentapi/src/tests/routablefactory/routablefactory.cpp1
-rw-r--r--documentapi/src/tests/systemstate/systemstate.cpp6
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/documentprotocol.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/documentmessage.h1
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/documentreply.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/documentsummarymessage.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/emptybucketsmessage.h6
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistmessage.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistreply.h2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getbucketstatemessage.h9
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/multioperationmessage.h4
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/removedocumentmessage.h2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/removelocationmessage.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/visitor.h24
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/andpolicy.h17
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.h2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/documentrouteselectorpolicy.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h4
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h12
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/externslobrokpolicy.h11
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h9
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h16
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.cpp2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.h8
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h16
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h11
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h17
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories50.h31
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories51.h9
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routingpolicyfactories.h5
35 files changed, 228 insertions, 63 deletions
diff --git a/documentapi/src/tests/loadtypes/testrunner.cpp b/documentapi/src/tests/loadtypes/testrunner.cpp
index bdcdcdab944..71200f84224 100644
--- a/documentapi/src/tests/loadtypes/testrunner.cpp
+++ b/documentapi/src/tests/loadtypes/testrunner.cpp
@@ -1,11 +1,12 @@
// 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/log/log.h>
#include <vespa/vdstestlib/cppunit/cppunittestrunner.h>
-#include <vespa/log/log.h>
LOG_SETUP("storagecppunittests");
int
-main(int argc, const char *argv[])
+main(int argc, char **argv)
{
vdstestlib::CppUnitTestRunner testRunner;
return testRunner.run(argc, argv);
diff --git a/documentapi/src/tests/policies/testframe.cpp b/documentapi/src/tests/policies/testframe.cpp
index db8a1b48924..8d5b6585529 100644
--- a/documentapi/src/tests/policies/testframe.cpp
+++ b/documentapi/src/tests/policies/testframe.cpp
@@ -1,4 +1,7 @@
// 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/log/log.h>
+LOG_SETUP(".testframe");
#include "testframe.h"
#include <vespa/messagebus/emptyreply.h>
@@ -8,9 +11,6 @@
#include <vespa/messagebus/testlib/simpleprotocol.h>
#include <vespa/messagebus/testlib/simplereply.h>
-#include <vespa/log/log.h>
-LOG_SETUP(".testframe");
-
using document::DocumentTypeRepo;
using namespace documentapi;
diff --git a/documentapi/src/tests/policies/testframe.h b/documentapi/src/tests/policies/testframe.h
index f0e37d979f3..e0780733331 100644
--- a/documentapi/src/tests/policies/testframe.h
+++ b/documentapi/src/tests/policies/testframe.h
@@ -197,6 +197,8 @@ public:
* @return Handle to the system state.
*/
documentapi::SystemStateHandle getSystemState();
+
+ // Implements IReplyHandler.
void handleReply(mbus::Reply::UP reply) override;
};
diff --git a/documentapi/src/tests/replymerger/replymerger_test.cpp b/documentapi/src/tests/replymerger/replymerger_test.cpp
index b26290e0bcd..8803994b0cf 100644
--- a/documentapi/src/tests/replymerger/replymerger_test.cpp
+++ b/documentapi/src/tests/replymerger/replymerger_test.cpp
@@ -1,5 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/log/log.h>
+LOG_SETUP("replymerger_test");
+#include <vespa/fastos/fastos.h>
#include <iostream>
#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/documentapi/messagebus/replymerger.h>
diff --git a/documentapi/src/tests/routablefactory/routablefactory.cpp b/documentapi/src/tests/routablefactory/routablefactory.cpp
index b4449891af2..620142e803b 100644
--- a/documentapi/src/tests/routablefactory/routablefactory.cpp
+++ b/documentapi/src/tests/routablefactory/routablefactory.cpp
@@ -1,4 +1,5 @@
// 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/document/repo/documenttyperepo.h>
#include <vespa/documentapi/messagebus/documentprotocol.h>
#include <vespa/documentapi/messagebus/routablefactories51.h>
diff --git a/documentapi/src/tests/systemstate/systemstate.cpp b/documentapi/src/tests/systemstate/systemstate.cpp
index e3163937a3f..a797f55c625 100644
--- a/documentapi/src/tests/systemstate/systemstate.cpp
+++ b/documentapi/src/tests/systemstate/systemstate.cpp
@@ -1,12 +1,12 @@
// 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/log/log.h>
+LOG_SETUP("systemstate_test");
#include <vespa/documentapi/messagebus/systemstate/systemstate.h>
#include <vespa/documentapi/messagebus/systemstate/systemstatehandle.h>
#include <vespa/vespalib/testkit/testapp.h>
-#include <vespa/log/log.h>
-LOG_SETUP("systemstate_test");
-
using namespace documentapi;
class Test : public vespalib::TestApp {
diff --git a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h
index e1c2b7f4f35..b35cce81b40 100644
--- a/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h
+++ b/documentapi/src/vespa/documentapi/messagebus/documentprotocol.h
@@ -303,9 +303,17 @@ public:
* @return The system state.
*/
SystemState &getSystemState() { return *_systemState; }
+
+ // Implements IProtocol.
const mbus::string &getName() const override { return NAME; }
+
+ // Implements IProtocol.
mbus::IRoutingPolicy::UP createPolicy(const mbus::string &name, const mbus::string &param) const override;
+
+ // Implements IProtocol.
mbus::Blob encode(const vespalib::Version &version, const mbus::Routable &routable) const override;
+
+ // Implements IProtocol.
mbus::Routable::UP decode(const vespalib::Version &version, mbus::BlobRef data) const override;
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/documentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/documentmessage.h
index 2887c8435e1..b4adf41ca79 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/documentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/documentmessage.h
@@ -82,6 +82,7 @@ public:
_approxSize = approxSize;
}
+ // Implements mbus::Message.
const mbus::string& getProtocol() const override;
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/documentreply.h b/documentapi/src/vespa/documentapi/messagebus/messages/documentreply.h
index 69563bcc63b..2850c412807 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/documentreply.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/documentreply.h
@@ -32,7 +32,7 @@ public:
/**
* Virtual destructor required for inheritance.
*/
- ~DocumentReply() { }
+ virtual ~DocumentReply() { }
/**
* Returns the priority tag for this message. This is an optional tag added for VDS that is not interpreted by the
@@ -41,6 +41,7 @@ public:
* @return The priority.
*/
Priority::Value getPriority() const { return _priority; }
+
uint8_t priority() const override { return (uint8_t)_priority; }
/**
@@ -49,8 +50,13 @@ public:
* @param priority The priority to set.
*/
void setPriority(Priority::Value p) { _priority = p; }
+
+ // Implements mbus::Reply.
const mbus::string& getProtocol() const override;
+
+ // Implements mbus::Reply.
uint32_t getType() const override { return _type; }
};
}
+
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/documentsummarymessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/documentsummarymessage.h
index 0c9c8b09a0c..ac5e141da23 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/documentsummarymessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/documentsummarymessage.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "visitor.h"
#include <vespa/vdslib/container/documentsummary.h>
+#include <vespa/documentapi/messagebus/messages/visitor.h>
namespace documentapi {
@@ -30,9 +30,15 @@ public:
* @param summary The document summary to contain.
*/
DocumentSummaryMessage(const vdslib::DocumentSummary &summary);
+
+ // Overrides VisitorMessage.
uint32_t getApproxSize() const override;
+
+ // Implements VisitorMessage.
uint32_t getType() const override;
+
string toString() const override { return "documentsummarymessage"; }
};
}
+
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/emptybucketsmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/emptybucketsmessage.h
index bd1805a4a17..54ce4e8de4c 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/emptybucketsmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/emptybucketsmessage.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "visitor.h"
#include <vespa/document/bucket/bucketid.h>
+#include <vespa/documentapi/messagebus/messages/visitor.h>
namespace documentapi {
@@ -21,14 +21,18 @@ protected:
public:
EmptyBucketsMessage(); // must be serialized into
+
EmptyBucketsMessage(const std::vector<document::BucketId> &bucketIds);
std::vector<document::BucketId> &getBucketIds() { return _bucketIds; }
const std::vector<document::BucketId> &getBucketIds() const { return _bucketIds; }
void setBucketIds(const std::vector<document::BucketId> &bucketIds);
+
void resize(uint32_t size);
+
uint32_t getType() const override;
+
string toString() const override { return "emptybucketsmessage"; }
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistmessage.h
index 2e1e92652d9..c08e36aa3fd 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistmessage.h
@@ -40,10 +40,18 @@ public:
* @param id The bucket id to set.
*/
void setBucketId(const document::BucketId& id) { _bucketId = id; }
+
+ // Overrides DocumentMessage.
bool hasSequenceId() const override;
+
+ // Overrides DocumentMessage.
uint64_t getSequenceId() const override;
+
+ // Implements DocumentMessage.
uint32_t getType() const override;
+
string toString() const override { return "getbucketlistmessage"; }
};
}
+
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistreply.h b/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistreply.h
index 0b7df089bce..a207ef206e4 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistreply.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/getbucketlistreply.h
@@ -1,7 +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 "documentreply.h"
+#include <vespa/documentapi/messagebus/messages/documentreply.h>
#include <vespa/document/bucket/bucketid.h>
namespace documentapi {
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getbucketstatemessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/getbucketstatemessage.h
index 62129a79003..ed27ed11212 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/getbucketstatemessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/getbucketstatemessage.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "documentmessage.h"
#include <vespa/document/bucket/bucketid.h>
+#include <vespa/documentapi/messagebus/messages/documentmessage.h>
namespace documentapi {
@@ -40,9 +40,16 @@ public:
* @param bucket The bucket id to set.
*/
void setBucketId(document::BucketId bucket) { _bucket = bucket; }
+
+ // Overrides DocumentMessage.
bool hasSequenceId() const override;
+
+ // Overrides DocumentMessage.
uint64_t getSequenceId() const override;
+
+ // Implements DocumentMessage.
uint32_t getType() const override;
+
string toString() const override { return "getbucketstatemessage"; }
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/multioperationmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/multioperationmessage.h
index 4c6f8bf9de7..ac78aea6251 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/multioperationmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/multioperationmessage.h
@@ -1,12 +1,12 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "visitor.h"
-#include "documentreply.h"
#include <vespa/vdslib/container/parameters.h>
#include <vespa/vdslib/container/documentlist.h>
#include <vespa/vdslib/container/operationlist.h>
#include <vespa/document/bucket/bucketid.h>
+#include <vespa/documentapi/messagebus/messages/visitor.h>
+#include <vespa/documentapi/messagebus/messages/documentreply.h>
#include <vespa/documentapi/messagebus/documentprotocol.h>
namespace documentapi {
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
index 4537da0fb6e..46af0dfb7a4 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "testandsetmessage.h"
#include <vespa/document/fieldvalue/document.h>
+#include <vespa/documentapi/messagebus/messages/testandsetmessage.h>
namespace documentapi {
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/removedocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/removedocumentmessage.h
index a47e35f3098..3904cf0f243 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/removedocumentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/removedocumentmessage.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "testandsetmessage.h"
#include <vespa/document/base/documentid.h>
+#include <vespa/documentapi/messagebus/messages/testandsetmessage.h>
namespace documentapi {
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/removelocationmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/removelocationmessage.h
index ce15fe4eda0..acaf3357d4d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/removelocationmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/removelocationmessage.h
@@ -1,7 +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 "documentmessage.h"
+#include <vespa/documentapi/messagebus/messages/documentmessage.h>
#include <vespa/document/bucket/bucketid.h>
#include <vespa/document/bucket/bucketselector.h>
#include <vespa/document/select/parser.h>
@@ -17,9 +17,13 @@ public:
RemoveLocationMessage(const document::BucketIdFactory& factory, document::select::Parser& parser, const string& documentSelection);
const string& getDocumentSelection() const { return _documentSelection; }
- const document::BucketId& getBucketId() const { return _bucketId; };
+
uint32_t getType() const override;
+
+ const document::BucketId& getBucketId() const { return _bucketId; };
+
string toString() const override { return "removelocationmessage"; }
+
protected:
DocumentReply::UP doCreateReply() const override;
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h
index ce30be3ecc2..43045fd44c6 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.h
@@ -1,16 +1,20 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
+/**
+ * @file persistence.h
+ *
+ * Persistence related commands, like put, get & remove
+ */
#pragma once
-#include "writedocumentreply.h"
-#include "documentmessage.h"
-#include "documentreply.h"
#include <vespa/vdslib/container/parameters.h>
#include <vespa/vdslib/container/documentlist.h>
#include <vespa/vdslib/container/visitorstatistics.h>
#include <vespa/document/bucket/bucketid.h>
+#include <vespa/documentapi/messagebus/messages/documentmessage.h>
+#include <vespa/documentapi/messagebus/messages/documentreply.h>
#include <vespa/documentapi/messagebus/documentprotocol.h>
#include <vespa/document/select/orderingspecification.h>
+#include <vespa/documentapi/messagebus/messages/writedocumentreply.h>
namespace documentapi {
@@ -135,12 +139,14 @@ public:
typedef std::unique_ptr<DestroyVisitorMessage> UP;
DestroyVisitorMessage(); // must be deserialized into
+
DestroyVisitorMessage(const string &instanceId);
const string& getInstanceId() const { return _instanceId; }
void setInstanceId(const string& id) { _instanceId = id; }
uint32_t getType() const override;
+
string toString() const override { return "destroyvisitormessage"; }
};
@@ -208,6 +214,7 @@ public:
void setErrorMessage(const string& errorMessage) { _errorMessage = errorMessage; };
uint32_t getType() const override;
+
string toString() const override { return "visitorinfomessage"; }
};
@@ -234,6 +241,7 @@ public:
uint32_t getApproxSize() const override;
uint32_t getType() const override;
+
string toString() const override { return "mapvisitormessage"; }
};
@@ -248,9 +256,12 @@ public:
class Entry {
public:
Entry();
- Entry(int64_t timestamp, document::Document::SP doc, bool removeEntry);
+ Entry(int64_t timestamp,
+ document::Document::SP doc,
+ bool removeEntry);
Entry(const Entry& other);
- Entry(const document::DocumentTypeRepo &repo, document::ByteBuffer& buf);
+ Entry(const document::DocumentTypeRepo &repo,
+ document::ByteBuffer& buf);
int64_t getTimestamp() { return _timestamp; }
const document::Document::SP& getDocument() { return _document; }
@@ -282,6 +293,7 @@ public:
const std::vector<Entry>& getDocuments() const { return _documents; };
uint32_t getType() const override;
+
string toString() const override { return "documentlistmessage"; }
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/andpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/andpolicy.h
index a5dc1872e44..0edba2c0872 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/andpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/andpolicy.h
@@ -1,6 +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 <vector>
#include <vespa/messagebus/routing/hop.h>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include <vespa/documentapi/common.h>
@@ -25,9 +26,19 @@ public:
* @param param A string of recipients to select unless recipients have been configured.
*/
ANDPolicy(const string& param);
- ~ANDPolicy();
- void select(mbus::RoutingContext &context) override;
- void merge(mbus::RoutingContext &context) override;
+
+ /**
+ * Destructor.
+ *
+ * Frees all allocated resources.
+ */
+ virtual ~ANDPolicy();
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void select(mbus::RoutingContext &context) override;
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void merge(mbus::RoutingContext &context) override;
private:
ANDPolicy(const ANDPolicy &); // hide
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.h
index bf17a77ca6a..2f901ebad2d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/contentpolicy.h
@@ -10,7 +10,7 @@ class ContentPolicy : public StoragePolicy
public:
ContentPolicy(const string& param);
private:
- string createConfigId(const string & clusterName) const override;
+ virtual string createConfigId(const string & clusterName) const override;
};
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/documentrouteselectorpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/documentrouteselectorpolicy.h
index 362185576ff..678210b1416 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/documentrouteselectorpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/documentrouteselectorpolicy.h
@@ -1,11 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "config-documentrouteselectorpolicy.h"
#include <vespa/document/select/node.h>
#include <map>
#include <vespa/messagebus/routing/iroutingpolicy.h>
#include <vespa/vespalib/util/sync.h>
+#include <vespa/documentapi/messagebus/policies/config-documentrouteselectorpolicy.h>
#include <vespa/documentapi/common.h>
#include <vespa/config/config.h>
#include <vespa/config/helper/configfetcher.h>
@@ -64,8 +64,14 @@ public:
* @return The error string, or null if no error.
*/
const string &getError() const;
+
+ // Implements Subscriber.
void configure(std::unique_ptr<messagebus::protocol::DocumentrouteselectorpolicyConfig> cfg) override;
+
+ // Implements IRoutingPolicy.
void select(mbus::RoutingContext &context) override;
+
+ // Implements IRoutingPolicy.
void merge(mbus::RoutingContext &context) override;
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h
index fddccb1e3d9..790e0ab923c 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/errorpolicy.h
@@ -22,7 +22,11 @@ public:
* @param msg The message of the error to assign.
*/
ErrorPolicy(const string &msg);
+
+ // Implements IRoutingPolicy.
void select(mbus::RoutingContext &context) override;
+
+ // Implements IRoutingPolicy.
void merge(mbus::RoutingContext &context) override;
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h
index 9dd400f69c3..d1e01cdbe59 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/externpolicy.h
@@ -51,7 +51,13 @@ public:
* @param param The address to use for this, if empty this will resolve to hostname.
*/
ExternPolicy(const string &param);
- ~ExternPolicy();
+
+ /**
+ * Destructor.
+ *
+ * Frees all allocated resources.
+ */
+ virtual ~ExternPolicy();
/**
* This is a safety mechanism to allow the constructor to fail and signal that it can not be used.
@@ -68,7 +74,11 @@ public:
* @return The mirror pointer.
*/
slobrok::api::IMirrorAPI &getMirror() { return *_mirror; }
+
+ // Overrides IRoutingPolicy.
void select(mbus::RoutingContext &ctx) override;
+
+ // Overrides IRoutingPolicy.
void merge(mbus::RoutingContext &ctx) override;
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/externslobrokpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/externslobrokpolicy.h
index 825c4a85d35..6a2a673807f 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/externslobrokpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/externslobrokpolicy.h
@@ -1,7 +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 "asyncinitializationpolicy.h"
+#include <vespa/documentapi/messagebus/policies/asyncinitializationpolicy.h>
#include <vespa/config-slobroks.h>
#include <vespa/vdslib/distribution/distribution.h>
#include <vespa/slobrok/imirrorapi.h>
@@ -29,15 +29,20 @@ protected:
public:
ExternSlobrokPolicy(const std::map<string, string>& params);
- ~ExternSlobrokPolicy();
+ virtual ~ExternSlobrokPolicy();
/**
* @return a pointer to the slobrok mirror owned by this policy, if any.
* If the policy uses the default mirror API, NULL is returned.
*/
const slobrok::api::IMirrorAPI* getMirror() const { return _mirror.get(); }
+
slobrok::api::IMirrorAPI::SpecList lookup(mbus::RoutingContext &context, const string& pattern);
- string init() override;
+
+ /**
+ * Initializes the policy
+ */
+ virtual string init() override;
};
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h
index 7b0e7e1f110..0541b784b1f 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/loadbalancerpolicy.h
@@ -1,8 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include "loadbalancer.h"
-#include "externslobrokpolicy.h"
+#include <vespa/documentapi/messagebus/policies/loadbalancer.h>
+#include <vespa/documentapi/messagebus/policies/externslobrokpolicy.h>
namespace documentapi {
@@ -10,7 +10,8 @@ class LoadBalancerPolicy : public ExternSlobrokPolicy
{
public:
LoadBalancerPolicy(const string& param);
- void doSelect(mbus::RoutingContext &context) override;
+
+ virtual void doSelect(mbus::RoutingContext &context) override;
/**
Finds the TCP address of the target docproc.
@@ -21,7 +22,7 @@ public:
return _loadBalancer->getRecipient(lookup(context, _pattern));
}
- void merge(mbus::RoutingContext &context) override;
+ virtual void merge(mbus::RoutingContext &context) override;
private:
string _pattern;
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h
index d471e3051c8..af63403a8b1 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/localservicepolicy.h
@@ -74,9 +74,19 @@ public:
* @param param The address to use for this, if empty this will resolve to hostname.
*/
LocalServicePolicy(const string &param);
- ~LocalServicePolicy();
- void select(mbus::RoutingContext &context) override;
- void merge(mbus::RoutingContext &context) override;
+
+ /**
+ * Destructor.
+ *
+ * Frees all allocated resources.
+ */
+ virtual ~LocalServicePolicy();
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void select(mbus::RoutingContext &context) override;
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void merge(mbus::RoutingContext &context) override;
};
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.cpp b/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.cpp
index 4d260a8e81f..f55967b1c09 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.cpp
@@ -18,8 +18,6 @@ MessageTypePolicy::MessageTypePolicy(const config::ConfigUri & configUri) :
_fetcher.start();
}
-MessageTypePolicy::~MessageTypePolicy() {}
-
void
MessageTypePolicy::configure(std::unique_ptr<MessagetyperouteselectorpolicyConfig> cfg)
{
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.h
index d9a324a79c5..d29439db50c 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/messagetypepolicy.h
@@ -43,10 +43,16 @@ public:
* @param configUri The configuration uri to subscribe with.
*/
MessageTypePolicy(const config::ConfigUri & configUri);
- ~MessageTypePolicy();
+
+ // Implements Subscriber.
void configure(std::unique_ptr<vespa::config::content::MessagetyperouteselectorpolicyConfig> cfg) override;
+
+ // Implements IRoutingPolicy.
void select(mbus::RoutingContext &context) override;
+
+ // Implements IRoutingPolicy.
void merge(mbus::RoutingContext &context) override;
};
}
+
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h
index a14c2afdbc7..3a3a22090f9 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/roundrobinpolicy.h
@@ -61,9 +61,19 @@ public:
* in slobrok.
*/
RoundRobinPolicy(const string &param);
- ~RoundRobinPolicy();
- void select(mbus::RoutingContext &context) override;
- void merge(mbus::RoutingContext &context) override;
+
+ /**
+ * Destructor.
+ *
+ * Frees all allocated resources.
+ */
+ virtual ~RoundRobinPolicy();
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void select(mbus::RoutingContext &context) override;
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void merge(mbus::RoutingContext &context) override;
};
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h
index c73c4c8560d..ef6478e368a 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/storagepolicy.h
@@ -39,9 +39,13 @@ private:
public:
StoragePolicy(const string& param);
- ~StoragePolicy();
- void doSelect(mbus::RoutingContext &context) override;
- void merge(mbus::RoutingContext &context) override;
+ virtual ~StoragePolicy();
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void doSelect(mbus::RoutingContext &context) override;
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void merge(mbus::RoutingContext &context) override;
void updateStateFromReply(WrongDistributionReply& reply);
@@ -52,6 +56,7 @@ public:
const storage::lib::ClusterState* getSystemState() const { return _state.get(); }
virtual void configure(std::unique_ptr<storage::lib::Distribution::DistributionConfig> config);
+
string init() override;
private:
diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h b/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h
index 4d6dadb7156..49724785361 100644
--- a/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h
+++ b/documentapi/src/vespa/documentapi/messagebus/policies/subsetservicepolicy.h
@@ -65,9 +65,20 @@ public:
* @param param The number of services to include in the set.
*/
SubsetServicePolicy(const string &param);
- ~SubsetServicePolicy();
- void select(mbus::RoutingContext &context) override;
- void merge(mbus::RoutingContext &context) override;
+
+ /**
+ * Destructor.
+ *
+ * Frees all allocated resources.
+ */
+ virtual ~SubsetServicePolicy();
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void select(mbus::RoutingContext &context) override;
+
+ // Inherit doc from IRoutingPolicy.
+ virtual void merge(mbus::RoutingContext &context) override;
};
}
+
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories50.h b/documentapi/src/vespa/documentapi/messagebus/routablefactories50.h
index c715792f263..aed43b8b2e5 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories50.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories50.h
@@ -99,7 +99,11 @@ public:
*/
typedef std::unique_ptr<IRoutableFactory> UP;
typedef std::shared_ptr<IRoutableFactory> SP;
+
+ // Implements IRoutableFactory.
bool encode(const mbus::Routable &obj, vespalib::GrowableByteBuffer &out) const override;
+
+ // Implements IRoutableFactory.
mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const override;
};
@@ -139,7 +143,10 @@ public:
typedef std::unique_ptr<IRoutableFactory> UP;
typedef std::shared_ptr<IRoutableFactory> SP;
+ // Implements IRoutableFactory.
bool encode(const mbus::Routable &obj, vespalib::GrowableByteBuffer &out) const override;
+
+ // Implements IRoutableFactory.
mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const override;
};
@@ -173,7 +180,8 @@ public:
DocumentMessage::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- BatchDocumentUpdateMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ BatchDocumentUpdateMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class BatchDocumentUpdateReplyFactory : public DocumentReplyFactory {
protected:
@@ -186,7 +194,8 @@ public:
DocumentMessage::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- CreateVisitorMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ CreateVisitorMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class CreateVisitorReplyFactory : public DocumentReplyFactory {
protected:
@@ -276,7 +285,8 @@ public:
DocumentReply::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentReply &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- GetDocumentReplyFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ GetDocumentReplyFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class MapVisitorMessageFactory : public DocumentMessageFactory {
const document::DocumentTypeRepo &_repo;
@@ -284,7 +294,8 @@ public:
DocumentMessage::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- MapVisitorMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ MapVisitorMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class MapVisitorReplyFactory : public DocumentReplyFactory {
protected:
@@ -297,7 +308,8 @@ public:
DocumentMessage::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- MultiOperationMessageFactory(const document::DocumentTypeRepo::SP &r) : _repo(r) {}
+ MultiOperationMessageFactory(const document::DocumentTypeRepo::SP &r)
+ : _repo(r) {}
};
class MultiOperationReplyFactory : public DocumentReplyFactory {
protected:
@@ -314,7 +326,8 @@ public:
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
void decodeInto(PutDocumentMessage & msg, document::ByteBuffer & buf) const;
- PutDocumentMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ PutDocumentMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class PutDocumentReplyFactory : public DocumentReplyFactory {
protected:
@@ -341,7 +354,8 @@ public:
DocumentMessage::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- RemoveLocationMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ RemoveLocationMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class RemoveLocationReplyFactory : public DocumentReplyFactory {
protected:
@@ -388,7 +402,8 @@ public:
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
void decodeInto(UpdateDocumentMessage & msg, document::ByteBuffer & buf) const;
- UpdateDocumentMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ UpdateDocumentMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class UpdateDocumentReplyFactory : public DocumentReplyFactory {
protected:
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories51.h b/documentapi/src/vespa/documentapi/messagebus/routablefactories51.h
index 429c86e5049..bfa25c21d84 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories51.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories51.h
@@ -58,7 +58,10 @@ public:
typedef std::unique_ptr<IRoutableFactory> UP;
typedef std::shared_ptr<IRoutableFactory> SP;
+ // Implements IRoutableFactory.
bool encode(const mbus::Routable &obj, vespalib::GrowableByteBuffer &out) const override;
+
+ // Implements IRoutableFactory.
mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const override;
};
@@ -98,7 +101,10 @@ public:
typedef std::unique_ptr<IRoutableFactory> UP;
typedef std::shared_ptr<IRoutableFactory> SP;
+ // Implements IRoutableFactory.
bool encode(const mbus::Routable &obj, vespalib::GrowableByteBuffer &out) const override;
+
+ // Implements IRoutableFactory.
mbus::Routable::UP decode(document::ByteBuffer &in, const LoadTypeSet& loadTypes) const override;
};
@@ -139,7 +145,8 @@ public:
DocumentMessage::UP doDecode(document::ByteBuffer &buf) const override;
bool doEncode(const DocumentMessage &msg, vespalib::GrowableByteBuffer &buf) const override;
public:
- CreateVisitorMessageFactory(const document::DocumentTypeRepo &r) : _repo(r) {}
+ CreateVisitorMessageFactory(const document::DocumentTypeRepo &r)
+ : _repo(r) {}
};
class GetDocumentMessageFactory : public DocumentMessageFactory {
diff --git a/documentapi/src/vespa/documentapi/messagebus/routingpolicyfactories.h b/documentapi/src/vespa/documentapi/messagebus/routingpolicyfactories.h
index a41ae155170..906fc508bd7 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routingpolicyfactories.h
+++ b/documentapi/src/vespa/documentapi/messagebus/routingpolicyfactories.h
@@ -36,7 +36,9 @@ public:
const document::DocumentTypeRepo &_repo;
string _configId;
public:
- DocumentRouteSelectorPolicyFactory(const document::DocumentTypeRepo &repo, const string &configId);
+ DocumentRouteSelectorPolicyFactory(
+ const document::DocumentTypeRepo &repo,
+ const string &configId);
mbus::IRoutingPolicy::UP createPolicy(const string &param) const override;
};
class ExternPolicyFactory : public IRoutingPolicyFactory {
@@ -66,3 +68,4 @@ public:
};
}
+