22#include <glog/logging.h>
29 : primary_id_(config.GetReplicaInfos()[0].id()), view_(1) {
31 LOG(ERROR) <<
"get primary id:" << primary_id_;
49 if (replica.id() == 0 || replica.ip().empty() || replica.port() == 0) {
52 for (
const auto& cur_replica : replicas_) {
53 if (cur_replica.id() == replica.id()) {
54 LOG(ERROR) <<
" replica exist:" << replica.id();
58 LOG(ERROR) <<
"add new replica:" << replica.DebugString();
59 replicas_.push_back(replica);
63 switch (request.type()) {
64 case SystemInfoRequest::ADD_REPLICA: {
65 NewReplicaRequest info;
66 if (info.ParseFromString(request.request())) {
const std::vector< ReplicaInfo > & GetReplicaInfos() const
void SetCurrentView(uint64_t)
uint32_t GetPrimaryId() const
void SetPrimary(uint32_t id)
void SetReplicas(const std::vector< ReplicaInfo > &replicas)
std::vector< ReplicaInfo > GetReplicas() const
void AddReplica(const ReplicaInfo &replica)
void ProcessRequest(const SystemInfoRequest &request)
uint64_t GetCurrentView() const