25#ifndef MYSQLROUTER_METADATA_CACHE_DATATYPES_INCLUDED
26#define MYSQLROUTER_METADATA_CACHE_DATATYPES_INCLUDED
33#include <system_error>
55 :
public std::true_type {};
60 class metadata_category_impl :
public std::error_category {
62 const char *
name()
const noexcept override {
return "metadata cache"; }
63 std::string message(
int ev)
const override {
68 return "no metadata server accessible";
70 return "did not successfully read metadata from any metadata server";
72 return "metadata refresh terminated";
74 return "cluster not found in the metadata";
76 return "unexpected cluster type";
78 return "highier view_id seen";
85 static metadata_category_impl instance;
103 const std::string &p_mysql_server_uuid,
105 const std::string &p_host,
const uint16_t p_port,
106 const uint16_t p_xport);
165 bool md_discrepancy{
false};
168 bool is_primary{
true};
170 bool is_invalidated{
false};
172 bool empty() const noexcept {
return members.empty(); }
174 void clear() noexcept { members.clear(); }
197 std::optional<metadata_cache::metadata_server_t> writable_server{};
202 for (
const auto &cluster : clusters_data) {
204 cluster.members.end());
211 for (
auto &cluster : clusters_data) {
212 cluster.members.clear();
Defines an IP address with port number
Definition: tcp_address.h:39
static bool ignore
Definition: mysqlimport.cc:69
InstanceType
Definition: cluster_metadata.h:195
Definition: varlen_sort.h:183
mode
Definition: file_handle.h:59
struct result result
Definition: result.h:33
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
case opt name
Definition: sslopt-case.h:32
Definition: datatypes.h:49