This interface must be implemented by all specific binding implementations as its entry point.
More...
This interface must be implemented by all specific binding implementations as its entry point.
It should afterwards be distributed via a Factory, in order to allow its transparent instantiation.
All of the interfaces are group-oriented, meaning that all methods that allow the retrieval of sub-interfaces (control, communication, statistics) are oriented to serve all operations to a single group.
It provides two main functionalities:
- Binding startup and finish;
- Allow access to the control, communication and statistics interface.
A typical usage of this interface shall be:
{
}
This interface represents all the control functionalities that a binding implementation must provide.
Definition: gcs_control_interface.h:111
virtual enum_gcs_error leave()=0
Method that causes one to leave the group that this interface pertains.
virtual enum_gcs_error join()=0
Method that causes one to join the group that this interface pertains.
This represents the unique identification of a group.
Definition: gcs_group_identifier.h:35
This class is to be used to provide parameters to bindings in a transparent and generic way.
Definition: gcs_types.h:59
void add_parameter(const std::string &name, const std::string &value)
Adds a parameter to the parameter catalog.
Definition: gcs_types.cc:31
This interface must be implemented by all specific binding implementations as its entry point.
Definition: gcs_interface.h:101
virtual enum_gcs_error finalize()=0
Method used by a binding implementation in order to implement any internal shutdown procedure.
virtual enum_gcs_error set_logger(Logger_interface *logger)=0
Method that retrieves the binding implementation of the Group Management Session interface.
virtual bool is_initialized()=0
Method used to report if the binding interface has already been initialized.
virtual Gcs_control_interface * get_control_session(const Gcs_group_identifier &group_identifier)=0
Method that retrieves the binding implementation of the Control Session interface.
virtual enum_gcs_error initialize(const Gcs_interface_parameters &interface_params)=0
Method used by a binding implementation in order to implement any internal startup procedure.
Logger interface that must be used to define a logger object.
Definition: gcs_logging.h:125
static Logger logger
The "top-level" logger used when no connection context is given.
Definition: test_trace_plugin.cc:296
Method used by a binding implementation in order to implement any type of necessary dynamic reconfiguration.
An example of this could be an underlying GCS that needs to adjust itself to changes in a group. Note, however, that the method must be only used when the system is not running in order to avoid possible concurrency issues. Using cached information by the caller, after this member function has been called, results in undefined behavior.
- Return values
-
GCS_OK | in case of everything goes well. Any other value of gcs_error in case of error. |
Implemented in Gcs_xcom_interface.