MySQL 8.0.39
Source Code Documentation
gcs_xcom_interface.cc File Reference

Functions

uint32_t get_my_xcom_id ()
 
void cb_xcom_receive_data (synode_no message_id, synode_no origin, site_def const *site, node_set nodes, u_int size, synode_no last_removed, char *data)
 
void do_cb_xcom_receive_data (synode_no message_id, synode_no origin, Gcs_xcom_nodes *xcom_nodes, synode_no last_removed, u_int size, char *data)
 
void cb_xcom_receive_local_view (synode_no config_id, node_set nodes)
 
void do_cb_xcom_receive_local_view (synode_no config_id, Gcs_xcom_nodes *xcom_nodes, synode_no max_synode)
 
void cb_xcom_receive_global_view (synode_no config_id, synode_no message_id, node_set nodes, xcom_event_horizon event_horizon)
 
void do_cb_xcom_receive_global_view (synode_no config_id, synode_no message_id, Gcs_xcom_nodes *xcom_nodes, xcom_event_horizon event_horizon, synode_no max_synode)
 
void cb_xcom_comms (int status)
 
void cb_xcom_ready (int status)
 
void cb_xcom_exit (int status)
 
void cb_xcom_expel (int status)
 Callback function used by XCom to signal that a node has left the group because of a die_op or a view where the node does not belong to. More...
 
void do_cb_xcom_expel ()
 
synode_no cb_xcom_get_app_snap (blob *gcs_snap)
 
int cb_xcom_get_should_exit ()
 
void cb_xcom_handle_app_snap (blob *store_snap, synode_no start, synode_no end)
 
int cb_xcom_socket_accept (int fd, site_def const *xcom_config)
 Callback function used by XCOM to check whether an incoming connection should be accepted or not. More...
 
xcom_input_request_ptr cb_xcom_input_try_pop ()
 
void cb_xcom_logger (const int64_t level, const char *message)
 Callback function used by XCOM to write information, warning and error messages in coordination with the GCS layer. More...
 
void cb_xcom_debugger (const char *format,...)
 Callback function used by XCOM to write debug messages in coordination with the GCS layer. More...
 
int cb_xcom_debugger_check (const int64_t options)
 Callback function used by XCOM to check whether a debug module is enabled or not. More...
 
void cleanup_xcom ()
 
void start_ssl ()
 
static void do_cb_xcom_receive_data_state_exchange (Gcs_packet &&packet, std::unique_ptr< Gcs_xcom_nodes > &&xcom_nodes, Gcs_xcom_communication &xcom_communication, Gcs_xcom_control &xcom_control)
 
static void do_cb_xcom_receive_data_user (Gcs_packet &&packet, std::unique_ptr< Gcs_xcom_nodes > &&xcom_nodes, Gcs_xcom_communication &xcom_communication)
 
static bool must_filter_xcom_view_v1 (synode_no config_id, Gcs_xcom_nodes const &xcom_nodes, xcom_event_horizon event_horizon)
 
static bool must_filter_xcom_view_v3 (Gcs_xcom_nodes const &xcom_nodes)
 
static bool must_filter_xcom_view (synode_no config_id, Gcs_xcom_nodes const &xcom_nodes, xcom_event_horizon event_horizon, Gcs_protocol_version protocol)
 
int cb_xcom_match_port (xcom_port if_port)
 

Variables

static Gcs_xcom_config last_accepted_xcom_config
 
int xcom_local_port = 0
 
static Gcs_xcom_proxys_xcom_proxy
 
static Gcs_xcom_enginegcs_engine
 

Function Documentation

◆ cb_xcom_comms()

void cb_xcom_comms ( int  status)

◆ cb_xcom_debugger()

void cb_xcom_debugger ( const char *  format,
  ... 
)

Callback function used by XCOM to write debug messages in coordination with the GCS layer.

The variadic signature allows XCOM to call this function without forcing any preliminary processing on the message, meaning that the cost is minimal and there is no need to use an intermediate buffer. The GCS layer will then be responsible for writing the message content directly to the final buffer.

◆ cb_xcom_debugger_check()

int cb_xcom_debugger_check ( const int64_t  options)

Callback function used by XCOM to check whether a debug module is enabled or not.

◆ cb_xcom_exit()

void cb_xcom_exit ( int  status)

◆ cb_xcom_expel()

void cb_xcom_expel ( int  status)

Callback function used by XCom to signal that a node has left the group because of a die_op or a view where the node does not belong to.

◆ cb_xcom_get_app_snap()

synode_no cb_xcom_get_app_snap ( blob *  gcs_snap)

◆ cb_xcom_get_should_exit()

int cb_xcom_get_should_exit ( )

◆ cb_xcom_handle_app_snap()

void cb_xcom_handle_app_snap ( blob *  store_snap,
synode_no  start,
synode_no  end 
)

◆ cb_xcom_input_try_pop()

xcom_input_request_ptr cb_xcom_input_try_pop ( )

◆ cb_xcom_logger()

void cb_xcom_logger ( const int64_t  level,
const char *  message 
)

Callback function used by XCOM to write information, warning and error messages in coordination with the GCS layer.

◆ cb_xcom_match_port()

int cb_xcom_match_port ( xcom_port  if_port)

◆ cb_xcom_ready()

void cb_xcom_ready ( int  status)

◆ cb_xcom_receive_data()

void cb_xcom_receive_data ( synode_no  message_id,
synode_no  origin,
site_def const *  site,
node_set  nodes,
u_int  size,
synode_no  last_removed,
char *  data 
)

◆ cb_xcom_receive_global_view()

void cb_xcom_receive_global_view ( synode_no  config_id,
synode_no  message_id,
node_set  nodes,
xcom_event_horizon  event_horizon 
)

◆ cb_xcom_receive_local_view()

void cb_xcom_receive_local_view ( synode_no  config_id,
node_set  nodes 
)

◆ cb_xcom_socket_accept()

int cb_xcom_socket_accept ( int  fd,
site_def const *  xcom_config 
)

Callback function used by XCOM to check whether an incoming connection should be accepted or not.

◆ cleanup_xcom()

void cleanup_xcom ( )

◆ do_cb_xcom_expel()

void do_cb_xcom_expel ( )

◆ do_cb_xcom_receive_data()

void do_cb_xcom_receive_data ( synode_no  message_id,
synode_no  origin,
Gcs_xcom_nodes xcom_nodes,
synode_no  last_removed,
u_int  size,
char *  data 
)

◆ do_cb_xcom_receive_data_state_exchange()

static void do_cb_xcom_receive_data_state_exchange ( Gcs_packet &&  packet,
std::unique_ptr< Gcs_xcom_nodes > &&  xcom_nodes,
Gcs_xcom_communication xcom_communication,
Gcs_xcom_control xcom_control 
)
inlinestatic

◆ do_cb_xcom_receive_data_user()

static void do_cb_xcom_receive_data_user ( Gcs_packet &&  packet,
std::unique_ptr< Gcs_xcom_nodes > &&  xcom_nodes,
Gcs_xcom_communication xcom_communication 
)
inlinestatic

◆ do_cb_xcom_receive_global_view()

void do_cb_xcom_receive_global_view ( synode_no  config_id,
synode_no  message_id,
Gcs_xcom_nodes xcom_nodes,
xcom_event_horizon  event_horizon,
synode_no  max_synode 
)

◆ do_cb_xcom_receive_local_view()

void do_cb_xcom_receive_local_view ( synode_no  config_id,
Gcs_xcom_nodes xcom_nodes,
synode_no  max_synode 
)

◆ get_my_xcom_id()

uint32_t get_my_xcom_id ( )

◆ must_filter_xcom_view()

static bool must_filter_xcom_view ( synode_no  config_id,
Gcs_xcom_nodes const &  xcom_nodes,
xcom_event_horizon  event_horizon,
Gcs_protocol_version  protocol 
)
static

◆ must_filter_xcom_view_v1()

static bool must_filter_xcom_view_v1 ( synode_no  config_id,
Gcs_xcom_nodes const &  xcom_nodes,
xcom_event_horizon  event_horizon 
)
static

◆ must_filter_xcom_view_v3()

static bool must_filter_xcom_view_v3 ( Gcs_xcom_nodes const &  xcom_nodes)
static

◆ start_ssl()

void start_ssl ( )

Variable Documentation

◆ gcs_engine

Gcs_xcom_engine* gcs_engine
static

◆ last_accepted_xcom_config

Gcs_xcom_config last_accepted_xcom_config
static

◆ s_xcom_proxy

Gcs_xcom_proxy* s_xcom_proxy
static

◆ xcom_local_port

int xcom_local_port = 0