The metadata class is used to create a pluggable transport layer from which the metadata is fetched for the metadata cache.  
 More...
 | 
| virtual stdx::expected< metadata_cache::ClusterTopology, std::error_code >  | fetch_cluster_topology (const std::atomic< bool > &terminated, mysqlrouter::TargetCluster &target_cluster, const unsigned router_id, const metadata_cache::metadata_servers_list_t &metadata_servers, bool needs_writable_node, const std::string &clusterset_id, std::size_t &instance_id, std::string &routing_guidelines)=0 | 
|   | 
| virtual bool  | update_router_attributes (const metadata_cache::metadata_server_t &rw_server, const unsigned router_id, const metadata_cache::RouterAttributes &router_attributes)=0 | 
|   | 
| virtual bool  | update_router_last_check_in (const metadata_cache::metadata_server_t &rw_server, const unsigned router_id)=0 | 
|   | 
| virtual void  | report_guideline_name (const std::string &guideline_name, const metadata_cache::metadata_server_t &rw_server, const unsigned router_id)=0 | 
|   | 
| virtual bool  | connect_and_setup_session (const metadata_cache::metadata_server_t &metadata_server)=0 | 
|   | 
| virtual void  | disconnect ()=0 | 
|   | 
| virtual void  | setup_notifications_listener (const metadata_cache::ClusterTopology &cluster_topology, const std::function< void()> &callback)=0 | 
|   | 
| virtual void  | shutdown_notifications_listener ()=0 | 
|   | 
| virtual std::shared_ptr< mysqlrouter::MySQLSession >  | get_connection ()=0 | 
|   | 
| virtual mysqlrouter::ClusterType  | get_cluster_type ()=0 | 
|   | 
| virtual auth_credentials_t  | fetch_auth_credentials (const metadata_cache::metadata_server_t &md_server, const mysqlrouter::TargetCluster &target_cluster)=0 | 
|   | 
| virtual std::optional< std::chrono::seconds >  | get_periodic_stats_update_frequency () noexcept=0 | 
|   | 
| virtual std::optional< routing_guidelines::Router_info >  | fetch_router_info (const uint16_t router_id)=0 | 
|   | 
| virtual stdx::expected< std::string, std::error_code >  | fetch_routing_guidelines_document (const uint16_t router_id)=0 | 
|   | 
|   | MetaData ()=default | 
|   | 
|   | MetaData (const MetaData &)=delete | 
|   | 
| MetaData &  | operator= (const MetaData &)=delete | 
|   | 
| virtual  | ~MetaData ()=default | 
|   | 
The metadata class is used to create a pluggable transport layer from which the metadata is fetched for the metadata cache.