Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/source/extensions/filters/network/thrift_proxy/framed_transport_impl.h
Line
Count
Source (jump to first uncovered line)
1
#pragma once
2
3
#include <string>
4
5
#include "envoy/buffer/buffer.h"
6
7
#include "source/extensions/filters/network/thrift_proxy/transport.h"
8
9
namespace Envoy {
10
namespace Extensions {
11
namespace NetworkFilters {
12
namespace ThriftProxy {
13
14
/**
15
 * FramedTransportImpl implements the Thrift Framed transport.
16
 * See https://github.com/apache/thrift/blob/master/doc/specs/thrift-rpc.md
17
 */
18
class FramedTransportImpl : public Transport {
19
public:
20
0
  FramedTransportImpl() = default;
21
22
  // Transport
23
0
  const std::string& name() const override { return TransportNames::get().FRAMED; }
24
0
  TransportType type() const override { return TransportType::Framed; }
25
  bool decodeFrameStart(Buffer::Instance& buffer, MessageMetadata& metadata) override;
26
  bool decodeFrameEnd(Buffer::Instance& buffer) override;
27
  void encodeFrame(Buffer::Instance& buffer, const MessageMetadata& metadata,
28
                   Buffer::Instance& message) override;
29
30
  static const int32_t MaxFrameSize = 0xFA0000;
31
};
32
33
} // namespace ThriftProxy
34
} // namespace NetworkFilters
35
} // namespace Extensions
36
} // namespace Envoy