23#ifndef COMMUNICATION_PROTOCOL_ACTION_INCLUDED
24#define COMMUNICATION_PROTOCOL_ACTION_INCLUDED
50 const
std::
string &message_origin) final;
Action that changes the GCS protocol version in use by the group.
Definition: communication_protocol_action.h:41
~Communication_protocol_action() final
Group_action_diagnostics m_diagnostics
Stores textual information about the action's execution.
Definition: communication_protocol_action.h:61
int process_action_message(Group_action_message &message, const std::string &message_origin) final
Definition: communication_protocol_action.cc:77
bool stop_action_execution(bool killed) final
Definition: communication_protocol_action.cc:129
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:70
Gcs_protocol_version m_gcs_protocol
The GCS protocol to change to.
Definition: communication_protocol_action.h:64
Communication_protocol_action()
Definition: communication_protocol_action.cc:32
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:120
int set_consensus_leaders() const
Definition: communication_protocol_action.cc:50
void get_action_message(Group_action_message **message) final
Get the message with parameters to this action.
Definition: communication_protocol_action.cc:44
Group_action_diagnostics * get_execution_info() final
Gets the info about execution, be it success or failure.
Definition: communication_protocol_action.cc:134
The parent class for group wide operations.
Definition: group_action.h:34
Definition: group_action_message.h:32
The parent class for group wide operations.
Definition: group_action.h:138
enum_action_execution_result
Enum for the end results of a action execution.
Definition: group_action.h:141
A convenience context class used to share information between the event handlers and the notifier.
Definition: notification.h:34
Definition: stage_monitor_handler.h:29
Gcs_protocol_version
The GCS protocol versions.
Definition: gcs_types.h:127
Definition: varlen_sort.h:174