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, bool whole_topology, std::size_t &instance_id)=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 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 mysqlrouter::TargetCluster &target_cluster)=0 |
|
virtual std::optional< std::chrono::seconds > | get_periodic_stats_update_frequency () noexcept=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.