![]() |
MySQL 8.4.4
Source Code Documentation
|
The metadata class is used to create a pluggable transport layer from which the metadata is fetched for the metadata cache. More...
#include <metadata.h>
Public Types | |
using | JsonAllocator = rapidjson::CrtAllocator |
using | JsonDocument = rapidjson::Document |
using | auth_credentials_t = std::map< std::string, std::pair< std::string, JsonDocument > > |
Public Member Functions | |
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 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 |
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.
using MetaData::auth_credentials_t = std::map<std::string, std::pair<std::string, JsonDocument> > |
using MetaData::JsonAllocator = rapidjson::CrtAllocator |
using MetaData::JsonDocument = rapidjson::Document |
|
default |
|
explicitdelete |
|
virtualdefault |
|
pure virtual |
Implemented in ClusterMetadata.
|
pure virtual |
Implemented in ClusterMetadata.
|
pure virtual |
Implemented in ClusterMetadata, and GRClusterMetadata.
|
pure virtual |
Implemented in ARClusterMetadata, and GRClusterMetadata.
|
pure virtual |
Implemented in ARClusterMetadata, and GRClusterMetadata.
|
pure virtual |
Implemented in ClusterMetadata.
|
pure virtualnoexcept |
Implemented in ClusterMetadata.
|
pure virtual |
Implemented in ARClusterMetadata, and GRClusterMetadata.
|
pure virtual |
Implemented in ARClusterMetadata, and GRClusterMetadata.
|
pure virtual |
Implemented in ClusterMetadata.
|
pure virtual |
Implemented in ClusterMetadata.