aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp')
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
index 3c0ffa33060..d416e587ed6 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
@@ -5,6 +5,7 @@
#include <vespa/documentapi/messagebus/documentprotocol.h>
#include <vespa/document/update/documentupdate.h>
#include <vespa/vespalib/util/exceptions.h>
+#include <cassert>
namespace documentapi {
@@ -12,14 +13,16 @@ UpdateDocumentMessage::UpdateDocumentMessage() :
TestAndSetMessage(),
_documentUpdate(),
_oldTime(0),
- _newTime(0)
+ _newTime(0),
+ _create_if_missing()
{}
UpdateDocumentMessage::UpdateDocumentMessage(document::DocumentUpdate::SP documentUpdate) :
TestAndSetMessage(),
_documentUpdate(),
_oldTime(0),
- _newTime(0)
+ _newTime(0),
+ _create_if_missing()
{
setDocumentUpdate(std::move(documentUpdate));
}
@@ -59,4 +62,14 @@ UpdateDocumentMessage::setDocumentUpdate(document::DocumentUpdate::SP documentUp
_documentUpdate = std::move(documentUpdate);
}
+bool
+UpdateDocumentMessage::create_if_missing() const
+{
+ if (_create_if_missing.has_value()) {
+ return *_create_if_missing;
+ }
+ assert(_documentUpdate);
+ return _documentUpdate->getCreateIfNonExistent();
+}
+
}