MySQL 8.0.29
Source Code Documentation
RoutingPluginConfig Class Reference

route specific configuration. More...

#include <plugin_config.h>

Inheritance diagram for RoutingPluginConfig:
[legend]

Public Member Functions

 RoutingPluginConfig (const mysql_harness::ConfigSection *section)
 Constructor. More...
 
std::string get_default (const std::string &option) const override
 Gets the default for the given option. More...
 
bool is_required (const std::string &option) const override
 Returns whether the given option is required. More...
 
uint16_t get_option_max_connections (const mysql_harness::ConfigSection *section)
 
- Public Member Functions inherited from mysql_harness::BasePluginConfig
virtual ~BasePluginConfig ()=default
 destructor More...
 
std::string get_option_description (const mysql_harness::ConfigSection *section, const std::string &option) const
 get description of the option. More...
 
template<class Func >
decltype(auto) get_option (const mysql_harness::ConfigSection *section, const std::string &option, Func &&transformer) const
 get option value. More...
 
template<class Func >
decltype(auto) get_option_no_default (const mysql_harness::ConfigSection *section, const std::string &option, Func &&transformer) const
 get option value. More...
 
std::string get_option_string (const mysql_harness::ConfigSection *section, const std::string &option) const
 Gets value of given option as string. More...
 
template<class T >
get_uint_option (const mysql_harness::ConfigSection *section, const std::string &option, T min_value=0, T max_value=std::numeric_limits< T >::max()) const
 Gets an unsigned integer using the given option. More...
 
std::chrono::milliseconds get_option_milliseconds (const mysql_harness::ConfigSection *section, const std::string &option, double min_value=0.0, double max_value=std::numeric_limits< double >::max()) const
 Gets a number of milliseconds using the given option. More...
 

Public Attributes

const Protocol::Type protocol
 protocol (classic, x) More...
 
const std::string destinations
 destinations More...
 
const int bind_port
 TCP port to bind to. More...
 
const mysql_harness::TCPAddress bind_address
 IP address to bind to. More...
 
const mysql_harness::Path named_socket
 unix domain socket path to bind to More...
 
const int connect_timeout
 connect-timeout in seconds More...
 
const routing::AccessMode mode
 read-only/read-write More...
 
routing::RoutingStrategy routing_strategy
 routing strategy (next-avail, ...) More...
 
const int max_connections
 max connections allowed More...
 
const unsigned long long max_connect_errors
 max connect errors More...
 
const unsigned int client_connect_timeout
 client connect timeout in seconds More...
 
const unsigned int net_buffer_length
 Size of buffer to receive packets. More...
 
const unsigned int thread_stack_size
 thread stack size in kilobytes More...
 
SslMode source_ssl_mode
 SslMode of the client side connection. More...
 
const std::string source_ssl_cert
 Cert file. More...
 
const std::string source_ssl_key
 Key file. More...
 
const std::string source_ssl_cipher
 allowed TLS ciphers More...
 
const std::string source_ssl_curves
 allowed TLS curves More...
 
const std::string source_ssl_dh_params
 DH params. More...
 
const SslMode dest_ssl_mode
 SslMode of the server side connection. More...
 
const SslVerify dest_ssl_verify
 How to verify the server-side cert. More...
 
const std::string dest_ssl_cipher
 allowed TLS ciphers More...
 
const std::string dest_ssl_ca_file
 CA file to used to verify destinations' identity. More...
 
const std::string dest_ssl_ca_dir
 directory of CA files used to verify destinations' identity More...
 
const std::string dest_ssl_crl_file
 CRL file used to check revoked certificates. More...
 
const std::string dest_ssl_crl_dir
 directory of CRL files More...
 
const std::string dest_ssl_curves
 allowed TLS curves More...
 
const std::chrono::seconds unreachable_destination_refresh_interval
 

Private Attributes

bool metadata_cache_
 

Additional Inherited Members

- Protected Member Functions inherited from mysql_harness::BasePluginConfig
 BasePluginConfig (const mysql_harness::ConfigSection *section)
 Constructor for derived classes. More...
 
- Static Protected Member Functions inherited from mysql_harness::BasePluginConfig
static std::string get_section_name (const mysql_harness::ConfigSection *section)
 Generate the name for this configuration. More...
 

Detailed Description

route specific configuration.

Constructor & Destructor Documentation

