MCPcopy Create free account
hub / github.com/apache/brpc / DoReject

Method DoReject

src/brpc/cluster_recover_policy.cpp:91–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89
90
91bool DefaultClusterRecoverPolicy::DoReject(const std::vector<ServerId>& server_list) {
92 if (!_recovering) {
93 return false;
94 }
95 int64_t now_ms = butil::cpuwide_time_ms();
96 uint64_t usable = GetUsableServerCount(now_ms, server_list);
97 if (_last_usable != usable) {
98 std::unique_lock<butil::Mutex> mu(_mutex);
99 if (_last_usable != usable) {
100 _last_usable = usable;
101 _last_usable_change_time_ms = now_ms;
102 }
103 }
104 if (butil::fast_rand_less_than(_min_working_instances) >= usable) {
105 return true;
106 }
107 return false;
108}
109
110bool GetRecoverPolicyByParams(const butil::StringPiece& params,
111 std::shared_ptr<ClusterRecoverPolicy>* ptr_out) {

Callers 2

SelectServerMethod · 0.80
SelectServerMethod · 0.80

Calls 2

cpuwide_time_msFunction · 0.85
fast_rand_less_thanFunction · 0.85

Tested by

no test coverage detected