24#ifndef GCS_XCOM_GROUP_MANAGEMENT_INCLUDED
25#define GCS_XCOM_GROUP_MANAGEMENT_INCLUDED
55 std::vector<Gcs_member_identifier> &preferred_leaders,
56 std::vector<Gcs_member_identifier> &actual_leaders)
override;
94 const std::vector<std::string> &filter);
106 const std::vector<Gcs_member_identifier> &filter);
118 const std::vector<Gcs_member_identifier *> &filter);
This represents the unique identification of a group.
Definition: gcs_group_identifier.h:35
Definition: gcs_group_management_interface.h:32
This class is to be used to provide parameters to bindings in a transparent and generic way.
Definition: gcs_types.h:59
It represents the identity of a group member within a certain group.
Definition: gcs_member_identifier.h:40
Definition: gcs_xcom_group_management.h:37
Gcs_group_identifier * m_gid
Definition: gcs_xcom_group_management.h:122
Gcs_xcom_group_management & operator=(Gcs_xcom_group_management const &)
unsigned int m_gid_hash
Definition: gcs_xcom_group_management.h:124
Gcs_xcom_group_management(Gcs_xcom_proxy *xcom_proxy, const Gcs_group_identifier &group_identifier, Gcs_xcom_view_change_control_interface *view_control)
Definition: gcs_xcom_group_management.cc:35
uint32_t get_maximum_write_concurrency() const override
Retrieves the maximum supported "write concurrency" value.
Definition: gcs_xcom_group_management.cc:204
enum_gcs_error get_write_concurrency(uint32_t &event_horizon) const override
Retrieves the group's "write concurrency" value.
Definition: gcs_xcom_group_management.cc:208
void set_xcom_nodes(const Gcs_xcom_nodes &xcom_nodes)
Save information on the latest nodes seen by this node so that it can safely reconfigure the group if...
Definition: gcs_xcom_group_management.cc:56
enum_gcs_error set_write_concurrency(uint32_t event_horizon) override
Reconfigures the group's "write concurrency" value.
Definition: gcs_xcom_group_management.cc:239
Gcs_xcom_group_management(Gcs_xcom_group_management const &)
enum_gcs_error modify_configuration(const Gcs_interface_parameters &reconfigured_group) override
Method that allows sending of a new group configuration.
Definition: gcs_xcom_group_management.cc:114
My_xp_mutex_impl m_nodes_mutex
Definition: gcs_xcom_group_management.h:129
~Gcs_xcom_group_management() override
Definition: gcs_xcom_group_management.cc:51
Gcs_xcom_view_change_control_interface * m_view_control
Definition: gcs_xcom_group_management.h:135
void get_xcom_nodes(Gcs_xcom_nodes &result_xcom_nodes, const std::vector< std::string > &filter)
Definition: gcs_xcom_group_management.cc:85
Gcs_xcom_proxy * m_xcom_proxy
Definition: gcs_xcom_group_management.h:121
enum_gcs_error get_leaders(std::vector< Gcs_member_identifier > &preferred_leaders, std::vector< Gcs_member_identifier > &actual_leaders) override
Inspect the group's "consensus leader" configuration.
Definition: gcs_xcom_group_management.cc:280
enum_gcs_error set_everyone_leader() override
Reconfigures the group's "consensus leaders.".
Definition: gcs_xcom_group_management.cc:265
enum_gcs_error set_single_leader(Gcs_member_identifier const &leader) override
Reconfigures the group's "consensus leaders.".
Definition: gcs_xcom_group_management.cc:248
uint32_t get_minimum_write_concurrency() const override
Retrieves the minimum supported "write concurrency" value.
Definition: gcs_xcom_group_management.cc:200
Gcs_xcom_nodes m_xcom_nodes
Definition: gcs_xcom_group_management.h:123
This class contains information on the configuration, i.e set of nodes or simply site definition.
Definition: gcs_xcom_group_member_information.h:391
Definition: gcs_xcom_proxy.h:52
Definition: gcs_xcom_state_exchange.h:716
Definition: my_xp_mutex.h:123
enum_gcs_error
This enumeration describes errors which can occur during group communication operations.
Definition: gcs_types.h:41