Man Linux: Main Page and Category List


       cpg_mcast_joined - Multicasts to all groups joined to a handle


       #include <sys/uio.h> #include <openais/cpg.h>

       int  cpg_mcast_joined(cpg_handle_t  handle,  cpg_gurantee_t  guarantee,
       struct iovec *iovec, int iov_len);


       The cpg_mcast_joined function will  multicast  a  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_gaurantee_t typedef are:

              Messages  are guaranteed to be delivered, but with no particular
              order.  This mode is unimplemented in the CPG library.

              Messages are guaranteed to be  delivered  in  first  sent  first
              delivery  order.   In  fact, this guarantee is equivalent to the
              CPG_TYPE_AGREED guarantee.

              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

              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 CPG library.

       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.  */
                      size_t iov_len;     /* Length of data.  */

       The iov_len argument describes the  number  of  entires  in  the  iovec


       This call returns the CPG_OK value if successful, otherwise an error is


       The errors are undocumented.


       cpg_overview(8),  cpg_initialize(3),  cpg_finalize(3),   cpg_fd_get(3),
       cpg_dispatch(3), cpg_leave(3), cpg_join(3), cpg_membership_get(3)