From 077a68a9746fa7e980cecd8f873bf387b37bed6e Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Mon, 9 May 2022 16:20:21 +0800 Subject: [PATCH] add two macros for vote node --- src/sf_configs.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/sf_configs.h b/src/sf_configs.h index 2fdf572..6ca56d4 100644 --- a/src/sf_configs.h +++ b/src/sf_configs.h @@ -130,6 +130,18 @@ static inline bool sf_election_quorum_check(const SFElectionQuorum quorum, #define sf_load_quorum_config(quorum, ini_ctx) \ sf_load_quorum_config_ex(quorum, ini_ctx, sf_election_quorum_auto) + +#define SF_QUORUM_NEED_REQUEST_VOTE_NODE(quorum, vote_node_enabled, \ + server_count, active_count) \ + (active_count < server_count && vote_node_enabled && \ + quorum != sf_election_quorum_any && server_count % 2 == 0) + +#define SF_QUORUM_NEED_CHECK_VOTE_NODE(quorum, \ + vote_node_enabled, server_count) \ + (vote_node_enabled && quorum != sf_election_quorum_any \ + && server_count % 2 == 0) + + #define SF_NET_RETRY_FINISHED(retry_times, counter, result) \ !((SF_IS_RETRIABLE_ERROR(result) && ((retry_times > 0 && \ counter <= retry_times) || (retry_times < 0))))