MySQL 8.0.40
Source Code Documentation
|
Abstract class that defines a notification that will be sent from XCOM to MySQL GCS or from an user thread to MySQL GCS. More...
#include <gcs_xcom_notification.h>
Public Member Functions | |
Gcs_xcom_notification ()=default | |
Constructor for Gcs_xcom_notification which an abstract class that represents notifications sent from XCOM to MySQL GCS. More... | |
virtual bool | operator() ()=0 |
Task implemented by this notification which calls do_execute. More... | |
virtual | ~Gcs_xcom_notification ()=default |
Destructor for the Gcs_xcom_notification. More... | |
Private Member Functions | |
Gcs_xcom_notification (Gcs_xcom_notification const &) | |
Gcs_xcom_notification & | operator= (Gcs_xcom_notification const &) |
Abstract class that defines a notification that will be sent from XCOM to MySQL GCS or from an user thread to MySQL GCS.
This is a very simple implementation that chooses simplicity over flexibility. For example, it does not support notifications on member functions (i.e. methods) and a new notification generates some duplicated code. Note that these limitations could be eliminated with the use of generalized functors. However, this solution would have increased code complexity as we cannot use C++ 11.
Note also that we have used the term functor here to designed the pointer to the callback function.
We will revisit this decision in the future if any of the choices become a problem and when we start using C++ 11.
|
explicitdefault |
Constructor for Gcs_xcom_notification which an abstract class that represents notifications sent from XCOM to MySQL GCS.
Such notifications are read from a queue by a MySQL GCS' thread, specifically by the Gcs_xcom_engine which is responsible for executing them.
The main loop in the GCS_xcom_engine is stopped when the execution returns true.
|
virtualdefault |
Destructor for the Gcs_xcom_notification.
|
private |
|
pure virtual |
Task implemented by this notification which calls do_execute.
Implemented in Parameterized_notification< stop >, Parameterized_notification< false >, and Parameterized_notification< true >.
|
private |