26#ifndef MYSQLROUTER_DESTINATION_INCLUDED
27#define MYSQLROUTER_DESTINATION_INCLUDED
32#include <system_error>
48 std::string routing_guidelines_route_name,
49 const std::optional<bool> connection_sharing_allowed = std::nullopt)
50 : dest_(
std::move(dest)), server_info_(
std::move(server_info)) {
51 guidelines_route_info_.route_name =
52 std::move(routing_guidelines_route_name);
53 guidelines_route_info_.connection_sharing_allowed =
54 connection_sharing_allowed;
76 const std::string &
server_uuid()
const {
return server_info_.uuid; }
91 return guidelines_route_info_.route_name;
100 guidelines_route_info_.route_name = std::move(
name);
111 return guidelines_route_info_;
118 guidelines_route_info_.connection_sharing_allowed =
false;
122 std::optional<mysql_harness::Destination>
dest_;
Destination to forward client connections to.
Definition: destination.h:43
Destination(const Destination &)=default
const std::string & route_name() const
Get name of the route that was used to reach this destination.
Definition: destination.h:90
std::optional< mysql_harness::Destination > dest_
Definition: destination.h:122
Destination(Destination &&)=default
virtual ~Destination()=default
void disable_connection_sharing()
Disable connection sharing if sharing prerequisites cannot be met.
Definition: destination.h:117
Destination(mysql_harness::Destination dest, routing_guidelines::Server_info server_info, std::string routing_guidelines_route_name, const std::optional< bool > connection_sharing_allowed=std::nullopt)
Definition: destination.h:45
Guidelines_route_info guidelines_route_info_
Definition: destination.h:124
const Guidelines_route_info & guidelines_route_info() const
Definition: destination.h:110
const mysql_harness::Destination & destination() const
Definition: destination.h:69
Destination & operator=(Destination &&)=default
Destination & operator=(const Destination &)=default
const std::string & server_uuid() const
Get server UUID.
Definition: destination.h:76
const routing_guidelines::Server_info & get_server_info() const
Get server information.
Definition: destination.h:81
void set_route_name(std::string name)
Set name of the route that was used to reach this destination.
Definition: destination.h:99
Definition: destination.h:95
ServerMode
Definition: datatypes.h:50
Definition: gcs_xcom_synode.h:64
#define ROUTING_EXPORT
Definition: routing_export.h:15
case opt name
Definition: sslopt-case.h:29
Definition: destination.h:64
std::string route_name
Definition: destination.h:66
std::optional< bool > connection_sharing_allowed
Definition: destination.h:65
Information about one server destination.
Definition: routing_guidelines.h:80