25#ifndef ROUTER_CLUSTER_METADATA_INCLUDED
26#define ROUTER_CLUSTER_METADATA_INCLUDED
86 const uint32_t router_id,
const std::string &hostname_override =
"") = 0;
102 const std::string &router_name,
const bool overwrite,
103 const std::string &hostname_override =
"") = 0;
106 const uint32_t router_id,
const std::string &cluster_id,
107 const std::string &target_cluster,
const std::string &rw_endpoint,
108 const std::string &ro_endpoint,
const std::string &rw_split_endpoint,
109 const std::string &rw_x_endpoint,
const std::string &ro_x_endpoint,
110 const std::string &username) = 0;
147 const std::string &new_accounts)
const = 0;
149 virtual std::vector<std::tuple<std::string, unsigned long>>
155 const std::string & ) {
211 const uint32_t router_id,
212 const std::string &hostname_override =
"")
override;
215 const uint32_t router_id,
const std::string &cluster_id,
216 const std::string &target_cluster,
const std::string &rw_endpoint,
217 const std::string &ro_endpoint,
const std::string &rw_split_endpoint,
218 const std::string &rw_x_endpoint,
const std::string &ro_x_endpoint,
219 const std::string &username)
override;
221 uint32_t
register_router(
const std::string &router_name,
const bool overwrite,
222 const std::string &hostname_override =
"")
override;
225 const std::string &new_accounts)
const override;
252 uint32_t router_id,
const std::string &hostname_override =
"")
override;
255 const uint32_t router_id,
const std::string &cluster_id,
256 const std::string &target_cluster,
const std::string &rw_endpoint,
257 const std::string &ro_endpoint,
const std::string &rw_split_endpoint,
258 const std::string &rw_x_endpoint,
const std::string &ro_x_endpoint,
259 const std::string &username)
override;
261 uint32_t
register_router(
const std::string &router_name,
const bool overwrite,
262 const std::string &hostname_override =
"")
override;
265 const std::string &new_accounts)
const override;
303 uint64_t
get_view_id(
const std::string &cluster_type_specific_id)
override;
306 const uint32_t router_id,
const std::string &cluster_id,
307 const std::string &target_cluster,
const std::string &rw_endpoint,
308 const std::string &ro_endpoint,
const std::string &rw_split_endpoint,
309 const std::string &rw_x_endpoint,
const std::string &ro_x_endpoint,
310 const std::string &username)
override;
344 const std::string & )
override;
349 uint32_t router_id,
const std::string &hostname_override =
"")
override;
352 const uint32_t router_id,
const std::string &cluster_id,
353 const std::string &target_cluster,
const std::string &rw_endpoint,
354 const std::string &ro_endpoint,
const std::string &rw_split_endpoint,
355 const std::string &rw_x_endpoint,
const std::string &ro_x_endpoint,
356 const std::string &username)
override;
358 uint32_t
register_router(
const std::string &router_name,
const bool overwrite,
359 const std::string &hostname_override =
"")
override;
362 const std::string &new_accounts)
const override;
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:152
Definition: instrumented_condition_variable.h:31
std::unique_ptr< ClusterMetadata > create_metadata(const MetadataSchemaVersion &schema_version, MySQLSession *mysql, const OptionsMap &options, mysql_harness::SocketOperationsBase *sockops)
Definition: cluster_metadata.cc:1276
ClusterType
Definition: cluster_metadata.h:141
InstanceType
Definition: cluster_metadata.h:201
std::map< std::string, std::string > OptionsMap
Definition: cluster_metadata.h:56
Definition: options.cc:56
#define ROUTER_LIB_EXPORT
Definition: router_export.h:15
Definition: cluster_metadata.h:39
bool is_primary
Definition: cluster_metadata.h:48
std::string get_cluster_type_specific_id() const
Definition: cluster_metadata.h:50
std::string cluster_type_specific_id
Definition: cluster_metadata.h:43
std::string cluster_id
Definition: cluster_metadata.h:41
std::vector< std::string > metadata_servers
Definition: cluster_metadata.h:40
std::string name
Definition: cluster_metadata.h:45