pacemaker 2.1.5-a3f44794f94
Scalable High-Availability cluster resource manager
election_internal.h
Go to the documentation of this file.
1/*
2 * Copyright 2009-2019 the Pacemaker project contributors
3 *
4 * The version control history for this file may have further details.
5 *
6 * This source code is licensed under the GNU Lesser General Public License
7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8 */
9
10#ifndef CRM_COMMON_ELECTION__H
11# define CRM_COMMON_ELECTION__H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
56typedef struct election_s election_t;
57
65};
66
69election_t *election_init(const char *name, const char *uname, guint period_ms, GSourceFunc cb);
70
71void election_timeout_set_period(election_t *e, guint period_ms);
73
76void election_remove(election_t *e, const char *uname);
78enum election_result election_count_vote(election_t *e, xmlNode *vote, bool can_win);
80
81#ifdef __cplusplus
82}
83#endif
84
85#endif
const char * name
Definition: cib.c:24
char uname[MAX_NAME]
Definition: cpg.c:5
void election_remove(election_t *e, const char *uname)
Disregard any previous vote by specified peer.
Definition: election.c:129
struct election_s election_t
void election_fini(election_t *e)
Free an election object.
Definition: election.c:165
bool election_check(election_t *e)
Check whether local node has won an election.
Definition: election.c:342
election_result
@ election_won
@ election_error
@ election_lost
@ election_in_progress
@ election_start
void election_timeout_set_period(election_t *e, guint period_ms)
Change an election's timeout (restarting timer if running)
Definition: election.c:205
void election_vote(election_t *e)
Start a new election by offering local node's candidacy.
Definition: election.c:289
election_t * election_init(const char *name, const char *uname, guint period_ms, GSourceFunc cb)
Create a new election object.
Definition: election.c:89
enum election_result election_state(election_t *e)
Get current state of an election.
Definition: election.c:67
void election_reset(election_t *e)
Stop election timer and disregard all votes.
Definition: election.c:143
void election_timeout_stop(election_t *e)
Stop an election's timer, if running.
Definition: election.c:191
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:532
void election_clear_dampening(election_t *e)
Reset any election dampening currently in effect.
Definition: election.c:722