CPG_ZCB_MCAST_JOINED(3)
NAME
cpg_mcast_joined - Multicasts a zero copy buffer to all groups joined
to a handle
SYNOPSIS
#include <sys/uio.h> #include <corosync/cpg.h> int cpg_zcb_mcast_joined(cpg_handle_t handle, cpg_gurantee_t guarantee, const void *buffer,int msg_len );
DESCRIPTION
The cpg_zcb_mcast_joined function will multicast a zero copy buffer
message to all the processes that have been joined with the cpg_join(3)
funtion for the same group name. Messages that are sent to any of the
groups joined to the parameter handle will be delivered to all subscribed processes in the system.
- The argument guarantee requests a delivery guarantee for the message to
be sent. The cpg_guarantee_t type is defined by:
- typedef enum {
CPG_TYPE_UNORDERED, /* not implemented */
CPG_TYPE_FIFO, /* same as agreed */
CPG_TYPE_AGREED, /* implemented */
CPG_TYPE_SAFE /* not implemented */ - } cpg_guarantee_t;
- The meanings of the cpg_guarantee_t typedef are:
- CPG_TYPE_UNORDERED
- Messages are guaranteed to be delivered, but with no particular order. This mode is unimplemented in the CPG library.
- CPG_TYPE_FIFO
- Messages are guaranteed to be delivered in first sent first delivery order. In fact, this guarantee is equivalent to the CPG_TYPE_AGREED guarantee.
- CPG_TYPE_AGREED
- All processors must agree on the order of delivery. If a message is sent from two or more processes at about the same time, the delivery will occur in the same order to all processes.
- CPG_TYPE_SAFE
- All processes must agree on the order of delivery. Further all processes must have a copy of the message before any delivery takes place. This mode is unimplemented in the CPG library.
- The msg argument describes the zero copy buffer which is used to transmit a message. this buffer must be allocated by cpg_zcb_alloc(3).
- The msg_len argument describes the number of bytes to be transmitted in the zero copy buffer.
RETURN VALUE
This call returns the CPG_OK value if successful, otherwise an error is
returned.
ERRORS
The errors are undocumented.