Transformer SDK For C  8.0.2.290852-a608fcd3
cluster_interface_t Struct Reference

Definition of the cluster interface. More...

Data Fields

int(* cluster_check_primary )()
 Check whether this instance of the Transformer is primary. More...
 
int(* cluster_get_cluster_size )()
 Get the size of the Transformer cluster. More...
 
int(* cluster_get_node_index )(void)
 Get the node number associated with this Transformer. More...
 
int(* cluster_is_node_up )(int node)
 Check whether a given node is available. More...
 
void(* cluster_monitor_method )(char *template, char *key, char *property, int argc, char *argv[])
 Invoke a monitoring method on connected nodes. More...
 
void(* cluster_monitor_method_to_node )(int node, char *template, char *key, char *property, int argc, char *argv[])
 Invoke a monitoring method on a node. More...
 
void(* cluster_reset_uptime )()
 Reset the uptime of this node. More...
 
void(* cluster_send_nodata )(char *subject, u_short flags)
 Send an update packet to all connected nodes. More...
 
void(* cluster_send_nodata_to_node )(int node, char *subject, u_short flags)
 Send an update packet to all a node. More...
 
void(* cluster_send_update )(ds_data_t *dsdata)
 Send an update packet to all connected nodes. More...
 
void(* cluster_send_update_to_node )(int node, ds_data_t *dsdata)
 Send an update packet to all a node. More...
 
int(* cluster_should_assign_to_this_node )(char *to_assign)
 Perform a repeatable test to see whether the parameter should be processed by this node. More...
 
int patch
 
int version
 

Detailed Description

Definition of the cluster interface.

Field Documentation

int(* cluster_interface_t::cluster_check_primary) ()

Check whether this instance of the Transformer is primary.

Return values
0- This transformer is not primary
1- This transformer is the primary
int(* cluster_interface_t::cluster_get_cluster_size) ()

Get the size of the Transformer cluster.

Returns
The number of nodes within the cluster
int(* cluster_interface_t::cluster_get_node_index) (void)

Get the node number associated with this Transformer.

Returns
Node number
int(* cluster_interface_t::cluster_is_node_up) (int node)

Check whether a given node is available.

Parameters
node- Node number to check
Return values
1- Node is up
0- Node is down
-1- Invalid node number
void(* cluster_interface_t::cluster_monitor_method) (char *template, char *key, char *property, int argc, char *argv[])

Invoke a monitoring method on connected nodes.

Parameters
templatename- The templatename of the method being called
key- The primarykey of the method being called
propertyname- The propertyname of the method being requested
argc- Number of arguments
argv- Array of arguments

argv[0] contains the propertyname this method is being called for

void(* cluster_interface_t::cluster_monitor_method_to_node) (int node, char *template, char *key, char *property, int argc, char *argv[])

Invoke a monitoring method on a node.

Parameters
node- Node to invoke the method on
templatename- The templatename of the method being called
key- The primarykey of the method being called
propertyname- The propertyname of the method being requested
argc- Number of arguments
argv- Array of arguments

argv[0] contains the propertyname this method is being called for

void(* cluster_interface_t::cluster_reset_uptime) ()

Reset the uptime of this node.

This function will reset the uptime of the node, depending on the primary detection technique, this may well result in this node ceasing to be the primary node.

void(* cluster_interface_t::cluster_send_nodata) (char *subject, u_short flags)

Send an update packet to all connected nodes.

Parameters
dsdata- Update to send to all node
void(* cluster_interface_t::cluster_send_nodata_to_node) (int node, char *subject, u_short flags)

Send an update packet to all a node.

Parameters
node- Node to send update to
dsdata- Update to send to all node
void(* cluster_interface_t::cluster_send_update) (ds_data_t *dsdata)

Send an update packet to all connected nodes.

Parameters
dsdata- Update to send to all node
void(* cluster_interface_t::cluster_send_update_to_node) (int node, ds_data_t *dsdata)

Send an update packet to all a node.

Parameters
node- Node to send update to
dsdata- Update to send to all node
int(* cluster_interface_t::cluster_should_assign_to_this_node) (char *to_assign)

Perform a repeatable test to see whether the parameter should be processed by this node.

Parameters
to_assign- String to test

This function takes a hash of the given string modulo the cluster size and determines whether this node should process this update.

This can be useful for load balancing and handling failover situations.

int cluster_interface_t::patch

Patch version of the cluster module

int cluster_interface_t::version

Version number of the cluster module


The documentation for this struct was generated from the following file:

Generated on Wed Jul 31 2024 18:00:14 for Transformer SDK For C