summaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-01-15 15:17:07 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-01-16 15:41:23 +0000
commitd3cf455cba32ef3f5280634470858e80761d8450 (patch)
tree7d4dd978a349cd305fff48ee5967acbe0ad4458b /documentapi
parent6abc05684fc3fe46da2b159b8944fae9adb086a4 (diff)
Unify towards nbostream
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp37
-rw-r--r--documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp8
2 files changed, 20 insertions, 25 deletions
diff --git a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp
index 43ad30ea24f..c891d9a316d 100644
--- a/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/messages/visitor.cpp
@@ -3,6 +3,7 @@
#include "visitor.h"
#include <climits>
#include <vespa/document/bucket/fixed_bucket_spaces.h>
+#include <vespa/vespalib/objects/nbostream.h>
using document::FixedBucketSpaces;
@@ -56,7 +57,7 @@ CreateVisitorMessage::~CreateVisitorMessage() = default;
DocumentReply::UP
CreateVisitorMessage::doCreateReply() const
{
- return DocumentReply::UP(new CreateVisitorReply(DocumentProtocol::REPLY_CREATEVISITOR));
+ return std::make_unique<CreateVisitorReply>(DocumentProtocol::REPLY_CREATEVISITOR);
}
uint32_t
@@ -65,11 +66,7 @@ CreateVisitorMessage::getType() const
return DocumentProtocol::MESSAGE_CREATEVISITOR;
}
-DestroyVisitorMessage::DestroyVisitorMessage() :
- DocumentMessage(),
- _instanceId()
-{
-}
+DestroyVisitorMessage::DestroyVisitorMessage() = default;
DestroyVisitorMessage::DestroyVisitorMessage(const string& instanceId) :
DocumentMessage(),
@@ -77,8 +74,7 @@ DestroyVisitorMessage::DestroyVisitorMessage(const string& instanceId) :
{
}
-DestroyVisitorMessage::~DestroyVisitorMessage() {
-}
+DestroyVisitorMessage::~DestroyVisitorMessage() = default;
DocumentReply::UP
DestroyVisitorMessage::doCreateReply() const
@@ -104,20 +100,13 @@ CreateVisitorReply::CreateVisitorReply(uint32_t type) :
{
}
-VisitorInfoMessage::VisitorInfoMessage() :
- VisitorMessage(),
- _finishedBuckets(),
- _errorMessage()
-{
-}
-
-VisitorInfoMessage::~VisitorInfoMessage() {
-}
+VisitorInfoMessage::VisitorInfoMessage() = default;
+VisitorInfoMessage::~VisitorInfoMessage() = default;
DocumentReply::UP
VisitorInfoMessage::doCreateReply() const
{
- return DocumentReply::UP(new VisitorReply(DocumentProtocol::REPLY_VISITORINFO));
+ return std::make_unique<VisitorReply>(DocumentProtocol::REPLY_VISITORINFO);
}
uint32_t
@@ -141,7 +130,7 @@ MapVisitorMessage::getApproxSize() const
DocumentReply::UP
MapVisitorMessage::doCreateReply() const
{
- return DocumentReply::UP(new VisitorReply(DocumentProtocol::REPLY_MAPVISITOR));
+ return std::make_unique<VisitorReply>(DocumentProtocol::REPLY_MAPVISITOR);
}
uint32_t MapVisitorMessage::getType() const
@@ -158,7 +147,7 @@ DocumentListMessage::Entry::Entry(int64_t timestamp,
document::Document::SP doc,
bool removeEntry) :
_timestamp(timestamp),
- _document(doc),
+ _document(std::move(doc)),
_removeEntry(removeEntry)
{
// empty
@@ -176,7 +165,9 @@ DocumentListMessage::Entry::Entry(const document::DocumentTypeRepo &repo,
document::ByteBuffer& buf)
{
buf.getLongNetwork(_timestamp);
- _document.reset(new document::Document(repo, buf));
+ vespalib::nbostream stream(buf.getBufferAtPos(), buf.getRemaining());
+ _document = std::make_unique<document::Document>(repo, stream);
+ buf.incPos(buf.getRemaining() - stream.size());
uint8_t b;
buf.getByte(b);
_removeEntry = b>0;
@@ -194,7 +185,7 @@ uint32_t
DocumentListMessage::Entry::getSerializedSize() const
{
return sizeof(int64_t) + sizeof(uint8_t)
- + _document->serialize()->getLength();
+ + _document->getSerializedSize();
}
DocumentListMessage::DocumentListMessage() :
@@ -214,7 +205,7 @@ DocumentListMessage::DocumentListMessage(document::BucketId bid) :
DocumentReply::UP
DocumentListMessage::doCreateReply() const
{
- return DocumentReply::UP(new VisitorReply(DocumentProtocol::REPLY_DOCUMENTLIST));
+ return std::make_unique<VisitorReply>(DocumentProtocol::REPLY_DOCUMENTLIST);
}
uint32_t
diff --git a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
index 797f55120fc..1f950ae166c 100644
--- a/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
+++ b/documentapi/src/vespa/documentapi/messagebus/routablefactories60.cpp
@@ -476,7 +476,9 @@ RoutableFactories60::GetDocumentReplyFactory::doDecode(document::ByteBuffer &buf
bool hasDocument = decodeBoolean(buf);
document::Document * document = nullptr;
if (hasDocument) {
- auto doc = std::make_shared<document::Document>(_repo, buf);
+ vespalib::nbostream stream(buf.getBufferAtPos(), buf.getRemaining());
+ auto doc = std::make_shared<document::Document>(_repo, stream);
+ buf.incPos(buf.getRemaining() - stream.size());
document = doc.get();
reply->setDocument(std::move(doc));
}
@@ -540,7 +542,9 @@ RoutableFactories60::MapVisitorReplyFactory::doEncode(const DocumentReply &, ves
void
RoutableFactories60::PutDocumentMessageFactory::decodeInto(PutDocumentMessage & msg, document::ByteBuffer & buf) const {
- msg.setDocument(make_shared<document::Document>(_repo, buf));
+ vespalib::nbostream stream(buf.getBufferAtPos(), buf.getRemaining());
+ msg.setDocument(make_shared<document::Document>(_repo, stream));
+ buf.incPos(buf.getRemaining() - stream.size());
msg.setTimestamp(static_cast<uint64_t>(decodeLong(buf)));
decodeTasCondition(msg, buf);
}