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>()>;
82 register_allowed_nodes_change_callback(
91 void unregister_allowed_nodes_change_callback(
100 void register_refresh_router_socket_acceptor_state(
107 void unregister_refresh_router_socket_acceptor_state();
120 void unregister_md_refresh_callback();
128 void register_query_quarantined_destinations(
135 void unregister_query_quarantined_destinations();
142 virtual bool is_dynamic();
143 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:70
MetadataRefreshCallback md_refresh_callback_
Definition: destination_nodes_state_notifier.h:147
RefreshSocketAcceptorStateCallback refresh_router_socket_acceptor_state_callback_
Definition: destination_nodes_state_notifier.h:149
std::mutex socket_acceptor_handle_callbacks_mtx
Definition: destination_nodes_state_notifier.h:153
QueryQuarantinedDestinationsCallback query_quarantined_destinations_callback_
Definition: destination_nodes_state_notifier.h:150
AllowedNodesChangeCallbacksList allowed_nodes_change_callbacks_
Definition: destination_nodes_state_notifier.h:146
std::mutex md_refresh_callback_mtx_
Definition: destination_nodes_state_notifier.h:152
std::mutex allowed_nodes_change_callbacks_mtx_
Definition: destination_nodes_state_notifier.h:151
std::mutex query_quarantined_destinations_callback_mtx_
Definition: destination_nodes_state_notifier.h:154
virtual ~DestinationNodesStateNotifier()=default
Definition: destination.h:95
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:63
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:59
std::function< stdx::expected< void, std::string >()> RefreshSocketAcceptorStateCallback
Definition: destination_nodes_state_notifier.h:54
std::vector< AvailableDestination > AllowedNodes
Definition: destination_status_types.h:60
#define ROUTING_EXPORT
Definition: routing_export.h:15