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 CPG_OK value if successful, CPG_ERR_INVALID_PARAM if the
handle is already joined to a group.
ERRORS¶
Not all errors are documented.
SEE ALSO¶
cpg_overview(8),
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)