MySQL 8.0.40
Source Code Documentation
|
Go to the source code of this file.
Functions | |
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_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_config (app_data_ptr a) |
void | deinit_xcom_interface () |
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.