YugabyteDB (2.13.0.0-b42, bfc6a6643e7399ac8a0e81d06a3ee6d6571b33ab)

Coverage Report

Created: 2022-03-09 17:30

/Users/deen/code/yugabyte-db/build/debugcov-clang-dynamic-arm64-ninja/src/yb/cdc/cdc_service.service.h
Line
Count
Source (jump to first uncovered line)
1
// THIS FILE IS AUTOGENERATED FROM yb/cdc/cdc_service.proto
2
3
#ifndef YB_CDC_CDC_SERVICE_SERVICE_IF_DOT_H
4
#define YB_CDC_CDC_SERVICE_SERVICE_IF_DOT_H
5
6
#include "yb/cdc/cdc_service.pb.h"
7
8
#include <string>
9
10
#include "yb/rpc/rpc_fwd.h"
11
#include "yb/rpc/rpc_header.pb.h"
12
#include "yb/rpc/service_if.h"
13
14
#include "yb/util/monotime.h"
15
16
namespace yb {
17
class MetricEntity;
18
} // namespace yb
19
20
namespace yb {
21
namespace cdc {
22
23
enum class CDCServiceRpcMethodIndexes {
24
  kCreateCDCStream,
25
  kDeleteCDCStream,
26
  kListTablets,
27
  kGetChanges,
28
  kGetCheckpoint,
29
  kUpdateCdcReplicatedIndex,
30
  kBootstrapProducer,
31
  kGetLatestEntryOpId,
32
  kGetCDCDBStreamInfo,
33
  kSetCDCCheckpoint,
34
}; // enum
35
36
class CDCServiceIf : public ::yb::rpc::ServiceIf {
37
 public:
38
  explicit CDCServiceIf(const scoped_refptr<MetricEntity>& entity);
39
  virtual ~CDCServiceIf();
40
  void Handle(::yb::rpc::InboundCallPtr call) override;
41
  void FillEndpoints(const ::yb::rpc::RpcServicePtr& service, ::yb::rpc::RpcEndpointMap* map) override;
42
  std::string service_name() const override;
43
  static std::string static_service_name();
44
45
  virtual void CreateCDCStream(
46
      const ::yb::cdc::CreateCDCStreamRequestPB* req,
47
      ::yb::cdc::CreateCDCStreamResponsePB* resp,
48
      ::yb::rpc::RpcContext context) = 0;
49
  virtual void DeleteCDCStream(
50
      const ::yb::cdc::DeleteCDCStreamRequestPB* req,
51
      ::yb::cdc::DeleteCDCStreamResponsePB* resp,
52
      ::yb::rpc::RpcContext context) = 0;
53
  virtual void ListTablets(
54
      const ::yb::cdc::ListTabletsRequestPB* req,
55
      ::yb::cdc::ListTabletsResponsePB* resp,
56
      ::yb::rpc::RpcContext context) = 0;
57
  virtual void GetChanges(
58
      const ::yb::cdc::GetChangesRequestPB* req,
59
      ::yb::cdc::GetChangesResponsePB* resp,
60
      ::yb::rpc::RpcContext context) = 0;
61
  virtual void GetCheckpoint(
62
      const ::yb::cdc::GetCheckpointRequestPB* req,
63
      ::yb::cdc::GetCheckpointResponsePB* resp,
64
      ::yb::rpc::RpcContext context) = 0;
65
  virtual void UpdateCdcReplicatedIndex(
66
      const ::yb::cdc::UpdateCdcReplicatedIndexRequestPB* req,
67
      ::yb::cdc::UpdateCdcReplicatedIndexResponsePB* resp,
68
      ::yb::rpc::RpcContext context) = 0;
69
  virtual void BootstrapProducer(
70
      const ::yb::cdc::BootstrapProducerRequestPB* req,
71
      ::yb::cdc::BootstrapProducerResponsePB* resp,
72
      ::yb::rpc::RpcContext context) = 0;
73
  virtual void GetLatestEntryOpId(
74
      const ::yb::cdc::GetLatestEntryOpIdRequestPB* req,
75
      ::yb::cdc::GetLatestEntryOpIdResponsePB* resp,
76
      ::yb::rpc::RpcContext context) = 0;
77
  virtual void GetCDCDBStreamInfo(
78
      const ::yb::cdc::GetCDCDBStreamInfoRequestPB* req,
79
      ::yb::cdc::GetCDCDBStreamInfoResponsePB* resp,
80
      ::yb::rpc::RpcContext context) = 0;
81
  virtual ::yb::Result<::yb::cdc::SetCDCCheckpointResponsePB> SetCDCCheckpoint(
82
      const ::yb::cdc::SetCDCCheckpointRequestPB& req, ::yb::CoarseTimePoint deadline) = 0;
83
  
84
0
  ::yb::rpc::RpcMethodMetrics GetMetric(CDCServiceRpcMethodIndexes index) {
85
0
    return methods_[static_cast<size_t>(index)].metrics;
86
0
  }
87
88
 private:
89
  static const int kMethodCount = 10;
90
91
  // Pre-initialize metrics because calling METRIC_foo.Instantiate() is expensive.
92
  void InitMethods(const scoped_refptr<MetricEntity>& ent);
93
94
  ::yb::rpc::RpcMethodDesc methods_[kMethodCount];
95
};
96
97
} // namespace cdc
98
} // namespace yb
99
100
#endif