![]() |
MySQL 8.0.43
Source Code Documentation
|
#include "xcom/xcom_interface.h"#include <assert.h>#include <stdlib.h>#include "xcom/app_data.h"#include "xcom/bitset.h"#include "xcom/node_list.h"#include "xcom/node_no.h"#include "xcom/node_set.h"#include "xcom/pax_msg.h"#include "xcom/server_struct.h"#include "xcom/simset.h"#include "xcom/site_def.h"#include "xcom/site_struct.h"#include "xcom/synode_no.h"#include "xcom/task.h"#include "xcom/task_debug.h"#include "xcom/xcom_base.h"#include "xcom/xcom_cache.h"#include "xcom/xcom_common.h"#include "xcom/xcom_detector.h"#include "xcom/xcom_memory.h"#include "xcom/xcom_profile.h"#include "xcom/xcom_transport.h"#include "xcom/xcom_vp_str.h"#include "xdr_gen/xcom_vp.h"Functions | |
| void | set_xcom_data_receiver (xcom_data_receiver x) |
| void | set_xcom_local_view_receiver (xcom_local_view_receiver x) |
| void | set_xcom_global_view_receiver (xcom_global_view_receiver x) |
| void | set_xcom_config_receiver (xcom_config_receiver x) |
| void | set_xcom_logger (xcom_logger x) |
| void | set_xcom_debugger (xcom_debugger x) |
| void | set_xcom_debugger_check (xcom_debugger_check x) |
| void | deliver_to_app (pax_machine *pma, app_data_ptr app, delivery_status app_status) |
Delivers the app payload to XCom's upper layer, e.g. More... | |
| void | deliver_view_msg (site_def const *site) |
| Deliver a view message. More... | |
| void | deliver_global_view_msg (site_def const *site, node_set const ns, synode_no message_id) |
| void | deliver_config (app_data_ptr a) |
| void | deinit_xcom_interface () |
Variables | |
| static xcom_full_data_receiver | xcom_full_receive_data |
| static xcom_full_local_view_receiver | xcom_full_receive_local_view |
| static xcom_full_global_view_receiver | xcom_full_receive_global_view |
| static xcom_data_receiver | xcom_receive_data |
| static xcom_local_view_receiver | xcom_receive_local_view |
| static xcom_global_view_receiver | xcom_receive_global_view |
| static xcom_config_receiver | xcom_receive_config = nullptr |
| xcom_logger | xcom_log = nullptr |
| Callbacks used in the logging macros. More... | |
| xcom_debugger | xcom_debug = nullptr |
| xcom_debugger_check | xcom_debug_check = nullptr |
| int64_t | xcom_debug_options = GCS_DEBUG_NONE |
| Define the set of debug and trace options that are enabled if there is no debugger check injected. More... | |
| void deinit_xcom_interface | ( | ) |
| void deliver_config | ( | app_data_ptr | a | ) |
| void deliver_global_view_msg | ( | site_def const * | site, |
| node_set const | ns, | ||
| synode_no | message_id | ||
| ) |
| void deliver_to_app | ( | pax_machine * | pma, |
| app_data_ptr | app, | ||
| delivery_status | app_status | ||
| ) |
Delivers the app payload to XCom's upper layer, e.g.
GCS.
Please note the following contract regarding the parameter of this function: If app_status is delivery_ok, then it means that XCom reached consensus on app. In this situation, pma MUST point to the Paxos instance (pax_machine) where app got consensus on. In other words, pma MUST NOT be NULL.
In summary, this function is expected to be called as follows if a payload p reached consensus:
deliver_to_app(<pointer to pax_machine where p was decided>, p, delivery_ok)
This function is expected to be called as follows if a payload p did NOT reach consensus:
deliver_to_app(_, p, delivery_failure)
Where the pma argument may be a pointer to the pax_machine where p failed to get consensus, or NULL.
Failure do adhere to this contract will result in an assert failure, at least on non-release builds.
| pma | The Paxos instance where the app payload obtained consensus |
| app | The payload that was decided for the Paxos instance pma |
| app_status | The reason for app delivery: delivery_ok if the app payload reached consensus on the pma Paxos instance, or delivery_failure if XCom was unable to reach consensus |
| void deliver_view_msg | ( | site_def const * | site | ) |
Deliver a view message.
| void set_xcom_config_receiver | ( | xcom_config_receiver | x | ) |
| void set_xcom_data_receiver | ( | xcom_data_receiver | x | ) |
| void set_xcom_debugger | ( | xcom_debugger | x | ) |
| void set_xcom_debugger_check | ( | xcom_debugger_check | x | ) |
| void set_xcom_global_view_receiver | ( | xcom_global_view_receiver | x | ) |
| void set_xcom_local_view_receiver | ( | xcom_local_view_receiver | x | ) |
| void set_xcom_logger | ( | xcom_logger | x | ) |
| xcom_debugger xcom_debug = nullptr |
| xcom_debugger_check xcom_debug_check = nullptr |
| int64_t xcom_debug_options = GCS_DEBUG_NONE |
Define the set of debug and trace options that are enabled if there is no debugger check injected.
|
static |
|
static |
|
static |
| xcom_logger xcom_log = nullptr |
Callbacks used in the logging macros.
|
static |
|
static |
|
static |
|
static |