aboutsummaryrefslogtreecommitdiffstats
path: root/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
blob: 5467cf6c5d28b05deb6f2899ad4088bc890be966 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include "protocolserialization5_2.h"

namespace storage::mbusprot {

/**
 * Protocol serialization version adding decoding and encoding
 * of bucket space to almost all commands.
 */
class ProtocolSerialization6_0 : public ProtocolSerialization5_2
{
public:
    ProtocolSerialization6_0(const std::shared_ptr<const document::DocumentTypeRepo> &repo);

    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;
};

}