![]() |
Hazelcast C++ Client
Hazelcast C++ Client Library
|
Membership event fired when a new member is added to the cluster and/or when a member leaves the cluster. More...
#include <membership_event.h>
Public Types | |
enum | membership_event_type { MEMBER_JOINED = 1 , MEMBER_LEFT = 2 } |
Public Member Functions | |
membership_event (cluster &cluster, const member &m, membership_event_type event_type, const std::unordered_map< boost::uuids::uuid, member, boost::hash< boost::uuids::uuid >> &members_list) | |
Internal API. More... | |
virtual | ~membership_event () |
Destructor. | |
std::unordered_map< boost::uuids::uuid, member, boost::hash< boost::uuids::uuid > > | get_members () const |
Returns a consistent view of the the members exactly after this MembershipEvent has been processed. More... | |
cluster & | get_cluster () |
Returns the cluster of the event. More... | |
membership_event_type | get_event_type () const |
Returns the membership event type; MembershipEvent::MEMBER_JOINED , MembershipEvent::MEMBER_LEFT. More... | |
const member & | get_member () const |
Returns the removed or added member. More... | |
Membership event fired when a new member is added to the cluster and/or when a member leaves the cluster.
Definition at line 38 of file membership_event.h.
hazelcast::client::membership_event::membership_event | ( | cluster & | cluster, |
const member & | m, | ||
membership_event_type | event_type, | ||
const std::unordered_map< boost::uuids::uuid, member, boost::hash< boost::uuids::uuid >> & | members_list | ||
) |
cluster & hazelcast::client::membership_event::get_cluster | ( | ) |
Returns the cluster of the event.
Definition at line 148 of file cluster.cpp.
membership_event::membership_event_type hazelcast::client::membership_event::get_event_type | ( | ) | const |
Returns the membership event type; MembershipEvent::MEMBER_JOINED , MembershipEvent::MEMBER_LEFT.
Definition at line 152 of file cluster.cpp.
const member & hazelcast::client::membership_event::get_member | ( | ) | const |
Returns the removed or added member.
Definition at line 156 of file cluster.cpp.
std::unordered_map< boost::uuids::uuid, member, boost::hash< boost::uuids::uuid > > hazelcast::client::membership_event::get_members | ( | ) | const |
Returns a consistent view of the the members exactly after this MembershipEvent has been processed.
So if a member is removed, the returned vector will not include this member. And if a member is added it will include this member.
The problem with calling the Cluster::getMembers() is that the content could already have changed while processing this event so it becomes very difficult to write a deterministic algorithm since you can't get a deterministic view of the members. This method solves that problem.
The vector is immutable and ordered. For more information see Cluster::getMembers().
Definition at line 144 of file cluster.cpp.