26#ifndef ROUTER_SRC_ROUTING_INCLUDE_MYSQLROUTER_DESTINATION_NODES_STATE_NOTIFIER_H_
27#define ROUTER_SRC_ROUTING_INCLUDE_MYSQLROUTER_DESTINATION_NODES_STATE_NOTIFIER_H_
45 const std::string &)>;
51 AllowedNodesChangeCallbacksList::iterator;
54 std::function<stdx::expected<void, std::string>()>;
83 register_allowed_nodes_change_callback(
92 void unregister_allowed_nodes_change_callback(
101 void register_start_router_socket_acceptor(
108 void unregister_start_router_socket_acceptor();
116 void register_stop_router_socket_acceptor(
123 void unregister_stop_router_socket_acceptor();
136 void unregister_md_refresh_callback();
144 void register_query_quarantined_destinations(
151 void unregister_query_quarantined_destinations();
158 virtual bool is_dynamic();
159 virtual std::string get_dynamic_plugin_name();
Allows the obervers to register for notifications on the change in the state of the destination nodes...
Definition: destination_nodes_state_notifier.h:71
StartSocketAcceptorCallback start_router_socket_acceptor_callback_
Definition: destination_nodes_state_notifier.h:164
MetadataRefreshCallback md_refresh_callback_
Definition: destination_nodes_state_notifier.h:163
StopSocketAcceptorCallback stop_router_socket_acceptor_callback_
Definition: destination_nodes_state_notifier.h:165
std::mutex socket_acceptor_handle_callbacks_mtx
Definition: destination_nodes_state_notifier.h:169
QueryQuarantinedDestinationsCallback query_quarantined_destinations_callback_
Definition: destination_nodes_state_notifier.h:166
AllowedNodesChangeCallbacksList allowed_nodes_change_callbacks_
Definition: destination_nodes_state_notifier.h:162
std::mutex md_refresh_callback_mtx_
Definition: destination_nodes_state_notifier.h:168
std::mutex allowed_nodes_change_callbacks_mtx_
Definition: destination_nodes_state_notifier.h:167
std::mutex query_quarantined_destinations_callback_mtx_
Definition: destination_nodes_state_notifier.h:170
virtual ~DestinationNodesStateNotifier()=default
Definition: destination.h:95
std::function< void()> StopSocketAcceptorCallback
Definition: destination_nodes_state_notifier.h:55
std::function< stdx::expected< void, std::string >()> StartSocketAcceptorCallback
Definition: destination_nodes_state_notifier.h:54
std::function< void(const AllowedNodes &, const AllowedNodes &, const bool, const std::string &)> AllowedNodesChangedCallback
Definition: destination_nodes_state_notifier.h:45
AllowedNodesChangeCallbacksList::iterator AllowedNodesChangeCallbacksListIterator
Definition: destination_nodes_state_notifier.h:51
std::function< bool(const mysql_harness::Destination &)> QueryQuarantinedDestinationsCallback
Definition: destination_nodes_state_notifier.h:64
std::list< AllowedNodesChangedCallback > AllowedNodesChangeCallbacksList
Definition: destination_nodes_state_notifier.h:49
std::function< void(const bool, const AllowedNodes &)> MetadataRefreshCallback
Definition: destination_nodes_state_notifier.h:60
std::vector< AvailableDestination > AllowedNodes
Definition: destination_status_types.h:62
#define ROUTING_EXPORT
Definition: routing_export.h:15