26#ifndef MYSQLROUTER_METADATA_CACHE_DATATYPES_INCLUDED
27#define MYSQLROUTER_METADATA_CACHE_DATATYPES_INCLUDED
34#include <system_error>
58 :
public std::true_type {};
63 class metadata_category_impl :
public std::error_category {
65 const char *
name()
const noexcept override {
return "metadata cache"; }
66 std::string message(
int ev)
const override {
71 return "no metadata server accessible";
73 return "did not successfully read metadata from any metadata server";
75 return "metadata refresh terminated";
77 return "cluster not found in the metadata";
79 return "unexpected cluster type";
81 return "higher view_id seen";
83 return "metadata schema version not supported";
90 static metadata_category_impl instance;
108 const std::string &p_mysql_server_uuid,
110 const std::string &p_host,
const uint16_t p_port,
111 const uint16_t p_xport, std::string label);
144 bool disconnect_existing_sessions_when_hidden{
151 std::map<std::string, std::string, std::less<>> tags{};
158 std::string
result =
"uuid: " + mysql_server_uuid +
"\n";
189 bool md_discrepancy{
false};
191 bool has_quorum{
true};
194 bool is_primary{
true};
196 bool is_invalidated{
false};
198 bool empty() const noexcept {
return members.empty(); }
200 void clear() noexcept { members.clear(); }
225 std::optional<metadata_cache::metadata_server_t> writable_server{};
230 for (
const auto &cluster : clusters_data) {
232 cluster.members.end());
239 for (
auto &cluster : clusters_data) {
240 cluster.members.clear();
Definition: destination.h:40
static std::string to_string(const LEX_STRING &str)
Definition: lex_string.h:50
const char * host
Definition: mysqladmin.cc:66
InstanceType
Definition: cluster_metadata.h:213
ServerMode
Definition: datatypes.h:50
constexpr const bool kNodeTagDisconnectWhenHiddenDefault
Definition: cluster_metadata.h:211
constexpr const bool kNodeTagHiddenDefault
Definition: cluster_metadata.h:210
Definition: gcs_xcom_synode.h:64
mode
Definition: file_handle.h:61
struct result result
Definition: result.h:34
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
required uint64 version
Definition: replication_group_member_actions.proto:41
case opt name
Definition: sslopt-case.h:29
Definition: datatypes.h:45