SYNOPSIS

#include <corosync/evs.h>

int evs_join(evs_handle_t handle, evs_group_t *groups, int group_entries);

DESCRIPTION

The evs_join function is used to join one or more groups. When a group is joined, using the evs_mcast_joined(3) function will multicast to the groups joined in the argument handle. Messages that are sent to any of the groups joined to the parameter handle will be delivered by evs_dispatch(3).

This call may be used more then once on a handle, in which case the joined groups will be all of the groups passed to the evs_join(3) function during the lifecycle of the parameter handle.

The argument groups is used to specify the groups to join. A group is a 32 byte key. The key is not a string, hence, the entire key is used when joining the channel. For that reason the entire group should be initialized.

The argument group_entries specifies how many entries are located in the groups argument.

The groups argument is of the type evs_group_t which is defined by the structure:

  • typedef struct {
            char key[32];
    } evs_groups_t;
    

RETURN VALUE

This call returns the EVS_OK value if successful, otherwise an error is returned.

ERRORS

The errors are undocumented.

RELATED TO evs_join…