Has there been any consideration to allowing some opaque user data to
be registered on joining a group that is then provided to all members
registered for membership change notifications?
For example:
cpg_join(handle, &group_name, void *buf, size_t len)
cpg_membership_get, and cpg_model_v1_data_t.cpg_confchg_fn and
cpg_totem_confchg_fn would both carry cpg_address
The cpg_address would require a corresponding change to carry the
additional application specific data.
struct cpg_address {
uint32_t nodeid;
uint32_t pid;
uint32_t reason;
size_t len;
void *buf;
};
Since this arbitrary length of data may have too much of an impact,
even a small amount would be more helpful then none:
struct cpg_address {
uint32_t nodeid;
uint32_t pid;
uint32_t reason;
uint32_t udata;
};
An example of how this would be helpful is to allow some members of
the group to join for listening purposes only such as a performance
monitor or tcpdump/wireshark like application dropping onto the group
in promiscuous read only mode. The applications using the group could
then filter out group members by the application data settings based
on the permissions values. This could be achieved by setting some key
values on join that indicating capability (R_RDONLY vs O_RDWR), which
could be achived with a uint32_t). The requirement, however, is that
the data set by the application on the join be passed and available to
other other nodes.
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais