corosync 3.1.7
|
Totem Single Ring Protocol. More...
Go to the source code of this file.
Data Structures | |
struct | totempg_group |
Macros | |
#define | TOTEMPG_AGREED 0 |
#define | TOTEMPG_SAFE 1 |
Typedefs | |
typedef void(* | totem_queue_level_changed_fn) (enum totem_q_level level) |
Enumerations | |
enum | totem_q_level { TOTEM_Q_LEVEL_LOW , TOTEM_Q_LEVEL_GOOD , TOTEM_Q_LEVEL_HIGH , TOTEM_Q_LEVEL_CRITICAL } |
Functions | |
int | totempg_initialize (qb_loop_t *poll_handle, struct totem_config *totem_config) |
Initialize the totem process groups abstraction. More... | |
void | totempg_finalize (void) |
int | totempg_callback_token_create (void **handle_out, enum totem_callback_token_type type, int delete, int(*callback_fn)(enum totem_callback_token_type type, const void *), const void *data) |
void | totempg_callback_token_destroy (void *handle) |
int | totempg_groups_initialize (void **instance, void(*deliver_fn)(unsigned int nodeid, const void *msg, unsigned int msg_len, int endian_conversion_required), void(*confchg_fn)(enum totem_configuration_type configuration_type, const unsigned int *member_list, size_t member_list_entries, const unsigned int *left_list, size_t left_list_entries, const unsigned int *joined_list, size_t joined_list_entries, const struct memb_ring_id *ring_id)) |
Initialize a groups instance. More... | |
int | totempg_groups_finalize (void *instance) |
int | totempg_groups_join (void *instance, const struct totempg_group *groups, size_t group_cnt) |
int | totempg_groups_leave (void *instance, const struct totempg_group *groups, size_t group_cnt) |
int | totempg_groups_mcast_joined (void *instance, const struct iovec *iovec, unsigned int iov_len, int guarantee) |
int | totempg_groups_joined_reserve (void *instance, const struct iovec *iovec, unsigned int iov_len) |
int | totempg_groups_joined_release (int msg_count) |
int | totempg_groups_mcast_groups (void *instance, int guarantee, const struct totempg_group *groups, size_t groups_cnt, const struct iovec *iovec, unsigned int iov_len) |
int | totempg_groups_send_ok_groups (void *instance, const struct totempg_group *groups, size_t groups_cnt, const struct iovec *iovec, unsigned int iov_len) |
int | totempg_ifaces_get (unsigned int nodeid, unsigned int *interface_id, struct totem_ip_address *interfaces, unsigned int interfaces_size, char ***status, unsigned int *iface_count) |
int | totempg_nodestatus_get (unsigned int nodeid, struct totem_node_status *node_status) |
void * | totempg_get_stats (void) |
void | totempg_event_signal (enum totem_event_type type, int value) |
const char * | totempg_ifaces_print (unsigned int nodeid) |
unsigned int | totempg_my_nodeid_get (void) |
int | totempg_my_family_get (void) |
int | totempg_crypto_set (const char *cipher_type, const char *hash_type) |
void | totempg_service_ready_register (void(*totem_service_ready)(void)) |
int | totempg_iface_set (struct totem_ip_address *interface_addr, unsigned short ip_port, unsigned int iface_no) |
int | totempg_member_add (const struct totem_ip_address *member, int ring_no) |
int | totempg_member_remove (const struct totem_ip_address *member, int ring_no) |
void | totempg_check_q_level (void *instance) |
void | totempg_queue_level_register_callback (totem_queue_level_changed_fn) |
void | totempg_threaded_mode_enable (void) |
void | totempg_trans_ack (void) |
int | totempg_reconfigure (void) |
int | totempg_crypto_reconfigure_phase (cfg_message_crypto_reconfig_phase_t phase) |
void | totempg_force_gather (void) |
void | totempg_get_config (struct totem_config *config) |
void | totempg_put_config (struct totem_config *config) |
typedef void(* totem_queue_level_changed_fn) (enum totem_q_level level) |
enum totem_q_level |
int totempg_callback_token_create | ( | void ** | handle_out, |
enum totem_callback_token_type | type, | ||
int | delete, | ||
int(*)(enum totem_callback_token_type type, const void *) | callback_fn, | ||
const void * | data | ||
) |
void totempg_check_q_level | ( | void * | instance | ) |
Definition at line 1294 of file totempg.c.
Referenced by corosync_recheck_the_q_level().
int totempg_crypto_reconfigure_phase | ( | cfg_message_crypto_reconfig_phase_t | phase | ) |
Definition at line 1571 of file totempg.c.
References totemsrp_crypto_reconfigure_phase().
int totempg_crypto_set | ( | const char * | cipher_type, |
const char * | hash_type | ||
) |
Definition at line 1489 of file totempg.c.
References totemsrp_crypto_set().
void totempg_event_signal | ( | enum totem_event_type | type, |
int | value | ||
) |
Definition at line 1479 of file totempg.c.
References totemsrp_event_signal().
void totempg_force_gather | ( | void | ) |
Definition at line 1596 of file totempg.c.
References totemsrp_force_gather().
void totempg_get_config | ( | struct totem_config * | config | ) |
Definition at line 1602 of file totempg.c.
References INTERFACE_MAX, totem_config::interfaces, totem_config::orig_interfaces, and totempg_totem_config.
int totempg_groups_finalize | ( | void * | instance | ) |
int totempg_groups_initialize | ( | void ** | instance, |
void(*)(unsigned int nodeid, const void *msg, unsigned int msg_len, int endian_conversion_required) | deliver_fn, | ||
void(*)(enum totem_configuration_type configuration_type, const unsigned int *member_list, size_t member_list_entries, const unsigned int *left_list, size_t left_list_entries, const unsigned int *joined_list, size_t joined_list_entries, const struct memb_ring_id *ring_id) | confchg_fn | ||
) |
int totempg_groups_join | ( | void * | instance, |
const struct totempg_group * | groups, | ||
size_t | group_cnt | ||
) |
int totempg_groups_joined_release | ( | int | msg_count | ) |
Definition at line 1346 of file totempg.c.
Referenced by corosync_sending_allowed_release().
int totempg_groups_joined_reserve | ( | void * | instance, |
const struct iovec * | iovec, | ||
unsigned int | iov_len | ||
) |
Definition at line 1302 of file totempg.c.
Referenced by corosync_sending_allowed().
int totempg_groups_leave | ( | void * | instance, |
const struct totempg_group * | groups, | ||
size_t | group_cnt | ||
) |
int totempg_groups_mcast_groups | ( | void * | instance, |
int | guarantee, | ||
const struct totempg_group * | groups, | ||
size_t | groups_cnt, | ||
const struct iovec * | iovec, | ||
unsigned int | iov_len | ||
) |
Definition at line 1360 of file totempg.c.
References MAX_GROUPS_PER_MSG, and MAX_IOVECS_FROM_APP.
int totempg_groups_mcast_joined | ( | void * | instance, |
const struct iovec * | iovec, | ||
unsigned int | iov_len, | ||
int | guarantee | ||
) |
Definition at line 1232 of file totempg.c.
References MAX_GROUPS_PER_MSG, and MAX_IOVECS_FROM_APP.
Referenced by main_mcast().
int totempg_groups_send_ok_groups | ( | void * | instance, |
const struct totempg_group * | groups, | ||
size_t | groups_cnt, | ||
const struct iovec * | iovec, | ||
unsigned int | iov_len | ||
) |
int totempg_iface_set | ( | struct totem_ip_address * | interface_addr, |
unsigned short | ip_port, | ||
unsigned int | iface_no | ||
) |
Definition at line 1434 of file totempg.c.
References totemsrp_iface_set().
int totempg_ifaces_get | ( | unsigned int | nodeid, |
unsigned int * | interface_id, | ||
struct totem_ip_address * | interfaces, | ||
unsigned int | interfaces_size, | ||
char *** | status, | ||
unsigned int * | iface_count | ||
) |
Definition at line 1457 of file totempg.c.
References totemsrp_ifaces_get().
Referenced by totempg_ifaces_print().
const char * totempg_ifaces_print | ( | unsigned int | nodeid | ) |
Definition at line 1501 of file totempg.c.
References family, INTERFACE_MAX, nodeid, ONE_IFACE_LEN, totemip_print(), and totempg_ifaces_get().
int totempg_initialize | ( | qb_loop_t * | poll_handle, |
struct totem_config * | totem_config | ||
) |
Initialize the totem process groups abstraction.
Definition at line 802 of file totempg.c.
References totempg_totem_config.
int totempg_member_add | ( | const struct totem_ip_address * | member, |
int | ring_no | ||
) |
Definition at line 1552 of file totempg.c.
References totemsrp_member_add().
int totempg_member_remove | ( | const struct totem_ip_address * | member, |
int | ring_no | ||
) |
Definition at line 1559 of file totempg.c.
References totemsrp_member_remove().
int totempg_my_family_get | ( | void | ) |
Definition at line 1537 of file totempg.c.
References totemsrp_my_family_get().
unsigned int totempg_my_nodeid_get | ( | void | ) |
Definition at line 1532 of file totempg.c.
References totemsrp_my_nodeid_get().
Referenced by message_source_is_local(), and message_source_set().
int totempg_nodestatus_get | ( | unsigned int | nodeid, |
struct totem_node_status * | node_status | ||
) |
Definition at line 1450 of file totempg.c.
References totemsrp_nodestatus_get().
void totempg_put_config | ( | struct totem_config * | config | ) |
Definition at line 1612 of file totempg.c.
References INTERFACE_MAX, totem_config::interfaces, and totempg_totem_config.
void totempg_queue_level_register_callback | ( | totem_queue_level_changed_fn | fn | ) |
int totempg_reconfigure | ( | void | ) |
Definition at line 1566 of file totempg.c.
References totemsrp_reconfigure().
void totempg_service_ready_register | ( | void(*)(void) | totem_service_ready | ) |
Definition at line 1541 of file totempg.c.
References totemsrp_service_ready_register().
void totempg_trans_ack | ( | void | ) |
Definition at line 1591 of file totempg.c.
References totemsrp_trans_ack().