aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-08-24 18:06:27 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-08-24 18:06:27 +0200
commit69c0d28f5972aa562acb2c8b944c38a100b97cb8 (patch)
tree523d41b8c0eca7f5e65b9eb07870d4b23bb8a839 /documentapi
parent732e00a7c5b938219b6f6387ba45a979ec200210 (diff)
Move the shared_ptr to further reduce pipeline stalls and big stop signs.
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h1
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h6
2 files changed, 4 insertions, 3 deletions
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
index 9bc1c088dfa..f86e594dfa4 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
@@ -38,6 +38,7 @@ public:
* @return The document.
*/
const DocumentSP & getDocumentSP() const { return _document; }
+ DocumentSP stealDocument() { return std::move(_document); }
const document::Document & getDocument() const { return *_document; }
/**
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h
index 3a320960515..55cb22e05e0 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h
@@ -21,8 +21,8 @@ public:
/**
* Convenience typedef.
*/
- typedef std::unique_ptr<UpdateDocumentMessage> UP;
- typedef std::shared_ptr<UpdateDocumentMessage> SP;
+ using UP = std::unique_ptr<UpdateDocumentMessage>;
+ using SP = std::shared_ptr<UpdateDocumentMessage>;
/**
* Constructs a new document message for deserialization.
@@ -42,7 +42,7 @@ public:
*
* @return The update.
*/
- const DocumentUpdateSP & getDocumentUpdateSP() const { return _documentUpdate; }
+ DocumentUpdateSP stealDocumentUpdate() const { return std::move(_documentUpdate); }
const document::DocumentUpdate & getDocumentUpdate() const { return *_documentUpdate; }
/**
* Sets the document update to perform.