24#ifndef COMMUNICATION_PROTOCOL_ACTION_INCLUDED
25#define COMMUNICATION_PROTOCOL_ACTION_INCLUDED
51 const
std::
string &message_origin) final;
Action that changes the GCS protocol version in use by the group.
Definition: communication_protocol_action.h:42
~Communication_protocol_action() final
Group_action_diagnostics m_diagnostics
Stores textual information about the action's execution.
Definition: communication_protocol_action.h:62
int process_action_message(Group_action_message &message, const std::string &message_origin) final
Definition: communication_protocol_action.cc:78
bool stop_action_execution(bool killed) final
Definition: communication_protocol_action.cc:130
std::future< void > m_protocol_change_done
Future on which to wait for the protocol change to finish in the local node.
Definition: communication_protocol_action.h:71
Gcs_protocol_version m_gcs_protocol
The GCS protocol to change to.
Definition: communication_protocol_action.h:65
Communication_protocol_action()
Definition: communication_protocol_action.cc:33
enum_action_execution_result execute_action(bool invoking_member, Plugin_stage_monitor_handler *stage_handler, Notification_context *) final
Execute the action.
Definition: communication_protocol_action.cc:121
int set_consensus_leaders() const
Definition: communication_protocol_action.cc:51
void get_action_message(Group_action_message **message) final
Get the message with parameters to this action.
Definition: communication_protocol_action.cc:45
Group_action_diagnostics * get_execution_info() final
Gets the info about execution, be it success or failure.
Definition: communication_protocol_action.cc:135
The parent class for group wide operations.
Definition: group_action.h:35
Definition: group_action_message.h:33
The parent class for group wide operations.
Definition: group_action.h:139
enum_action_execution_result
Enum for the end results of a action execution.
Definition: group_action.h:142
A convenience context class used to share information between the event handlers and the notifier.
Definition: notification.h:35
Definition: stage_monitor_handler.h:30
Gcs_protocol_version
The GCS protocol versions.
Definition: gcs_types.h:128
Definition: gcs_xcom_synode.h:64