1
#pragma once
2

            
3
#include "source/extensions/common/dubbo/message.h"
4
#include "source/extensions/common/dubbo/serializer.h"
5

            
6
namespace Envoy {
7
namespace Extensions {
8
namespace Common {
9
namespace Dubbo {
10

            
11
class Hessian2SerializerImpl : public Serializer {
12
public:
13
  // Serializer
14
2
  SerializeType type() const override { return SerializeType::Hessian2; }
15
  RpcRequestPtr deserializeRpcRequest(Buffer::Instance& buffer, Context& context) override;
16
  RpcResponsePtr deserializeRpcResponse(Buffer::Instance& buffer, Context& context) override;
17
  void serializeRpcResponse(Buffer::Instance& buffer, MessageMetadata& metadata) override;
18
  void serializeRpcRequest(Buffer::Instance& buffer, MessageMetadata& metadata) override;
19
};
20

            
21
} // namespace Dubbo
22
} // namespace Common
23
} // namespace Extensions
24
} // namespace Envoy