Man Linux: Main Page and Category List

NAME

       evs_join - Multicasts to all groups joined to an handle

SYNOPSIS

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

       int  evs_mcast_joined(evs_handle_t  handle,  evs_guraantee_t guarantee,
       struct iovec *iovec, int iov_len);

DESCRIPTION

       The evs_mcast_joined function is multicast a message to all the  groups
       that  have  been  joined with the evs_join(3) function for the argument
       handle.  Messages that are sent to any of  the  groups  joined  to  the
       parameter handle will be delivered to all processors in the system.

       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_gaurantee_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 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  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_groups(3),
       evs_mmembership_get(3)