| 
|   | ARMetadataCache (const unsigned router_id, const std::vector< mysql_harness::TCPAddress > &metadata_servers, std::shared_ptr< MetaData > cluster_metadata, const metadata_cache::MetadataCacheTTLConfig &ttl_config, const mysqlrouter::SSLOptions &ssl_options, const mysqlrouter::TargetCluster &target_cluster, const metadata_cache::RouterAttributes &router_attributes, size_t thread_stack_size=mysql_harness::kDefaultStackSizeInKiloBytes) | 
|   | Initialize a connection to the MySQL Metadata server.  More...
  | 
|   | 
| bool  | refresh (bool needs_writable_node) override | 
|   | Refreshes the cache.  More...
  | 
|   | 
| mysqlrouter::ClusterType  | cluster_type () const noexcept override | 
|   | 
|   | MetadataCache (const unsigned router_id, const std::string &clusterset_id, const std::vector< mysql_harness::TCPAddress > &metadata_servers, std::shared_ptr< MetaData > cluster_metadata, const metadata_cache::MetadataCacheTTLConfig &ttl_config, const mysqlrouter::SSLOptions &ssl_options, const mysqlrouter::TargetCluster &target_cluster, const metadata_cache::RouterAttributes &router_attributes, size_t thread_stack_size=mysql_harness::kDefaultStackSizeInKiloBytes, bool use_cluster_notifications=false) | 
|   | Initialize a connection to the MySQL Metadata server.  More...
  | 
|   | 
|   | ~MetadataCache () override | 
|   | 
| void  | start () | 
|   | Starts the Metadata Cache.  More...
  | 
|   | 
| void  | stop () noexcept | 
|   | Stops the Metadata Cache.  More...
  | 
|   | 
| metadata_cache::cluster_nodes_list_t  | get_cluster_nodes () | 
|   | Returns list of managed servers in a cluster.  More...
  | 
|   | 
| metadata_cache::ClusterTopology  | get_cluster_topology () | 
|   | Returns object containing current Cluster Topology.  More...
  | 
|   | 
| bool  | wait_primary_failover (const std::string &server_uuid, const std::chrono::seconds &timeout) | 
|   | Wait until cluster PRIMARY changes.  More...
  | 
|   | 
| void  | refresh_thread () | 
|   | refresh cluster information  More...
  | 
|   | 
| void  | add_state_listener (metadata_cache::ClusterStateListenerInterface *listener) override | 
|   | Register observer that is notified when there is a change in the cluster nodes setup/state discovered.  More...
  | 
|   | 
| void  | remove_state_listener (metadata_cache::ClusterStateListenerInterface *listener) override | 
|   | Unregister observer previously registered with add_state_listener()  More...
  | 
|   | 
| void  | add_acceptor_handler_listener (metadata_cache::AcceptorUpdateHandlerInterface *listener) | 
|   | Register observer that is notified when the state of listening socket acceptors should be updated on the next metadata refresh.  More...
  | 
|   | 
| void  | remove_acceptor_handler_listener (metadata_cache::AcceptorUpdateHandlerInterface *listener) | 
|   | Unregister observer previously registered with add_acceptor_handler_listener()  More...
  | 
|   | 
| void  | add_md_refresh_listener (metadata_cache::MetadataRefreshListenerInterface *listener) | 
|   | Register observer that is notified on each metadata refresh event.  More...
  | 
|   | 
| void  | remove_md_refresh_listener (metadata_cache::MetadataRefreshListenerInterface *listener) | 
|   | Unregister observer previously registered with add_md_refresh_listener()  More...
  | 
|   | 
| metadata_cache::MetadataCacheAPIBase::RefreshStatus  | refresh_status () | 
|   | 
| std::chrono::milliseconds  | ttl () const | 
|   | 
| mysqlrouter::TargetCluster  | target_cluster () const | 
|   | 
| std::vector< mysql_harness::TCPAddress >  | metadata_servers () | 
|   | 
| void  | enable_fetch_auth_metadata () | 
|   | 
| void  | force_cache_update () | 
|   | 
| void  | check_auth_metadata_timers () const | 
|   | 
| std::pair< bool, MetaData::auth_credentials_t::mapped_type >  | get_rest_user_auth_data (const std::string &user) | 
|   | 
| void  | handle_sockets_acceptors_on_md_refresh () | 
|   | Toggle socket acceptors state update on next metadata refresh.  More...
  | 
|   | 
| bool  | fetch_whole_topology () const | 
|   | 
| void  | fetch_whole_topology (bool val) | 
|   | 
|   | ClusterStateNotifierInterface ()=default | 
|   | 
|   | ClusterStateNotifierInterface (const ClusterStateNotifierInterface &)=delete | 
|   | 
| ClusterStateNotifierInterface &  | operator= (const ClusterStateNotifierInterface &)=delete | 
|   | 
| virtual  | ~ClusterStateNotifierInterface () | 
|   |