pacemaker  2.0.1-9e909a5bdd
Scalable High-Availability cluster resource manager
election.h
Go to the documentation of this file.
1 /*
2  * Copyright 2009-2019 Andrew Beekhof <andrew@beekhof.net>
3  *
4  * This source code is licensed under the GNU Lesser General Public License
5  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
6  */
7 
8 #ifndef CRM_COMMON_ELECTION__H
9 # define CRM_COMMON_ELECTION__H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
56 typedef struct election_s election_t;
57 
65 };
66 
67 void election_fini(election_t *e);
68 void election_reset(election_t *e);
69 election_t *election_init(const char *name, const char *uname, guint period_ms, GSourceFunc cb);
70 
71 void election_timeout_set_period(election_t *e, guint period_ms);
73 
74 void election_vote(election_t *e);
75 bool election_check(election_t *e);
76 void election_remove(election_t *e, const char *uname);
78 enum election_result election_count_vote(election_t *e, xmlNode *vote, bool can_win);
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 
85 #endif
election_start
@ election_start
Definition: election.h:60
election_fini
void election_fini(election_t *e)
Free an election object.
Definition: election.c:159
election_error
@ election_error
Definition: election.h:64
election_init
election_t * election_init(const char *name, const char *uname, guint period_ms, GSourceFunc cb)
Create a new election object.
Definition: election.c:83
election_timeout_set_period
void election_timeout_set_period(election_t *e, guint period_ms)
Change an election's timeout (restarting timer if running)
Definition: election.c:199
election_result
election_result
Definition: election.h:59
election_reset
void election_reset(election_t *e)
Stop election timer and disregard all votes.
Definition: election.c:137
uname
char uname[MAX_NAME]
Definition: internal.h:5
election_state
enum election_result election_state(election_t *e)
Definition: election.c:58
election_check
bool election_check(election_t *e)
Check whether local node has won an election.
Definition: election.c:337
election_lost
@ election_lost
Definition: election.h:62
election_remove
void election_remove(election_t *e, const char *uname)
Disregard any previous vote by specified peer.
Definition: election.c:123
election_won
@ election_won
Definition: election.h:63
election_clear_dampening
void election_clear_dampening(election_t *e)
Reset any election dampening currently in effect.
Definition: election.c:716
election_timeout_stop
void election_timeout_stop(election_t *e)
Stop an election's timer, if running.
Definition: election.c:185
election_t
struct election_s election_t
Definition: election.h:56
election_count_vote
enum election_result election_count_vote(election_t *e, xmlNode *vote, bool can_win)
Process an election message (vote or no-vote) from a peer.
Definition: election.c:527
election_vote
void election_vote(election_t *e)
Start a new election by offering local node's candidacy.
Definition: election.c:283
election_in_progress
@ election_in_progress
Definition: election.h:61