23#ifndef GCS_XCOM_GROUP_MANAGEMENT_INCLUDED
24#define GCS_XCOM_GROUP_MANAGEMENT_INCLUDED
53 std::vector<Gcs_member_identifier> &preferred_leaders,
54 std::vector<Gcs_member_identifier> &actual_leaders)
override;
92 const std::vector<std::string> &filter);
104 const std::vector<Gcs_member_identifier> &filter);
116 const std::vector<Gcs_member_identifier *> &filter);
This represents the unique identification of a group.
Definition: gcs_group_identifier.h:34
Definition: gcs_group_management_interface.h:31
This class is to be used to provide parameters to bindings in a transparent and generic way.
Definition: gcs_types.h:58
It represents the identity of a group member within a certain group.
Definition: gcs_member_identifier.h:39
Definition: gcs_xcom_group_management.h:36
Gcs_group_identifier * m_gid
Definition: gcs_xcom_group_management.h:120
Gcs_xcom_group_management & operator=(Gcs_xcom_group_management const &)
unsigned int m_gid_hash
Definition: gcs_xcom_group_management.h:122
uint32_t get_maximum_write_concurrency() const override
Retrieves the maximum supported "write concurrency" value.
Definition: gcs_xcom_group_management.cc:201
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:205
Gcs_xcom_group_management(Gcs_xcom_proxy *xcom_proxy, const Gcs_group_identifier &group_identifier)
Definition: gcs_xcom_group_management.cc:34
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:53
enum_gcs_error set_write_concurrency(uint32_t event_horizon) override
Reconfigures the group's "write concurrency" value.
Definition: gcs_xcom_group_management.cc:214
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:111
My_xp_mutex_impl m_nodes_mutex
Definition: gcs_xcom_group_management.h:127
~Gcs_xcom_group_management() override
Definition: gcs_xcom_group_management.cc:48
void get_xcom_nodes(Gcs_xcom_nodes &result_xcom_nodes, const std::vector< std::string > &filter)
Definition: gcs_xcom_group_management.cc:82
Gcs_xcom_proxy * m_xcom_proxy
Definition: gcs_xcom_group_management.h:119
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:255
enum_gcs_error set_everyone_leader() override
Reconfigures the group's "consensus leaders.".
Definition: gcs_xcom_group_management.cc:240
enum_gcs_error set_single_leader(Gcs_member_identifier const &leader) override
Reconfigures the group's "consensus leaders.".
Definition: gcs_xcom_group_management.cc:223
uint32_t get_minimum_write_concurrency() const override
Retrieves the minimum supported "write concurrency" value.
Definition: gcs_xcom_group_management.cc:197
Gcs_xcom_nodes m_xcom_nodes
Definition: gcs_xcom_group_management.h:121
This class contains information on the configuration, i.e set of nodes or simply site definition.
Definition: gcs_xcom_group_member_information.h:390
Definition: gcs_xcom_proxy.h:51
Definition: my_xp_mutex.h:122
enum_gcs_error
This enumeration describes errors which can occur during group communication operations.
Definition: gcs_types.h:40