20 #include <boost/uuid/uuid.hpp>
22 #include "hazelcast/util/export.h"
23 #include "hazelcast/util/type_traits.h"
24 #include "hazelcast/util/noop.h"
26 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
28 #pragma warning(disable : 4251)
34 class membership_event;
35 class initial_membership_event;
39 class ClientClusterServiceImpl;
59 friend class spi::impl::ClientClusterServiceImpl;
67 template<
typename Handler,
68 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
71 joined_ = std::forward<Handler>(h);
78 template<
typename Handler,
79 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
82 on_joined(std::forward<Handler>(h));
83 return std::move(*
this);
91 template<
typename Handler,
92 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
95 left_ = std::forward<Handler>(h);
102 template<
typename Handler,
103 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
106 on_left(std::forward<Handler>(h));
107 return std::move(*
this);
115 template<
typename Handler,
116 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
119 init_ = std::forward<Handler>(h);
126 template<
typename Handler,
127 typename = util::enable_if_rvalue_ref_trait<Handler&&>>
130 on_init(std::forward<Handler>(h));
131 return std::move(*
this);
138 handler_t left_{ util::noop<const membership_event&> },
139 joined_{ util::noop<const membership_event&> };
140 init_handler_t init_{};
145 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
Hazelcast cluster interface.
A event that is sent when a MembershipListener is registered.
Membership event fired when a new member is added to the cluster and/or when a member leaves the clus...
Cluster membership listener.
membership_listener && on_init(Handler &&h) &&
Set an handler function to be invoked once when this listener is registered.
membership_listener & on_left(Handler &&h) &
Set an handler function to be invoked when an existing member leaves the cluster.
membership_listener && on_left(Handler &&h) &&
Set an handler function to be invoked when an existing member leaves the cluster.
membership_listener & on_joined(Handler &&h) &
Set an handler function to be invoked when a new member joins the cluster.
membership_listener && on_joined(Handler &&h) &&
Set an handler function to be invoked when a new member joins the cluster.
membership_listener & on_init(Handler &&h) &
Set an handler function to be invoked once when this listener is registered.