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