blob: e56b9942fa57dab7def977810c5e9d4a223a1de2 (
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
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
// @author Vegard Sjonfjell
#pragma once
#include "protocolserialization5_1.h"
#include <vespa/vespalib/util/growablebytebuffer.h>
#include <vespa/storageapi/message/persistence.h>
namespace storage::mbusprot {
class ProtocolSerialization5_2 : public ProtocolSerialization5_1
{
public:
ProtocolSerialization5_2(const std::shared_ptr<const document::DocumentTypeRepo>& repo)
: ProtocolSerialization5_1(repo)
{}
protected:
void onEncode(GBBuf &, const api::PutCommand &) const override;
void onEncode(GBBuf &, const api::RemoveCommand &) const override;
void onEncode(GBBuf &, const api::UpdateCommand &) const override;
SCmd::UP onDecodePutCommand(BBuf &) const override;
SCmd::UP onDecodeRemoveCommand(BBuf &) const override;
SCmd::UP onDecodeUpdateCommand(BBuf &) const override;
static void decodeTasCondition(api::StorageCommand & cmd, BBuf & buf);
static void encodeTasCondition(GBBuf & buf, const api::StorageCommand & cmd);
};
}
|