ssg_group_observe()/ssg_group_unobserve() have been removed and replaced with ssg_group_refresh()
this function may be repeatedly called by non-group members to obtain updated group views from group members
group members do not need to use this call, as their views are automatically managed by the SWIM protocol
ssg_init() can no longer be called before margo_init(), a capability we originally added to allow users to extract key group info before initializing Margo. New helper functions have been added to support these use cases:
ssg_get_group_cred_from_buf()/ssg_get_group_cred_from_file() to retrieve a group credential from a group file or buffer, before initializing SSG
ssg_get_group_transport_from_buf()/ssg_get_group_transport_from_file() to retrieve the group transport protocol from a group file or buffer, before initializing SSG
ssg_group_id_get_cred() and ssg_group_id_get_addr_str() functions have been removed
The former is replaced by the credential helper function mentioned above
The latter is replaced by new function ssg_get_group_member_addr_str()
ssg_group_join_target(), ssg_group_leave_target(), and ssg_group_refresh_target() all expect input in form of a Mercury address now, rather than an address string
There was also a considerable refactoring of internal SSG locking code that likely fixed some odd bugs races in prior SSG versions.
A summary of changes include:
There was also a considerable refactoring of internal SSG locking code that likely fixed some odd bugs races in prior SSG versions.