MySQL 8.0.29
Source Code Documentation
app_data.h File Reference
#include <stddef.h>
#include "xdr_gen/xcom_vp.h"

Go to the source code of this file.


#define copy_app_data(target, source)
#define steal_app_data(target, source)


app_data_ptr clone_app_data (app_data_ptr a)
app_data_ptr clone_app_data_single (app_data_ptr a)
 Clone an app_data struct. More...
app_data_ptr new_app_data ()
 Constructor for app_data. More...
app_data_ptr init_app_data (app_data_ptr a)
app_data_ptr new_data (u_int n, char *val, cons_type consensus)
app_data_ptr new_exit ()
app_data_ptr new_nodes (u_int n, node_address *names, cargo_type cargo)
app_data_ptr new_reset (cargo_type type)
void _replace_app_data_list (app_data_list target, app_data_ptr source)
char * dbg_app_data (app_data_ptr a)
void follow (app_data_list l, app_data_ptr p)
 Insert p after l. More...
size_t app_data_size (app_data const *a)
 Return size of an app_data. More...
size_t app_data_list_size (app_data const *a)
unsigned long msg_count (app_data_ptr a)
 Count the number of messages in a list. More...

Macro Definition Documentation

◆ copy_app_data

#define copy_app_data (   target,
{ \
IFDBG(D_NONE, FN; STRLIT(" copy_app_data "); PTREXP(target); \
PTREXP(*target); PTREXP(source)); \
_replace_app_data_list(target, source); \
#define PTREXP(x)
Definition: gcs_debug.h:311
#define FN
Definition: gcs_debug.h:307
Definition: gcs_debug.h:173
#define STRLIT(x)
Definition: gcs_debug.h:315
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:41

◆ steal_app_data

#define steal_app_data (   target,
{ \
(target) = (source); \
(source) = NULL; \
#define NULL
Definition: types.h:54

Function Documentation

◆ _replace_app_data_list()

void _replace_app_data_list ( app_data_list  target,
app_data_ptr  source 

◆ app_data_list_size()

size_t app_data_list_size ( app_data const *  a)

◆ app_data_size()

size_t app_data_size ( app_data const *  a)

Return size of an app_data.

Used both for keeping track of the size of cached data, which is OK, as long as no one steals the payload, and to control the xcom automatic batching, which is more dubious, since there we should use the length of serialized data.

◆ clone_app_data()

app_data_ptr clone_app_data ( app_data_ptr  a)

◆ clone_app_data_single()

app_data_ptr clone_app_data_single ( app_data_ptr  a)

Clone an app_data struct.

◆ dbg_app_data()

char * dbg_app_data ( app_data_ptr  a)

◆ follow()

void follow ( app_data_list  l,
app_data_ptr  p 

Insert p after l.

◆ init_app_data()

app_data_ptr init_app_data ( app_data_ptr  a)

◆ msg_count()

unsigned long msg_count ( app_data_ptr  a)

Count the number of messages in a list.

◆ new_app_data()

app_data_ptr new_app_data ( )

Constructor for app_data.

◆ new_data()

app_data_ptr new_data ( u_int  n,
char *  val,
cons_type  consensus 

◆ new_exit()

app_data_ptr new_exit ( )

◆ new_nodes()

app_data_ptr new_nodes ( u_int  n,
node_address *  names,
cargo_type  cargo 

◆ new_reset()

app_data_ptr new_reset ( cargo_type  type)