Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

evs_mcast_groups(3) [debian man page]

EVS_MCAST_GROUPS(3)				    Corosync Cluster Engine Programmer's Manual 			       EVS_MCAST_GROUPS(3)

NAME
evs_join - Multicast a message to selected groups SYNOPSIS
#include <sys/uio.h> #include <corosync/evs.h> int evs_mcast_groups(evs_handle_t handle, evs_guraantee_t guarantee, evs_group_t *groups, int group_entries, struct iovec *iovec, int iov_len); DESCRIPTION
The evs_mcast_groups(3) function multicasts a message to all the groups specified in the arguemnt groups. Messages are delivered to all processors in the system that are described by the current configuration. The argument handle describes a handle created with evs_initialize(3). The argument guarantee requests a delivery guarantee for the message to be sent. The evs_guarantee_t type is defined by: typedef enum { EVS_TYPE_UNORDERED, /* not implemented */ EVS_TYPE_FIFO, /* same as agreed */ EVS_TYPE_AGREED, /* implemented */ EVS_TYPE_SAFE /* not implemented */ } evs_guarantee_t; The meanings of the evs_guarantee_t typedef are: EVS_GUARANTEE_UNORDERED Messages are guaranteed to be delivered, but with no particular order. This mode is unimplemented in the EVS library. EVS_GUARANTEE_FIFO Messages are guaranteed to be delivered in first sent first delivery order from one one. In fact, this guarantee is actually the AGREED guarantee. EVS_GUARANTEE_AGREED All processors must agree on the order of delivery. If a message is sent from two or more processors at about the same time, the delivery will occur in the same order to all processors. EVS_GUARANTEE_SAFE All processors must agree on the order of delivery. Further all processors must have a copy of the message before any delivery takes place. This mode is unimplemented in the EVS library. The groups argument is of the type evs_group_t which is defined by the structure: typedef struct { char key[32]; } evs_groups_t; The group_entries argument describes the number of entries in the group argument. The iovec argument describes the scatter/gather list which is used to transmit a message. This is a standard socket structure described by: struct iovec { void *iov_base; /* Pointer to data. */ unsigned int iov_len; /* Length of data. */ }; The iovlen argument describes the number of entires in the iovec argument. RETURN VALUE
This call returns the EVS_OK value if successful, otherwise an error is returned. ERRORS
The errors are undocumented. SEE ALSO
evs_overview(8), evs_initialize(3), evs_finalize(3), evs_fd_get(3), evs_dispatch(3), evs_leave(3), evs_join(3), evs_mcast_joined(3), evs_mmembership_get(3) evs_context_get(3) evs_context_set(3) corosync Man Page 2004-08-31 EVS_MCAST_GROUPS(3)

Check Out this Related Man Page

EVS_INITIALIZE(3)				    Corosync Cluster Engine Programmer's Manual 				 EVS_INITIALIZE(3)

NAME
evs_initialize - Create a new connection to the EVS service SYNOPSIS
#include <corosync/evs.h> int evs_initialize(evs_handle_t *handle, evs_callbacks_t *callbacks); DESCRIPTION
The evs_initialize function is used to initialize a connection to the extended virtual synchrony API. Each application may have several connections to the EVS API. Each application uses the handle argument to uniquely identify the connec- tion. The handle argument is then used in other function calls to identify the connection to be used for communication with the EVS ser- vice. Every time an EVS event occurs, one of the callbacks specified by the argument callbacks is called. The callback functions are described by the following type definitions: typedef void (*evs_deliver_fn_t) ( unsigned int nodeid, const void *msg, size_t msg_len); typedef void (*evs_confchg_fn_t) ( unsigned int *member_list, size_t member_list_entries, unsigned int *left_list, size_t left_list_entries, unsigned int *joined_list, size_t joined_list_entries); The callbacks argument is of the type: typedef struct { evs_deliver_fn_t evs_deliver_fn; evs_confchg_fn_t evs_confchg_fn; } evs_callbacks_t; When a configuration change occurs or a message is to be delivered one of the callbacks is called from the evs_dispatch() function. If a configuration change occurs, evs_confchg_fn is called. If a delivery of a message occurs, evs_deliver_fn is called. RETURN VALUE
This call returns the EVS_OK value if successful, otherwise an error is returned. ERRORS
The errors are undocumented. SEE ALSO
evs_overview(8), evs_finalize(3), evs_fd_get(3), evs_dispatch(3), evs_join(3), evs_leave(3), evs_mcast_joined(3), evs_mcast_groups(3), evs_mmembership_get(3) evs_context_get(3) evs_context_set(3) corosync Man Page 2004-08-31 EVS_INITIALIZE(3)
Man Page