20 #include "hazelcast/client/exception/iexception.h"
21 #include "hazelcast/util/noop.h"
22 #include "hazelcast/util/type_traits.h"
24 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
26 #pragma warning(disable: 4251)
82 template<
typename Handler,
83 typename = util::enable_if_rvalue_ref_t<Handler &&>>
85 received_ = std::move(h);
92 template<
typename Handler,
93 typename = util::enable_if_rvalue_ref_t<Handler &&>>
95 on_received(std::move(h));
96 return std::move(*
this);
106 template<
typename Handler,
107 typename = util::enable_if_rvalue_ref_t<Handler &&>>
109 store_sequence_id_ = std::move(h);
116 template<
typename Handler,
117 typename = util::enable_if_rvalue_ref_t<Handler &&>>
119 on_store_sequence_id(std::move(h));
120 return std::move(*
this);
130 template<
typename Handler,
131 typename = util::enable_if_rvalue_ref_t<Handler &&>>
133 terminal_ = std::move(h);
140 template<
typename Handler,
141 typename = util::enable_if_rvalue_ref_t<Handler &&>>
143 terminate_on_exception(std::move(h));
144 return std::move(*
this);
148 using received_handler_t = std::function<void(
message &&)>;
149 using store_sequence_id_handler_t = std::function<void(int64_t)>;
153 int64_t initial_sequence_id_;
155 received_handler_t received_{ util::noop<message &&> };
156 store_sequence_id_handler_t store_sequence_id_ { util::noop<int64_t> };
157 exception_handler_t terminal_{
158 [](
const exception::iexception &){
168 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
Base class for all exception originated from Hazelcast methods.
Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subs...
Listen to messages from a reliable_topic.
reliable_listener & terminate_on_exception(Handler &&h) &
Set an handler function that checks if the listener should be terminated based on an exception thrown...
reliable_listener && terminate_on_exception(Handler &&h) &&
Set an handler function that checks if the listener should be terminated based on an exception thrown...
reliable_listener && on_store_sequence_id(Handler &&h) &&
reliable_listener & on_store_sequence_id(Handler &&h) &
Set an handler function to be invoked to informs the listener that it should store the sequence.
reliable_listener && on_received(Handler &&h) &&
Set an handler function to be invoked when a message is received for the added topic.
reliable_listener & on_received(Handler &&h) &
Set an handler function to be invoked when a message is received for the added topic.