summaryrefslogtreecommitdiffstats
path: root/documentapi/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-08-24 14:33:33 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-08-24 14:33:33 +0200
commit92bf04e1975af1518b377ff00c511fac9a60e238 (patch)
treeec8377ccf8613201e4e67d880880b60b650667de /documentapi/src
parent5cb560cf05e0181052adfe9e89030f91c1a56307 (diff)
Move shared_ptrs when possible.
Diffstat (limited to 'documentapi/src')
-rw-r--r--documentapi/src/tests/policies/policies_test.cpp2
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.cpp25
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.h23
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.cpp19
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h20
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp19
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h23
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories50.cpp8
8 files changed, 41 insertions, 98 deletions
diff --git a/documentapi/src/tests/policies/policies_test.cpp b/documentapi/src/tests/policies/policies_test.cpp
index 0eb08f1e632..3629604aeea 100644
--- a/documentapi/src/tests/policies/policies_test.cpp
+++ b/documentapi/src/tests/policies/policies_test.cpp
@@ -738,7 +738,7 @@ Test::multipleGetRepliesAreMergedToFoundDocument()
doc.reset(new Document(*_docType, DocumentId("doc:scheme:yarn")));
doc->setLastModified(123456ULL);
}
- mbus::Reply::UP reply(new GetDocumentReply(doc));
+ mbus::Reply::UP reply(new GetDocumentReply(std::move(doc)));
selected[i]->handleReply(std::move(reply));
}
mbus::Reply::UP reply = frame.getReceptor().getReply(600);
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.cpp
index 41431dc305e..c7422a529a3 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.cpp
@@ -2,6 +2,7 @@
#include "getdocumentreply.h"
#include <vespa/documentapi/messagebus/documentprotocol.h>
+#include <vespa/document/fieldvalue/document.h>
namespace documentapi {
@@ -15,30 +16,18 @@ GetDocumentReply::~GetDocumentReply() {}
GetDocumentReply::GetDocumentReply(document::Document::SP document) :
DocumentAcceptedReply(DocumentProtocol::REPLY_GETDOCUMENT),
- _document(document),
+ _document(std::move(document)),
_lastModified(0)
{
- if (_document.get()) {
+ if (_document) {
_lastModified = _document->getLastModified();
}
}
-document::Document::SP
-GetDocumentReply::getDocument()
-{
- return _document;
-}
-
-std::shared_ptr<const document::Document>
-GetDocumentReply::getDocument() const
-{
- return _document;
-}
-
void
GetDocumentReply::setDocument(document::Document::SP document)
{
- _document = document;
+ _document = std::move(document);
if (document.get()) {
_lastModified = document->getLastModified();
} else {
@@ -46,10 +35,4 @@ GetDocumentReply::setDocument(document::Document::SP document)
}
}
-void
-GetDocumentReply::setLastModified(uint64_t lastModified)
-{
- _lastModified = lastModified;
-}
-
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.h b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.h
index 04859af51ea..f4feb712d8d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/getdocumentreply.h
@@ -2,14 +2,16 @@
#pragma once
#include "documentacceptedreply.h"
-#include <vespa/document/fieldvalue/document.h>
+
+namespace document { class Document; }
namespace documentapi {
class GetDocumentReply : public DocumentAcceptedReply {
private:
- document::Document::SP _document;
- uint64_t _lastModified;
+ using DocumentSP = std::shared_ptr<document::Document>;
+ DocumentSP _document;
+ uint64_t _lastModified;
public:
/**
@@ -29,28 +31,21 @@ public:
*
* @param document The document requested.
*/
- GetDocumentReply(document::Document::SP document);
-
- /**
- * Returns the document retrieved.
- *
- * @return The document.
- */
- document::Document::SP getDocument();
+ GetDocumentReply(DocumentSP document);
/**
* Returns the document retrieved.
*
* @return The document.
*/
- std::shared_ptr<const document::Document> getDocument() const;
+ const DocumentSP & getDocument() const { return _document; }
/**
* Sets the document retrieved.
*
* @param document The document.
*/
- void setDocument(document::Document::SP document);
+ void setDocument(DocumentSP document);
/**
* Returns the date the document was last modified.
@@ -64,7 +59,7 @@ public:
*
* @param lastModified The date.
*/
- void setLastModified(uint64_t lastModified);
+ void setLastModified(uint64_t lastModified) { _lastModified = lastModified; }
string toString() const override { return "getdocumentreply"; }
};
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.cpp
index efd2e405267..6753d269ad6 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.cpp
@@ -2,6 +2,7 @@
#include "putdocumentmessage.h"
#include "writedocumentreply.h"
#include <vespa/documentapi/messagebus/documentprotocol.h>
+#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/util/exceptions.h>
namespace documentapi {
@@ -17,7 +18,7 @@ PutDocumentMessage::PutDocumentMessage(document::Document::SP document) :
_document(),
_time(0)
{
- setDocument(document);
+ setDocument(std::move(document));
}
PutDocumentMessage::~PutDocumentMessage() {}
@@ -46,25 +47,13 @@ PutDocumentMessage::getType() const
return DocumentProtocol::MESSAGE_PUTDOCUMENT;
}
-document::Document::SP
-PutDocumentMessage::getDocument()
-{
- return _document;
-}
-
-std::shared_ptr<const document::Document>
-PutDocumentMessage::getDocument() const
-{
- return _document;
-}
-
void
PutDocumentMessage::setDocument(document::Document::SP document)
{
- if (document.get() == NULL) {
+ if ( ! document ) {
throw vespalib::IllegalArgumentException("Document can not be null.", VESPA_STRLOC);
}
- _document = document;
+ _document = std::move(document);
}
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
index e4b43aaaf37..38419bafa40 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/putdocumentmessage.h
@@ -2,14 +2,15 @@
#pragma once
#include "testandsetmessage.h"
-#include <vespa/document/fieldvalue/document.h>
+namespace document { class Document; }
namespace documentapi {
class PutDocumentMessage : public TestAndSetMessage {
private:
- document::Document::SP _document;
- uint64_t _time;
+ using DocumentSP = std::shared_ptr<document::Document>;
+ DocumentSP _document;
+ uint64_t _time;
protected:
// Implements DocumentMessage.
@@ -32,7 +33,7 @@ public:
*
* @param document The document to put.
*/
- PutDocumentMessage(document::Document::SP document);
+ PutDocumentMessage(DocumentSP document);
~PutDocumentMessage();
/**
@@ -40,21 +41,14 @@ public:
*
* @return The document.
*/
- document::Document::SP getDocument();
-
- /**
- * Returns the document to put.
- *
- * @return The document.
- */
- std::shared_ptr<const document::Document> getDocument() const;
+ const DocumentSP & getDocument() const { return _document; }
/**
* Sets the document to put.
*
* @param document The document to set.
*/
- void setDocument(document::Document::SP document);
+ void setDocument(DocumentSP document);
/**
* Returns the timestamp of the document to put.
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
index ef8a2b74298..db5dafce271 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.cpp
@@ -3,6 +3,7 @@
#include "updatedocumentmessage.h"
#include "updatedocumentreply.h"
#include <vespa/documentapi/messagebus/documentprotocol.h>
+#include <vespa/document/update/documentupdate.h>
#include <vespa/vespalib/util/exceptions.h>
namespace documentapi {
@@ -20,7 +21,7 @@ UpdateDocumentMessage::UpdateDocumentMessage(document::DocumentUpdate::SP docume
_oldTime(0),
_newTime(0)
{
- setDocumentUpdate(documentUpdate);
+ setDocumentUpdate(std::move(documentUpdate));
}
UpdateDocumentMessage::~UpdateDocumentMessage() {}
@@ -49,25 +50,13 @@ UpdateDocumentMessage::getType() const
return DocumentProtocol::MESSAGE_UPDATEDOCUMENT;
}
-document::DocumentUpdate::SP
-UpdateDocumentMessage::getDocumentUpdate()
-{
- return _documentUpdate;
-}
-
-std::shared_ptr<const document::DocumentUpdate>
-UpdateDocumentMessage::getDocumentUpdate() const
-{
- return _documentUpdate;
-}
-
void
UpdateDocumentMessage::setDocumentUpdate(document::DocumentUpdate::SP documentUpdate)
{
- if (documentUpdate.get() == NULL) {
+ if ( ! documentUpdate) {
throw vespalib::IllegalArgumentException("Document update can not be null.", VESPA_STRLOC);
}
- _documentUpdate = documentUpdate;
+ _documentUpdate = std::move(documentUpdate);
}
}
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h
index 25991191eeb..c1ce6224c5c 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/updatedocumentmessage.h
@@ -2,15 +2,17 @@
#pragma once
#include "testandsetmessage.h"
-#include <vespa/document/update/documentupdate.h>
+
+namespace document { class DocumentUpdate; }
namespace documentapi {
class UpdateDocumentMessage : public TestAndSetMessage {
private:
- document::DocumentUpdate::SP _documentUpdate;
- uint64_t _oldTime;
- uint64_t _newTime;
+ using DocumentUpdateSP = std::shared_ptr<document::DocumentUpdate>;
+ DocumentUpdateSP _documentUpdate;
+ uint64_t _oldTime;
+ uint64_t _newTime;
protected:
DocumentReply::UP doCreateReply() const override;
@@ -33,28 +35,21 @@ public:
*
* @param documentUpdate The document update to perform.
*/
- UpdateDocumentMessage(document::DocumentUpdate::SP documentUpdate);
-
- /**
- * Returns the document update to perform.
- *
- * @return The update.
- */
- document::DocumentUpdate::SP getDocumentUpdate();
+ UpdateDocumentMessage(DocumentUpdateSP documentUpdate);
/**
* Returns the document update to perform.
*
* @return The update.
*/
- std::shared_ptr<const document::DocumentUpdate> getDocumentUpdate() const;
+ const DocumentUpdateSP & getDocumentUpdate() const { return _documentUpdate; }
/**
* Sets the document update to perform.
*
* @param documentUpdate The document update to set.
*/
- void setDocumentUpdate(document::DocumentUpdate::SP documentUpdate);
+ void setDocumentUpdate(DocumentUpdateSP documentUpdate);
/**
* Returns the timestamp required for this update to be applied.
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories50.cpp b/documentapi/src/vespa/documentapi/messagebus/routablefactories50.cpp
index e1b6035d5e0..b566e36d8d5 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories50.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories50.cpp
@@ -567,15 +567,13 @@ RoutableFactories50::GetDocumentReplyFactory::doDecode(document::ByteBuffer &buf
GetDocumentReply &reply = static_cast<GetDocumentReply&>(*ret);
bool hasDocument = decodeBoolean(buf);
- document::Document::SP document;
if (hasDocument) {
- document.reset(new document::Document(_repo, buf));
- reply.setDocument(document);
+ reply.setDocument(std::make_shared<document::Document>(_repo, buf));
}
int64_t lastModified = decodeLong(buf);
reply.setLastModified(lastModified);
- if (document.get()) {
- document->setLastModified(lastModified);
+ if (reply.getDocument()) {
+ reply.getDocument()->setLastModified(lastModified);
}
return ret;