26#ifndef MYSQL_HARNESS_DESTINATION_INCLUDED
27#define MYSQL_HARNESS_DESTINATION_INCLUDED
29#include "harness_export.h"
33#include <system_error>
45 : hostname_(
std::move(hostname)), port_(
port) {}
57 const std::string &
hostname()
const {
return hostname_; }
58 void hostname(
const std::string &hn) { hostname_ = hn; }
60 uint16_t
port()
const {
return port_; }
61 void port(uint16_t prt) { port_ = prt; }
63 std::string
str()
const;
86 std::string
path()
const {
return path_; }
87 void path(
const std::string &pa) { path_ = pa; }
89 std::string
str()
const;
102 bool is_tcp()
const {
return std::holds_alternative<TcpDestination>(dest_); }
105 std::string
str()
const;
109 return std::get<TcpDestination>(dest_);
114 return std::get<LocalDestination>(dest_);
118 std::variant<TcpDestination, LocalDestination>
dest_;
Definition: destination.h:95
Destination(LocalDestination dest)
Definition: destination.h:98
auto operator<=>(const Destination &) const =default
Destination(TcpDestination dest)
Definition: destination.h:97
LocalDestination & as_local()
Definition: destination.h:112
const LocalDestination & as_local() const
Definition: destination.h:113
std::variant< TcpDestination, LocalDestination > dest_
Definition: destination.h:118
bool is_tcp() const
Definition: destination.h:102
TcpDestination & as_tcp()
Definition: destination.h:107
bool is_local() const
Definition: destination.h:103
const TcpDestination & as_tcp() const
Definition: destination.h:108
Definition: destination.h:70
std::string path() const
Definition: destination.h:86
LocalDestination()=default
LocalDestination(const LocalDestination &)=default
void path(const std::string &pa)
Definition: destination.h:87
~LocalDestination()=default
auto operator<=>(const LocalDestination &) const =default
LocalDestination(LocalDestination &&)=default
LocalDestination & operator=(LocalDestination &&)=default
std::string path_
Definition: destination.h:92
LocalDestination & operator=(const LocalDestination &)=default
LocalDestination(std::string path)
Definition: destination.h:74
Definition: destination.h:40
auto operator<=>(const TcpDestination &) const =default
TcpDestination & operator=(TcpDestination &&)=default
TcpDestination(TcpDestination &&)=default
std::string hostname_
Definition: destination.h:66
TcpDestination & operator=(const TcpDestination &)=default
void port(uint16_t prt)
Definition: destination.h:61
TcpDestination(const TcpDestination &)=default
void hostname(const std::string &hn)
Definition: destination.h:58
~TcpDestination()=default
TcpDestination(std::string hostname, uint16_t port)
Definition: destination.h:44
uint16_t port() const
Definition: destination.h:60
const std::string & hostname() const
Definition: destination.h:57
Definition: expected.h:286
static char * path
Definition: mysqldump.cc:149
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1117
stdx::expected< TcpDestination, std::error_code > HARNESS_EXPORT make_tcp_destination(std::string dest)
create a TcpDestination from a string.
Definition: destination.cc:170
Definition: gcs_xcom_synode.h:64
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33