◆ RoutingPluginConfig()

RoutingPluginConfig::RoutingPluginConfig ( const mysql_harness::ConfigSection section)

Constructor.

Parameters
sectionfrom configuration file provided as ConfigSection

Member Function Documentation

◆ get_default()

std::string RoutingPluginConfig::get_default ( const std::string &  option) const
overridevirtual

Gets the default for the given option.

Gets the default value of the given option. If no default option is available, an empty string is returned.

Parameters
optionname of the option
Returns
default value for given option as std::string

Implements mysql_harness::BasePluginConfig.

◆ get_option_max_connections()

uint16_t RoutingPluginConfig::get_option_max_connections ( const mysql_harness::ConfigSection section)

◆ is_required()

bool RoutingPluginConfig::is_required ( const std::string &  option) const
overridevirtual

Returns whether the given option is required.

Returns
bool

Implements mysql_harness::BasePluginConfig.

Member Data Documentation

◆ bind_address

const mysql_harness::TCPAddress RoutingPluginConfig::bind_address

IP address to bind to.

◆ bind_port

const int RoutingPluginConfig::bind_port

TCP port to bind to.

◆ client_connect_timeout

const unsigned int RoutingPluginConfig::client_connect_timeout

client connect timeout in seconds

◆ connect_timeout

const int RoutingPluginConfig::connect_timeout

connect-timeout in seconds

◆ dest_ssl_ca_dir

const std::string RoutingPluginConfig::dest_ssl_ca_dir

directory of CA files used to verify destinations' identity

◆ dest_ssl_ca_file

const std::string RoutingPluginConfig::dest_ssl_ca_file

CA file to used to verify destinations' identity.

◆ dest_ssl_cipher

const std::string RoutingPluginConfig::dest_ssl_cipher

allowed TLS ciphers

◆ dest_ssl_crl_dir

const std::string RoutingPluginConfig::dest_ssl_crl_dir

directory of CRL files

◆ dest_ssl_crl_file

const std::string RoutingPluginConfig::dest_ssl_crl_file

CRL file used to check revoked certificates.

◆ dest_ssl_curves

const std::string RoutingPluginConfig::dest_ssl_curves

allowed TLS curves

◆ dest_ssl_mode

const SslMode RoutingPluginConfig::dest_ssl_mode

SslMode of the server side connection.

◆ dest_ssl_verify

const SslVerify RoutingPluginConfig::dest_ssl_verify

How to verify the server-side cert.

◆ destinations

const std::string RoutingPluginConfig::destinations

destinations

◆ max_connect_errors

const unsigned long long RoutingPluginConfig::max_connect_errors

max connect errors

◆ max_connections

const int RoutingPluginConfig::max_connections

max connections allowed

◆ metadata_cache_

bool RoutingPluginConfig::metadata_cache_
mutableprivate

◆ mode

const routing::AccessMode RoutingPluginConfig::mode

read-only/read-write

◆ named_socket

const mysql_harness::Path RoutingPluginConfig::named_socket

unix domain socket path to bind to

◆ net_buffer_length

const unsigned int RoutingPluginConfig::net_buffer_length

Size of buffer to receive packets.

◆ protocol

const Protocol::Type RoutingPluginConfig::protocol

protocol (classic, x)

◆ routing_strategy

routing::RoutingStrategy RoutingPluginConfig::routing_strategy

routing strategy (next-avail, ...)

◆ source_ssl_cert

const std::string RoutingPluginConfig::source_ssl_cert

Cert file.

◆ source_ssl_cipher

const std::string RoutingPluginConfig::source_ssl_cipher

allowed TLS ciphers

◆ source_ssl_curves

const std::string RoutingPluginConfig::source_ssl_curves

allowed TLS curves

◆ source_ssl_dh_params

const std::string RoutingPluginConfig::source_ssl_dh_params

DH params.

◆ source_ssl_key

const std::string RoutingPluginConfig::source_ssl_key

Key file.

◆ source_ssl_mode

SslMode RoutingPluginConfig::source_ssl_mode

SslMode of the client side connection.

◆ thread_stack_size

const unsigned int RoutingPluginConfig::thread_stack_size

thread stack size in kilobytes

◆ unreachable_destination_refresh_interval

const std::chrono::seconds RoutingPluginConfig::unreachable_destination_refresh_interval

The documentation for this class was generated from the following files: