summaryrefslogtreecommitdiffstats
path: root/storageapi
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@oath.com>2017-11-16 14:21:55 +0100
committerGitHub <noreply@github.com>2017-11-16 14:21:55 +0100
commit61aef5f9d1a2441fe6d0e716782b14f60f87daa9 (patch)
tree9c4b1cbe6ecea30256e846fd7bcd5394edd428dd /storageapi
parent7bd5de519e6ca64cb0ed2c513c2d0f97663582ce (diff)
parente42bd756e93166b99a59a5bf2d67baf22e662160 (diff)
Merge pull request #4167 from vespa-engine/geirst/prepare-storageapi-protocol-serialization-for-new-version-with-bucket-space
Geirst/prepare storageapi protocol serialization for new version with bucket space
Diffstat (limited to 'storageapi')
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h5
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp63
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp47
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h4
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp18
5 files changed, 77 insertions, 60 deletions
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
index e32942d0303..d1e5783e609 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include <vespa/document/bucket/bucket.h>
#include <vespa/document/repo/documenttyperepo.h>
#include <vespa/messagebus/routable.h>
#include <vespa/storageapi/mbusprot/storagemessage.h>
@@ -176,6 +177,10 @@ protected:
virtual SCmd::UP onDecodeBatchPutRemoveCommand(BBuf&) const = 0;
virtual SRep::UP onDecodeBatchPutRemoveReply(const SCmd&, BBuf&) const = 0;
+ virtual document::Bucket getBucket(document::ByteBuffer& buf) const = 0;
+ virtual void putBucket(const document::Bucket& bucket, vespalib::GrowableByteBuffer& buf) const = 0;
+ virtual document::BucketSpace getBucketSpace(document::ByteBuffer& buf) const = 0;
+ virtual void putBucketSpace(document::BucketSpace bucketSpace, vespalib::GrowableByteBuffer& buf) const = 0;
virtual api::BucketInfo getBucketInfo(document::ByteBuffer& buf) const = 0;
virtual void putBucketInfo(const api::BucketInfo& info, vespalib::GrowableByteBuffer& buf) const = 0;
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
index e4993a1ee7b..cd8e4992ba5 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
@@ -41,7 +41,7 @@ void ProtocolSerialization4_2::onEncode(
char* pos = buf.allocate(docBlockSize);
vdslib::DocumentList copy(msg.getOperations(), pos, docBlockSize);
buf.putBoolean(msg.keepTimeStamps());
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
onEncodeBucketInfoCommand(buf, msg);
}
@@ -52,8 +52,7 @@ ProtocolSerialization4_2::onDecodeMultiOperationCommand(BBuf& buf) const
std::vector<char> buffer(length);
buf.getBytes(&buffer[0], length);
bool keepTimestamps = SH::getBoolean(buf);
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::MultiOperationCommand::UP msg(
new api::MultiOperationCommand(getTypeRepoSp(),
bucket, buffer, keepTimestamps));
@@ -67,7 +66,7 @@ ProtocolSerialization4_2::onEncode(
{
// Serialization format - allow different types of serialization depending on source.
buf.putByte(0);
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putInt(msg.getOperationCount());
for (uint32_t i = 0; i < msg.getOperationCount(); i++) {
@@ -101,8 +100,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeBatchPutRemoveCommand(BBuf& buf) const
{
SH::getByte(buf);
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
std::unique_ptr<api::BatchPutRemoveCommand> cmd(new api::BatchPutRemoveCommand(bucket));
int length = SH::getInt(buf);
@@ -164,7 +162,7 @@ void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::GetCommand& msg) const
{
buf.putString(msg.getDocumentId().toString());
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putLong(msg.getBeforeTimestamp());
buf.putBoolean(msg.getFieldSet() == "[header]");
onEncodeCommand(buf, msg);
@@ -174,8 +172,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeGetCommand(BBuf& buf) const
{
document::DocumentId did(SH::getString(buf));
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::Timestamp beforeTimestamp(SH::getLong(buf));
bool headerOnly(SH::getBoolean(buf));
api::GetCommand::UP msg(
@@ -188,7 +185,7 @@ void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::RemoveCommand& msg) const
{
buf.putString(msg.getDocumentId().toString());
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putLong(msg.getTimestamp());
onEncodeBucketInfoCommand(buf, msg);
}
@@ -197,8 +194,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeRemoveCommand(BBuf& buf) const
{
document::DocumentId did(SH::getString(buf));
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::Timestamp timestamp(SH::getLong(buf));
api::RemoveCommand::UP msg(new api::RemoveCommand(bucket, did, timestamp));
onDecodeBucketInfoCommand(buf, *msg);
@@ -208,7 +204,7 @@ ProtocolSerialization4_2::onDecodeRemoveCommand(BBuf& buf) const
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::RevertCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putInt(msg.getRevertTokens().size());
for (uint32_t i=0, n=msg.getRevertTokens().size(); i<n; ++i) {
buf.putLong(msg.getRevertTokens()[i]);
@@ -219,8 +215,7 @@ void ProtocolSerialization4_2::onEncode(
api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeRevertCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
std::vector<api::Timestamp> tokens(SH::getInt(buf));
for (uint32_t i=0, n=tokens.size(); i<n; ++i) {
tokens[i] = SH::getLong(buf);
@@ -233,15 +228,14 @@ ProtocolSerialization4_2::onDecodeRevertCommand(BBuf& buf) const
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::CreateBucketCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
onEncodeBucketInfoCommand(buf, msg);
}
api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeCreateBucketCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::CreateBucketCommand::UP msg(new api::CreateBucketCommand(bucket));
onDecodeBucketInfoCommand(buf, *msg);
return api::StorageCommand::UP(msg.release());
@@ -250,7 +244,7 @@ ProtocolSerialization4_2::onDecodeCreateBucketCommand(BBuf& buf) const
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::MergeBucketCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
const std::vector<api::MergeBucketCommand::Node>& nodes(msg.getNodes());
buf.putShort(nodes.size());
for (uint32_t i=0; i<nodes.size(); ++i) {
@@ -265,8 +259,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeMergeBucketCommand(BBuf& buf) const
{
typedef api::MergeBucketCommand::Node Node;
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
uint16_t nodeCount = SH::getShort(buf);
std::vector<Node> nodes;
nodes.reserve(nodeCount);
@@ -285,7 +278,7 @@ ProtocolSerialization4_2::onDecodeMergeBucketCommand(BBuf& buf) const
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::GetBucketDiffCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
const std::vector<api::MergeBucketCommand::Node>& nodes(msg.getNodes());
buf.putShort(nodes.size());
for (uint32_t i=0; i<nodes.size(); ++i) {
@@ -305,8 +298,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeGetBucketDiffCommand(BBuf& buf) const
{
typedef api::MergeBucketCommand::Node Node;
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
uint16_t nodeCount = SH::getShort(buf);
std::vector<Node> nodes;
nodes.reserve(nodeCount);
@@ -335,7 +327,7 @@ ProtocolSerialization4_2::onDecodeGetBucketDiffCommand(BBuf& buf) const
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::ApplyBucketDiffCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
const std::vector<api::MergeBucketCommand::Node>& nodes(msg.getNodes());
buf.putShort(nodes.size());
for (uint32_t i=0; i<nodes.size(); ++i) {
@@ -363,8 +355,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeApplyBucketDiffCommand(BBuf& buf) const
{
typedef api::MergeBucketCommand::Node Node;
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
uint16_t nodeCount = SH::getShort(buf);
std::vector<Node> nodes;
nodes.reserve(nodeCount);
@@ -440,7 +431,7 @@ ProtocolSerialization4_2::onDecodeRequestBucketInfoReply(const SCmd& cmd,
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::NotifyBucketChangeCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
putBucketInfo(msg.getBucketInfo(), buf);
onEncodeCommand(buf, msg);
}
@@ -448,8 +439,7 @@ void ProtocolSerialization4_2::onEncode(
api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeNotifyBucketChangeCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::BucketInfo info(getBucketInfo(buf));
api::NotifyBucketChangeCommand::UP msg(
new api::NotifyBucketChangeCommand(bucket, info));
@@ -476,7 +466,7 @@ ProtocolSerialization4_2::onDecodeNotifyBucketChangeReply(const SCmd& cmd,
void ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::SplitBucketCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putByte(msg.getMinSplitBits());
buf.putByte(msg.getMaxSplitBits());
buf.putInt(msg.getMinByteSize());
@@ -487,8 +477,7 @@ void ProtocolSerialization4_2::onEncode(
api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeSplitBucketCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::SplitBucketCommand::UP msg(new api::SplitBucketCommand(bucket));
msg->setMinSplitBits(SH::getByte(buf));
msg->setMaxSplitBits(SH::getByte(buf));
@@ -531,6 +520,7 @@ void
ProtocolSerialization4_2::onEncode(
GBBuf& buf, const api::CreateVisitorCommand& msg) const
{
+ putBucketSpace(msg.getBucketSpace(), buf);
buf.putString(msg.getLibraryName());
buf.putString(msg.getInstanceId());
buf.putString(msg.getDocumentSelection());
@@ -562,7 +552,7 @@ ProtocolSerialization4_2::onEncode(
api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeCreateVisitorCommand(BBuf& buf) const
{
- BucketSpace bucketSpace(BucketSpace::placeHolder());
+ BucketSpace bucketSpace = getBucketSpace(buf);
vespalib::stringref libraryName = SH::getString(buf);
vespalib::stringref instanceId = SH::getString(buf);
vespalib::stringref selection = SH::getString(buf);
@@ -638,7 +628,7 @@ void
ProtocolSerialization4_2::onEncode(GBBuf& buf, const api::RemoveLocationCommand& msg) const
{
buf.putString(msg.getDocumentSelection());
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
onEncodeCommand(buf, msg);
}
@@ -646,8 +636,7 @@ api::StorageCommand::UP
ProtocolSerialization4_2::onDecodeRemoveLocationCommand(BBuf& buf) const
{
vespalib::stringref documentSelection = SH::getString(buf);
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::RemoveLocationCommand::UP msg;
msg.reset(new api::RemoveLocationCommand(documentSelection, bucket));
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
index 22f58ebc58b..d6d47d877e5 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
@@ -12,6 +12,30 @@ using document::BucketSpace;
namespace storage {
namespace mbusprot {
+document::Bucket
+ProtocolSerialization5_0::getBucket(document::ByteBuffer& buf) const
+{
+ document::BucketId bucketId(SH::getLong(buf));
+ return document::Bucket(BucketSpace::placeHolder(), bucketId);
+}
+
+void
+ProtocolSerialization5_0::putBucket(const document::Bucket& bucket, vespalib::GrowableByteBuffer& buf) const
+{
+ buf.putLong(bucket.getBucketId().getRawId());
+}
+
+document::BucketSpace
+ProtocolSerialization5_0::getBucketSpace(document::ByteBuffer&) const
+{
+ return BucketSpace::placeHolder();
+}
+
+void
+ProtocolSerialization5_0::putBucketSpace(document::BucketSpace, vespalib::GrowableByteBuffer&) const
+{
+}
+
api::BucketInfo
ProtocolSerialization5_0::getBucketInfo(document::ByteBuffer& buf) const
{
@@ -93,7 +117,7 @@ void ProtocolSerialization5_0::onEncode(
GBBuf& buf, const api::PutCommand& msg) const
{
SH::putDocument(msg.getDocument().get(), buf);
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putLong(msg.getTimestamp());
buf.putLong(msg.getUpdateTimestamp());
onEncodeBucketInfoCommand(buf, msg);
@@ -103,8 +127,7 @@ api::StorageCommand::UP
ProtocolSerialization5_0::onDecodePutCommand(BBuf& buf) const
{
document::Document::SP doc(SH::getDocument(buf, getTypeRepo()));
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::Timestamp ts(SH::getLong(buf));
api::PutCommand::UP msg(new api::PutCommand(bucket, doc, ts));
msg->setUpdateTimestamp(SH::getLong(buf));
@@ -203,7 +226,7 @@ void ProtocolSerialization5_0::onEncode(
buf.putInt(0);
}
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putLong(msg.getTimestamp());
buf.putLong(msg.getOldTimestamp());
onEncodeBucketInfoCommand(buf, msg);
@@ -224,8 +247,7 @@ ProtocolSerialization5_0::onDecodeUpdateCommand(BBuf& buf) const
SERIALIZE_HEAD));
}
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::Timestamp timestamp(SH::getLong(buf));
api::UpdateCommand::UP msg(
new api::UpdateCommand(bucket, update, timestamp));
@@ -270,7 +292,7 @@ void
ProtocolSerialization5_0::onEncode(
GBBuf& buf, const api::DeleteBucketCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
onEncodeBucketInfoCommand(buf, msg);
putBucketInfo(msg.getBucketInfo(), buf);
}
@@ -278,8 +300,7 @@ ProtocolSerialization5_0::onEncode(
api::StorageCommand::UP
ProtocolSerialization5_0::onDecodeDeleteBucketCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::DeleteBucketCommand::UP msg(new api::DeleteBucketCommand(bucket));
onDecodeBucketInfoCommand(buf, *msg);
if (buf.getRemaining() >= SH::BUCKET_INFO_SERIALIZED_SIZE) {
@@ -495,7 +516,7 @@ void
ProtocolSerialization5_0::onEncode(
GBBuf& buf, const api::JoinBucketsCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putInt(msg.getSourceBuckets().size());
for (uint32_t i=0, n=msg.getSourceBuckets().size(); i<n; ++i) {
buf.putLong(msg.getSourceBuckets()[i].getRawId());
@@ -507,8 +528,7 @@ ProtocolSerialization5_0::onEncode(
api::StorageCommand::UP
ProtocolSerialization5_0::onDecodeJoinBucketsCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::JoinBucketsCommand::UP msg(new api::JoinBucketsCommand(bucket));
uint32_t size = SH::getInt(buf);
if (size > buf.getRemaining()) {
@@ -621,6 +641,7 @@ void ProtocolSerialization5_0::onEncode(
for (uint32_t i=0; i<buckets.size(); ++i) {
buf.putLong(buckets[i].getRawId());
}
+ putBucketSpace(msg.getBucketSpace(), buf);
if (buckets.size() == 0) {
buf.putShort(msg.getDistributor());
buf.putString(msg.getSystemState().toString());
@@ -638,7 +659,7 @@ ProtocolSerialization5_0::onDecodeRequestBucketInfoCommand(BBuf& buf) const
buckets[i] = document::BucketId(SH::getLong(buf));
}
api::RequestBucketInfoCommand::UP msg;
- BucketSpace bucketSpace(BucketSpace::placeHolder());
+ BucketSpace bucketSpace = getBucketSpace(buf);
if (buckets.size() != 0) {
msg.reset(new api::RequestBucketInfoCommand(bucketSpace, buckets));
} else {
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
index ff9f08d38a9..c1285939a1c 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
@@ -15,6 +15,10 @@ public:
ProtocolSerialization5_0(const document::DocumentTypeRepo::SP&,
const documentapi::LoadTypeSet& loadTypes);
+ document::Bucket getBucket(document::ByteBuffer& buf) const override;
+ void putBucket(const document::Bucket& bucket, vespalib::GrowableByteBuffer& buf) const override;
+ document::BucketSpace getBucketSpace(document::ByteBuffer& buf) const override;
+ void putBucketSpace(document::BucketSpace bucketSpace, vespalib::GrowableByteBuffer& buf) const override;
api::BucketInfo getBucketInfo(document::ByteBuffer& buf) const override;
void putBucketInfo(const api::BucketInfo& info, vespalib::GrowableByteBuffer& buf) const override;
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
index dc97742b733..0afdfebd5b7 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
@@ -64,7 +64,7 @@ ProtocolSerialization5_1::ProtocolSerialization5_1(
void ProtocolSerialization5_1::onEncode(
GBBuf& buf, const api::SetBucketStateCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putByte(static_cast<uint8_t>(msg.getState()));
onEncodeCommand(buf, msg);
}
@@ -72,8 +72,7 @@ void ProtocolSerialization5_1::onEncode(
api::StorageCommand::UP
ProtocolSerialization5_1::onDecodeSetBucketStateCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::SetBucketStateCommand::BUCKET_STATE state(
static_cast<api::SetBucketStateCommand::BUCKET_STATE>(
SH::getByte(buf)));
@@ -103,7 +102,7 @@ void ProtocolSerialization5_1::onEncode(
GBBuf& buf, const api::GetCommand& msg) const
{
buf.putString(msg.getDocumentId().toString());
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putLong(msg.getBeforeTimestamp());
buf.putString(msg.getFieldSet());
onEncodeCommand(buf, msg);
@@ -113,8 +112,7 @@ api::StorageCommand::UP
ProtocolSerialization5_1::onDecodeGetCommand(BBuf& buf) const
{
document::DocumentId did(SH::getString(buf));
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
api::Timestamp beforeTimestamp(SH::getLong(buf));
std::string fieldSet(SH::getString(buf));
api::GetCommand::UP msg(
@@ -127,6 +125,7 @@ void
ProtocolSerialization5_1::onEncode(
GBBuf& buf, const api::CreateVisitorCommand& msg) const
{
+ putBucketSpace(msg.getBucketSpace(), buf);
buf.putString(msg.getLibraryName());
buf.putString(msg.getInstanceId());
buf.putString(msg.getDocumentSelection());
@@ -161,7 +160,7 @@ ProtocolSerialization5_1::onEncode(
api::StorageCommand::UP
ProtocolSerialization5_1::onDecodeCreateVisitorCommand(BBuf& buf) const
{
- BucketSpace bucketSpace(BucketSpace::placeHolder());
+ BucketSpace bucketSpace = getBucketSpace(buf);
vespalib::stringref libraryName = SH::getString(buf);
vespalib::stringref instanceId = SH::getString(buf);
vespalib::stringref selection = SH::getString(buf);
@@ -208,7 +207,7 @@ ProtocolSerialization5_1::onDecodeCreateVisitorCommand(BBuf& buf) const
void ProtocolSerialization5_1::onEncode(
GBBuf& buf, const api::CreateBucketCommand& msg) const
{
- buf.putLong(msg.getBucketId().getRawId());
+ putBucket(msg.getBucket(), buf);
buf.putBoolean(msg.getActive());
onEncodeBucketInfoCommand(buf, msg);
}
@@ -216,8 +215,7 @@ void ProtocolSerialization5_1::onEncode(
api::StorageCommand::UP
ProtocolSerialization5_1::onDecodeCreateBucketCommand(BBuf& buf) const
{
- document::BucketId bucketId(SH::getLong(buf));
- document::Bucket bucket(BucketSpace::placeHolder(), bucketId);
+ document::Bucket bucket = getBucket(buf);
bool setActive = SH::getBoolean(buf);
api::CreateBucketCommand::UP msg(new api::CreateBucketCommand(bucket));
msg->setActive(setActive);