aboutsummaryrefslogtreecommitdiffstats
path: root/storageapi
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-11-16 12:25:54 +0000
committerGeir Storli <geirst@oath.com>2017-11-16 12:25:54 +0000
commite42bd756e93166b99a59a5bf2d67baf22e662160 (patch)
tree01b83d87d3c837114f30a1fcacf2595544e9a2f0 /storageapi
parent44372c19d4eef184e871c2d30654ef0067516575 (diff)
Add API function to encode a bucket space.
Diffstat (limited to 'storageapi')
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h1
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp1
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp6
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h1
-rw-r--r--storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp1
5 files changed, 10 insertions, 0 deletions
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
index 5ceeecd3f47..d1e5783e609 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
@@ -180,6 +180,7 @@ protected:
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 9e9b5d1f797..cd8e4992ba5 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
@@ -520,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());
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
index 1b4f44a101c..d6d47d877e5 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
@@ -31,6 +31,11 @@ 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
{
@@ -636,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());
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
index 796db52f420..c1285939a1c 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
@@ -18,6 +18,7 @@ public:
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 492f8297a3d..0afdfebd5b7 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
+++ b/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
@@ -125,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());