| 
    pacemaker
    2.1.5-b7adf64e51
    
   Scalable High-Availability cluster resource manager 
   | 
 
#include <crm_internal.h>#include <sys/time.h>#include <sys/resource.h>#include <crm/msg_xml.h>#include <crm/common/xml.h>#include <crm/common/mainloop.h>#include <crm/cluster/internal.h>#include <crm/cluster/election_internal.h>#include <crm/crm.h>
Go to the source code of this file.
Macros | |
| #define | STORM_INTERVAL 2 /* in seconds */ | 
| #define | LOSS_DAMPEN 2 /* in seconds */ | 
Functions | |
| enum election_result | election_state (election_t *e) | 
| Get current state of an election.  More... | |
| election_t * | election_init (const char *name, const char *uname, guint period_ms, GSourceFunc cb) | 
| Create a new election object.  More... | |
| void | election_remove (election_t *e, const char *uname) | 
| Disregard any previous vote by specified peer.  More... | |
| void | election_reset (election_t *e) | 
| Stop election timer and disregard all votes.  More... | |
| void | election_fini (election_t *e) | 
| Free an election object.  More... | |
| void | election_timeout_stop (election_t *e) | 
| Stop an election's timer, if running.  More... | |
| void | election_timeout_set_period (election_t *e, guint period) | 
| Change an election's timeout (restarting timer if running)  More... | |
| void | election_vote (election_t *e) | 
| Start a new election by offering local node's candidacy.  More... | |
| bool | election_check (election_t *e) | 
| Check whether local node has won an election.  More... | |
| enum election_result | election_count_vote (election_t *e, xmlNode *message, bool can_win) | 
| Process an election message (vote or no-vote) from a peer.  More... | |
| void | election_clear_dampening (election_t *e) | 
| Reset any election dampening currently in effect.  More... | |
Variables | |
| struct election_s | __attribute__ | 
| #define LOSS_DAMPEN 2 /* in seconds */ | 
Definition at line 398 of file election.c.
| #define STORM_INTERVAL 2 /* in seconds */ | 
Definition at line 23 of file election.c.
| bool election_check | ( | election_t * | e | ) | 
Check whether local node has won an election.
If all known peers have sent no-vote messages, stop the election timer, set the election state to won, and call any registered win callback.
| [in] | e | Election object | 
election_in_progress. Definition at line 342 of file election.c.
| void election_clear_dampening | ( | election_t * | e | ) | 
Reset any election dampening currently in effect.
| [in] | e | Election object to clear | 
Definition at line 722 of file election.c.
| enum election_result election_count_vote | ( | election_t * | e, | 
| xmlNode * | message, | ||
| bool | can_win | ||
| ) | 
Process an election message (vote or no-vote) from a peer.
| [in] | e | Election object | 
| [in] | vote | Election message XML from peer | 
| [in] | can_win | Whether to consider the local node eligible for winning | 
Definition at line 532 of file election.c.
| void election_fini | ( | election_t * | e | ) | 
Free an election object.
Free all memory associated with an election object, stopping its election timer (if running).
| [in] | e | Election object | 
Definition at line 165 of file election.c.
| election_t* election_init | ( | const char * | name, | 
| const char * | uname, | ||
| guint | period_ms, | ||
| GSourceFunc | cb | ||
| ) | 
Create a new election object.
Every node that wishes to participate in an election must create an election object. Typically, this should be done once, at start-up. A caller should only create a single election object.
| [in] | name | Label for election (for logging) | 
| [in] | uname | Local node's name | 
| [in] | period_ms | How long to wait for all peers to vote | 
| [in] | cb | Function to call if local node wins election | 
Definition at line 89 of file election.c.
| void election_remove | ( | election_t * | e, | 
| const char * | uname | ||
| ) | 
Disregard any previous vote by specified peer.
This discards any recorded vote from a specified peer. Election users should call this whenever a voting peer becomes inactive.
| [in] | e | Election object | 
| [in] | uname | Name of peer to disregard | 
Definition at line 129 of file election.c.
| void election_reset | ( | election_t * | e | ) | 
Stop election timer and disregard all votes.
| [in] | e | Election object | 
Definition at line 143 of file election.c.
| enum election_result election_state | ( | election_t * | e | ) | 
Get current state of an election.
| [in] | e | Election object | 
Definition at line 67 of file election.c.
| void election_timeout_set_period | ( | election_t * | e, | 
| guint | period | ||
| ) | 
Change an election's timeout (restarting timer if running)
| [in] | e | Election object | 
| [in] | period | New timeout | 
Definition at line 205 of file election.c.
| void election_timeout_stop | ( | election_t * | e | ) | 
Stop an election's timer, if running.
| [in] | e | Election object | 
Definition at line 191 of file election.c.
| void election_vote | ( | election_t * | e | ) | 
Start a new election by offering local node's candidacy.
Broadcast a "vote" election message containing the local node's ID, (incremented) election counter, and uptime, and start the election timer.
| [in] | e | Election object | 
Definition at line 289 of file election.c.
| struct pcmk__cpg_msg_s __attribute__ | 
 1.8.14