summaryrefslogtreecommitdiffstats
path: root/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
blob: 826700584dae412ce3b2cef9ffcef4169f06f6bd (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include "protocolserialization4_2.h"
#include <vespa/documentapi/loadtypes/loadtypeset.h>

namespace storage {
namespace mbusprot {

class ProtocolSerialization5_0 : public ProtocolSerialization4_2 {
private:
    const documentapi::LoadTypeSet& _loadTypes;

public:
    ProtocolSerialization5_0(const document::DocumentTypeRepo::SP&,
                             const documentapi::LoadTypeSet& loadTypes);

    api::BucketInfo getBucketInfo(document::ByteBuffer& buf) const override;
    void putBucketInfo(const api::BucketInfo& info, vespalib::GrowableByteBuffer& buf) const override;

    void onEncode(GBBuf&, const api::PutCommand&) const override;
    void onEncode(GBBuf&, const api::PutReply&) const override;
    void onEncode(GBBuf&, const api::UpdateCommand&) const override;
    void onEncode(GBBuf&, const api::UpdateReply&) const override;
    void onEncode(GBBuf&, const api::GetReply&) const override;
    void onEncode(GBBuf&, const api::RemoveReply&) const override;
    void onEncode(GBBuf&, const api::RevertReply&) const override;
    void onEncode(GBBuf&, const api::CreateBucketReply&) const override;
    void onEncode(GBBuf&, const api::DeleteBucketCommand&) const override;
    void onEncode(GBBuf&, const api::DeleteBucketReply&) const override;
    void onEncode(GBBuf&, const api::MergeBucketCommand&) const override;
    void onEncode(GBBuf&, const api::MergeBucketReply&) const override;
    void onEncode(GBBuf&, const api::GetBucketDiffReply&) const override;
    void onEncode(GBBuf&, const api::ApplyBucketDiffReply&) const override;
    void onEncode(GBBuf&, const api::SplitBucketReply&) const override;
    void onEncode(GBBuf&, const api::MultiOperationReply&) const override;
    void onEncode(GBBuf&, const api::JoinBucketsCommand&) const override;
    void onEncode(GBBuf&, const api::JoinBucketsReply&) const override;
    void onEncode(GBBuf&, const api::RequestBucketInfoCommand&) const override;

    void onEncodeBucketInfoReply(GBBuf&, const api::BucketInfoReply&) const override;
    virtual void onEncodeBucketReply(GBBuf&, const api::BucketReply&) const;

    void onEncode(GBBuf&, const api::CreateVisitorCommand& msg) const override;
    void onEncode(GBBuf&, const api::CreateVisitorReply& msg) const override;
    void onEncodeCommand(GBBuf&, const api::StorageCommand&) const override;
    void onEncodeReply(GBBuf&, const api::StorageReply&) const override;

    SCmd::UP onDecodePutCommand(BBuf&) const override;
    SRep::UP onDecodePutReply(const SCmd&, BBuf&) const override;
    SCmd::UP onDecodeUpdateCommand(BBuf&) const override;
    SRep::UP onDecodeUpdateReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeGetReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeRemoveReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeRevertReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeCreateBucketReply(const SCmd&, BBuf&) const override;
    SCmd::UP onDecodeDeleteBucketCommand(BBuf&) const override;
    SRep::UP onDecodeDeleteBucketReply(const SCmd&, BBuf&) const override;
    SCmd::UP onDecodeMergeBucketCommand(BBuf&) const override;
    SRep::UP onDecodeMergeBucketReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeGetBucketDiffReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeApplyBucketDiffReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeSplitBucketReply(const SCmd&, BBuf&) const override;
    SRep::UP onDecodeMultiOperationReply(const SCmd&, BBuf&) const override;
    SCmd::UP onDecodeJoinBucketsCommand(BBuf& buf) const override;
    SRep::UP onDecodeJoinBucketsReply(const SCmd& cmd, BBuf& buf) const override;
    SCmd::UP onDecodeCreateVisitorCommand(BBuf&) const override;
    SCmd::UP onDecodeRequestBucketInfoCommand(BBuf& buf) const override;

    void onDecodeBucketInfoReply(BBuf&, api::BucketInfoReply&) const override;
    virtual void onDecodeBucketReply(BBuf&, api::BucketReply&) const;
    SRep::UP onDecodeCreateVisitorReply(const SCmd& cmd, BBuf& buf) const override;
    void onDecodeCommand(BBuf& buf, api::StorageCommand& msg) const override;
    void onDecodeReply(BBuf&, api::StorageReply&) const override;
};

} // mbusprot
} // storage