Hazelcast C++ Client
Hazelcast C++ Client Library
Loading...
Searching...
No Matches
membership_event.h
1/*
2 * Copyright (c) 2008-2025, Hazelcast, Inc. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#pragma once
18
19#include "hazelcast/client/member.h"
20
21#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
22#pragma warning(push)
23#pragma warning(disable : 4251) // for dll export
24#endif
25
26namespace hazelcast {
27namespace client {
28
29class cluster;
30
37class HAZELCAST_API membership_event
38{
39public:
40 enum membership_event_type
41 {
42 MEMBER_JOINED = 1,
43 MEMBER_LEFT = 2,
44 };
45
52 const member& m,
53 membership_event_type event_type,
54 const std::unordered_map<boost::uuids::uuid,
55 member,
56 boost::hash<boost::uuids::uuid>>& members_list);
57
62
79 std::
80 unordered_map<boost::uuids::uuid, member, boost::hash<boost::uuids::uuid>>
81 get_members() const;
82
89
96 membership_event_type get_event_type() const;
97
103 const member& get_member() const;
104
105private:
106 cluster& cluster_;
107 member member_;
108 membership_event_type event_type_;
109 std::
110 unordered_map<boost::uuids::uuid, member, boost::hash<boost::uuids::uuid>>
111 members_;
112};
113} // namespace client
114} // namespace hazelcast
115
116#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
117#pragma warning(pop)
118#endif
Hazelcast cluster interface.
Definition cluster.h:37
hz_cluster member class.
Definition member.h:62
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.
Definition cluster.cpp:203
cluster & get_cluster()
Returns the cluster of the event.
Definition cluster.cpp:209
virtual ~membership_event()
Destructor.
membership_event_type get_event_type() const
Returns the membership event type; MembershipEvent::MEMBER_JOINED , MembershipEvent::MEMBER_LEFT.
Definition cluster.cpp:215
const member & get_member() const
Returns the removed or added member.
Definition cluster.cpp:221
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.
Definition cluster.cpp:187