25#ifndef ROUTER_CLUSTER_METADATA_INCLUDED
26#define ROUTER_CLUSTER_METADATA_INCLUDED
84 const uint32_t router_id,
const std::string &hostname_override =
"") = 0;
100 const std::string &router_name,
const bool overwrite,
101 const std::string &hostname_override =
"") = 0;
104 const uint32_t router_id,
const std::string &cluster_id,
105 const std::string &target_cluster,
const std::string &rw_endpoint,
106 const std::string &ro_endpoint,
const std::string &rw_x_endpoint,
107 const std::string &ro_x_endpoint,
const std::string &username) = 0;
110 const std::string &cluster_name) = 0;
143 const std::string &new_accounts)
const = 0;
145 virtual std::vector<std::tuple<std::string, unsigned long>>
151 const std::string & ) {
200 const std::string &cluster_name)
override;
203 const uint32_t router_id,
204 const std::string &hostname_override =
"")
override;
207 const uint32_t router_id,
const std::string &cluster_id,
208 const std::string &target_cluster,
const std::string &rw_endpoint,
209 const std::string &ro_endpoint,
const std::string &rw_x_endpoint,
210 const std::string &ro_x_endpoint,
const std::string &username)
override;
212 uint32_t
register_router(
const std::string &router_name,
const bool overwrite,
213 const std::string &hostname_override =
"")
override;
216 const std::string &new_accounts)
const override;
239 const std::string &cluster_name)
override;
242 uint32_t router_id,
const std::string &hostname_override =
"")
override;
245 const uint32_t router_id,
const std::string &cluster_id,
246 const std::string &target_cluster,
const std::string &rw_endpoint,
247 const std::string &ro_endpoint,
const std::string &rw_x_endpoint,
248 const std::string &ro_x_endpoint,
const std::string &username)
override;
250 uint32_t
register_router(
const std::string &router_name,
const bool overwrite,
251 const std::string &hostname_override =
"")
override;
254 const std::string &new_accounts)
const override;
292 uint64_t
get_view_id(
const std::string &cluster_type_specific_id)
override;
295 const uint32_t router_id,
const std::string &cluster_id,
296 const std::string &target_cluster,
const std::string &rw_endpoint,
297 const std::string &ro_endpoint,
const std::string &rw_x_endpoint,
298 const std::string &ro_x_endpoint,
const std::string &username)
override;
328 const std::string & )
override;
331 const std::string &cluster_name)
override;
334 uint32_t router_id,
const std::string &hostname_override =
"")
override;
337 const uint32_t router_id,
const std::string &cluster_id,
338 const std::string &target_cluster,
const std::string &rw_endpoint,
339 const std::string &ro_endpoint,
const std::string &rw_x_endpoint,
340 const std::string &ro_x_endpoint,
const std::string &username)
override;
342 uint32_t
register_router(
const std::string &router_name,
const bool overwrite,
343 const std::string &hostname_override =
"")
override;
346 const std::string &new_accounts)
const override;
356 const MetadataSchemaVersion &schema_version, MySQLSession *
mysql,
Base class to allow multiple SocketOperations implementations (at least one "real" and one mock for t...
Definition: socket_operations.h:44
static SocketOperations * instance()
Definition: socket_operations.cc:41
Definition: mysql_session.h:154
static MYSQL mysql
Definition: mysql.cc:153
ClusterType
Definition: cluster_metadata.h:128
std::unique_ptr< ClusterMetadata > create_metadata(const MetadataSchemaVersion &schema_version, MySQLSession *mysql, const OptionsMap &options, mysql_harness::SocketOperationsBase *sockops)
Definition: cluster_metadata.cc:1184
std::map< std::string, std::string > OptionsMap
Definition: cluster_metadata.h:54
Definition: options.cc:48
Definition: cluster_metadata.h:37
bool is_primary
Definition: cluster_metadata.h:46
std::string get_cluster_type_specific_id() const
Definition: cluster_metadata.h:48
std::string cluster_type_specific_id
Definition: cluster_metadata.h:41
std::string cluster_id
Definition: cluster_metadata.h:39
std::vector< std::string > metadata_servers
Definition: cluster_metadata.h:38
std::string name
Definition: cluster_metadata.h:43