evs_join

Langue: en

Version: 2004-08-31 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

evs_join - Joins one or more groups in the EVS library

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.

SEE ALSO

evs_overview(8), evs_initialize(3), evs_finalize(3), evs_fd_get(3), evs_dispatch(3), evs_leave(3), evs_mcast_joined(3), evs_mcast_groups(3), evs_mmembership_get(3) evs_context_get(3) evs_context_set(3)