tibrvftMemberCallback
Function Type
Declaration
typedef void (*tibrvftMemberCallback
) (
tibrvftMember member,
const char* groupName,
tibrvftAction action,
void* closure);
Purpose
Process fault tolerance events for a group member.
Remarks
Each member program of a fault tolerance group must define a function of this type. Programs register a member callback function with each call to tibrvftMember_Create().
Rendezvous fault tolerance software queues a member action event in three situations. In each case, it passes a different action
argument, instructing the callback function to activate, deactivate, or prepare to activate the program.
• | When the number of active members is less than the active goal, the fault tolerance callback function (in the ranking inactive member process) receives the token TIBRVFT_ACTIVATE; the callback function must respond by assuming the duties of an active member. |
• | When the number of active members exceeds the active goal, the fault tolerance callback function (in any active member that is outranked by another active member) receives the action token TIBRVFT_DEACTIVATE; the callback function must respond by switching the program to its inactive state. |
• | When the number of active members equals the active goal, and Rendezvous fault tolerance software detects that it might soon become lower than the active goal, the fault tolerance callback function (in the ranking inactive member) receives the action token TIBRVFT_PREPARE_TO_ACTIVATE; the callback function must respond by making the program ready to activate immediately. For example, preparatory steps might include time-consuming tasks such as connecting to a database. If the callback function subsequently receives the TIBRVFT_ACTIVATE token, it will be ready to activate without delay. |
For additional information see Fault Tolerance Callback Actions in
.
Parameter |
Description |
|
This parameter receives the member object. |
|
This parameter receives a string denoting the name of the fault tolerance group. |
|
This parameter receives a value of the enumerated type |
|
This parameter receives the closure data, which the program supplied in the call that created the member object. |