summaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-11-23 20:19:53 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-11-23 20:19:53 +0000
commit3e2f13c7052267680696ed192a3789e756746c08 (patch)
tree6108e25c29434405e322fd8126a58603953622d9 /documentapi
parent45ef55eb4c13ed89391b4c61f81c719fc4f2033a (diff)
Use std::string for selection as that is required for parsing and as it has a smaller memory footprint.
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/src/tests/messages/messages60test.cpp11
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/testandsetcondition.h4
2 files changed, 10 insertions, 5 deletions
diff --git a/documentapi/src/tests/messages/messages60test.cpp b/documentapi/src/tests/messages/messages60test.cpp
index 8b895fb2b59..fddb7357ebf 100644
--- a/documentapi/src/tests/messages/messages60test.cpp
+++ b/documentapi/src/tests/messages/messages60test.cpp
@@ -401,7 +401,11 @@ Messages60Test::testPutDocumentMessage()
msg.setTimestamp(666);
msg.setCondition(TestAndSetCondition("There's just one condition"));
- EXPECT_EQUAL(280u, sizeof(PutDocumentMessage));
+ EXPECT_EQUAL(64u, sizeof(vespalib::string));
+ EXPECT_EQUAL(sizeof(std::string), sizeof(TestAndSetCondition));
+ EXPECT_EQUAL(192u, sizeof(DocumentMessage));
+ EXPECT_EQUAL(sizeof(TestAndSetCondition) + sizeof(DocumentMessage), sizeof(TestAndSetMessage));
+ EXPECT_EQUAL(sizeof(TestAndSetMessage) + 24, sizeof(PutDocumentMessage));
EXPECT_EQUAL(MESSAGE_BASE_LENGTH +
45u +
serializedLength(msg.getCondition().getSelection()),
@@ -489,7 +493,7 @@ Messages60Test::testRemoveDocumentMessage()
msg.setCondition(TestAndSetCondition("There's just one condition"));
- EXPECT_EQUAL(360u, sizeof(RemoveDocumentMessage));
+ EXPECT_EQUAL(sizeof(TestAndSetMessage) + 104, sizeof(RemoveDocumentMessage));
EXPECT_EQUAL(MESSAGE_BASE_LENGTH + size_t(20) + serializedLength(msg.getCondition().getSelection()), serialize("RemoveDocumentMessage", msg));
for (uint32_t lang = 0; lang < NUM_LANGUAGES; ++lang) {
@@ -669,7 +673,7 @@ Messages60Test::testUpdateDocumentMessage()
msg.setNewTimestamp(777u);
msg.setCondition(TestAndSetCondition("There's just one condition"));
- EXPECT_EQUAL(288u, sizeof(UpdateDocumentMessage));
+ EXPECT_EQUAL(sizeof(TestAndSetMessage) + 32, sizeof(UpdateDocumentMessage));
EXPECT_EQUAL(MESSAGE_BASE_LENGTH + 93u + serializedLength(msg.getCondition().getSelection()), serialize("UpdateDocumentMessage", msg));
for (uint32_t lang = 0; lang < NUM_LANGUAGES; ++lang) {
@@ -892,6 +896,7 @@ Messages60Test::testGetDocumentReply()
createDoc(getTypeRepo(), "testdoc", "id:ns:testdoc::");
GetDocumentReply tmp(doc);
+ EXPECT_EQUAL(128u, sizeof(GetDocumentReply));
EXPECT_EQUAL((size_t)47, serialize("GetDocumentReply", tmp));
for (uint32_t lang = 0; lang < NUM_LANGUAGES; ++lang) {
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/testandsetcondition.h b/documentapi/src/vespa/documentapi/messagebus/messages/testandsetcondition.h
index 33f691412dc..1af0178702d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/testandsetcondition.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/testandsetcondition.h
@@ -6,7 +6,7 @@ namespace documentapi {
class TestAndSetCondition {
private:
- string _selection;
+ std::string _selection;
public:
TestAndSetCondition()
@@ -23,7 +23,7 @@ public:
TestAndSetCondition(TestAndSetCondition &&) = default;
TestAndSetCondition & operator=(TestAndSetCondition &&) = default;
- const string & getSelection() const { return _selection; }
+ const std::string & getSelection() const { return _selection; }
bool isPresent() const { return !_selection.empty(); }
};