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/consensus/consensus.service.h
Line
Count
Source (jump to first uncovered line)
1
// THIS FILE IS AUTOGENERATED FROM yb/consensus/consensus.proto
2
3
#ifndef YB_CONSENSUS_CONSENSUS_SERVICE_IF_DOT_H
4
#define YB_CONSENSUS_CONSENSUS_SERVICE_IF_DOT_H
5
6
#include "yb/consensus/consensus.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 consensus {
22
23
enum class ConsensusServiceRpcMethodIndexes {
24
  kUpdateConsensus,
25
  kMultiRaftUpdateConsensus,
26
  kRequestConsensusVote,
27
  kChangeConfig,
28
  kUnsafeChangeConfig,
29
  kGetNodeInstance,
30
  kRunLeaderElection,
31
  kLeaderElectionLost,
32
  kLeaderStepDown,
33
  kGetLastOpId,
34
  kGetConsensusState,
35
  kStartRemoteBootstrap,
36
}; // enum
37
38
class ConsensusServiceIf : public ::yb::rpc::ServiceIf {
39
 public:
40
  explicit ConsensusServiceIf(const scoped_refptr<MetricEntity>& entity);
41
  virtual ~ConsensusServiceIf();
42
  void Handle(::yb::rpc::InboundCallPtr call) override;
43
  void FillEndpoints(const ::yb::rpc::RpcServicePtr& service, ::yb::rpc::RpcEndpointMap* map) override;
44
  std::string service_name() const override;
45
  static std::string static_service_name();
46
47
  virtual void UpdateConsensus(
48
      const ::yb::consensus::ConsensusRequestPB* req,
49
      ::yb::consensus::ConsensusResponsePB* resp,
50
      ::yb::rpc::RpcContext context) = 0;
51
  virtual void MultiRaftUpdateConsensus(
52
      const ::yb::consensus::MultiRaftConsensusRequestPB* req,
53
      ::yb::consensus::MultiRaftConsensusResponsePB* resp,
54
      ::yb::rpc::RpcContext context) = 0;
55
  virtual void RequestConsensusVote(
56
      const ::yb::consensus::VoteRequestPB* req,
57
      ::yb::consensus::VoteResponsePB* resp,
58
      ::yb::rpc::RpcContext context) = 0;
59
  virtual void ChangeConfig(
60
      const ::yb::consensus::ChangeConfigRequestPB* req,
61
      ::yb::consensus::ChangeConfigResponsePB* resp,
62
      ::yb::rpc::RpcContext context) = 0;
63
  virtual void UnsafeChangeConfig(
64
      const ::yb::consensus::UnsafeChangeConfigRequestPB* req,
65
      ::yb::consensus::UnsafeChangeConfigResponsePB* resp,
66
      ::yb::rpc::RpcContext context) = 0;
67
  virtual void GetNodeInstance(
68
      const ::yb::consensus::GetNodeInstanceRequestPB* req,
69
      ::yb::consensus::GetNodeInstanceResponsePB* resp,
70
      ::yb::rpc::RpcContext context) = 0;
71
  virtual void RunLeaderElection(
72
      const ::yb::consensus::RunLeaderElectionRequestPB* req,
73
      ::yb::consensus::RunLeaderElectionResponsePB* resp,
74
      ::yb::rpc::RpcContext context) = 0;
75
  virtual void LeaderElectionLost(
76
      const ::yb::consensus::LeaderElectionLostRequestPB* req,
77
      ::yb::consensus::LeaderElectionLostResponsePB* resp,
78
      ::yb::rpc::RpcContext context) = 0;
79
  virtual void LeaderStepDown(
80
      const ::yb::consensus::LeaderStepDownRequestPB* req,
81
      ::yb::consensus::LeaderStepDownResponsePB* resp,
82
      ::yb::rpc::RpcContext context) = 0;
83
  virtual void GetLastOpId(
84
      const ::yb::consensus::GetLastOpIdRequestPB* req,
85
      ::yb::consensus::GetLastOpIdResponsePB* resp,
86
      ::yb::rpc::RpcContext context) = 0;
87
  virtual void GetConsensusState(
88
      const ::yb::consensus::GetConsensusStateRequestPB* req,
89
      ::yb::consensus::GetConsensusStateResponsePB* resp,
90
      ::yb::rpc::RpcContext context) = 0;
91
  virtual void StartRemoteBootstrap(
92
      const ::yb::consensus::StartRemoteBootstrapRequestPB* req,
93
      ::yb::consensus::StartRemoteBootstrapResponsePB* resp,
94
      ::yb::rpc::RpcContext context) = 0;
95
  
96
0
  ::yb::rpc::RpcMethodMetrics GetMetric(ConsensusServiceRpcMethodIndexes index) {
97
0
    return methods_[static_cast<size_t>(index)].metrics;
98
0
  }
99
100
 private:
101
  static const int kMethodCount = 12;
102
103
  // Pre-initialize metrics because calling METRIC_foo.Instantiate() is expensive.
104
  void InitMethods(const scoped_refptr<MetricEntity>& ent);
105
106
  ::yb::rpc::RpcMethodDesc methods_[kMethodCount];
107
};
108
109
} // namespace consensus
110
} // namespace yb
111
112
#endif