NAME
cpg_join - Joins one or more groups in the CPG library
SYNOPSIS
#include <corosync/cpg.h>
int cpg_join(cpg_handle_t handle, struct cpg_name *group);
DESCRIPTION
The cpg_join function is used to join one group. When a group is joined, the cpg_mcast_joined(3) is called internally to multicast to the groups joined in the argument handle. The process will also get notifications of other processes joining and leaving the group. Messages that are sent to any of the groups joined to the parameter handle will be delivered by cpg_dispatch(3).
This function may be only be called once for each handle. When a group has been joined the process will start to receive callbacks relating to messages sent from members of the group or notifications of processes joining or leaving the group.
Note that more than one process on each node can join a CPG group and each will receive its own copy of any messages sent using cpg_mcast_joined() and its own confchg callback.
The argument group is used to specify the group to join.
The groups argument is of the type struct cpg_name which is defined by the structure:
struct cpg_name
{
int length;
char value[128];
};
RETURN VALUE
This call returns the CS_OK value if successful, CS_ERR_INVALID_PARAM if the handle is already joined to a group.
ERRORS
Not all errors are documented.
SEE ALSO
cpg_overview(3), cpg_initialize(3), cpg_finalize(3), cpg_fd_get(3), cpg_dispatch(3), cpg_join(3), cpg_leave(3), cpg_mcast_joined(3), cpg_membership_get(3) cpg_zcb_alloc(3) cpg_zcb_free(3) cpg_zcb_mcast_joined(3) cpg_context_get(3) cpg_context_set(3) cpg_local_get(3)
CS_ERR_TRY_AGAIN Resource temporarily unavailable
CS_ERR_INVALID_PARAM Invalid argument
CS_ERR_ACCESS Permission denied
CS_ERR_LIBRARY The connection failed
CS_ERR_INTERRUPT System call interrupted by a signal
CS_ERR_NOT_SUPPORTED The requested protocol/functionality not supported
CS_ERR_MESSAGE_ERROR Incorrect auth message received
CS_ERR_NO_MEMORY Not enough memory to complete the requested task