summaryrefslogtreecommitdiffstats
path: root/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h')
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
new file mode 100644
index 00000000000..bfad492e653
--- /dev/null
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
@@ -0,0 +1,34 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#pragma once
+
+#include "protocolserialization5_0.h"
+
+namespace storage::mbusprot {
+
+class ProtocolSerialization5_1 : public ProtocolSerialization5_0
+{
+ enum BucketState {
+ BUCKET_READY = 0x1,
+ BUCKET_ACTIVE = 0x2,
+ };
+public:
+ ProtocolSerialization5_1(const std::shared_ptr<const document::DocumentTypeRepo>&);
+
+ api::BucketInfo getBucketInfo(document::ByteBuffer& buf) const override;
+ void putBucketInfo(const api::BucketInfo& info, vespalib::GrowableByteBuffer& buf) const override;
+
+protected:
+ void onEncode(GBBuf&, const api::SetBucketStateCommand&) const override;
+ void onEncode(GBBuf&, const api::SetBucketStateReply&) const override;
+ void onEncode(GBBuf&, const api::GetCommand&) const override;
+ void onEncode(GBBuf&, const api::CreateVisitorCommand&) const override;
+ void onEncode(GBBuf&, const api::CreateBucketCommand&) const override;
+
+ SCmd::UP onDecodeSetBucketStateCommand(BBuf&) const override;
+ SRep::UP onDecodeSetBucketStateReply(const SCmd&, BBuf&) const override;
+ SCmd::UP onDecodeGetCommand(BBuf&) const override;
+ SCmd::UP onDecodeCreateVisitorCommand(BBuf&) const override;
+ SCmd::UP onDecodeCreateBucketCommand(BBuf&) const override;
+};
+
+}