MySQL 8.4.0
Source Code Documentation
RoutingPluginConfig Class Reference

route specific plugin 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 (std::string_view option) const override
 Gets the default for the given option. More...
 
bool is_required (std::string_view option) const override
 Returns whether the given option is required. More...
 
uint16_t get_option_max_connections (const mysql_harness::ConfigSection *section)
 
void expose_configuration (const std::string &key, const mysql_harness::ConfigSection &default_section, const bool initial) const
 
- Public Member Functions inherited from mysql_harness::BasePluginConfig
 BasePluginConfig ()=default
 
 BasePluginConfig (const BasePluginConfig &)=default
 
 BasePluginConfig (BasePluginConfig &&)=default
 
BasePluginConfigoperator= (const BasePluginConfig &)=default
 
BasePluginConfigoperator= (BasePluginConfig &&)=default
 
virtual ~BasePluginConfig ()=default
 destructor More...
 
std::string get_option_description (const mysql_harness::ConfigSection *section, std::string_view option) const
 get description of the option. More...
 
template<class Func >
decltype(auto) get_option (const mysql_harness::ConfigSection *section, std::string_view option, Func &&transformer) const
 get option value. More...
 
template<class Func >
decltype(auto) get_option_no_default (const mysql_harness::ConfigSection *section, std::string_view option, Func &&transformer) const
 get option value. More...
 
std::string get_option_string (const mysql_harness::ConfigSection *section, std::string_view option) const
 Gets value of given option as string. More...
 
template<class T >
get_uint_option (const mysql_harness::ConfigSection *section, std::string_view 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, std::string_view 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...
 

Private Attributes

bool metadata_cache_
 

Additional Inherited Members

- Public Attributes inherited from RoutingConfig
Protocol::Type protocol {}
 protocol (classic, x) More...
 
std::string destinations
 destinations More...
 
int bind_port {}
 TCP port to bind to. More...
 
mysql_harness::TCPAddress bind_address
 IP address to bind to. More...
 
mysql_harness::Path named_socket
 unix domain socket path to bind to More...
 
int connect_timeout {}
 connect-timeout in seconds More...
 
routing::RoutingStrategy routing_strategy
 routing strategy (next-avail, ...) More...
 
int max_connections {}
 max connections allowed More...
 
unsigned long long max_connect_errors {}
 max connect errors More...
 
unsigned int client_connect_timeout {}
 client connect timeout in seconds More...
 
unsigned int net_buffer_length {}
 Size of buffer to receive packets. More...
 
unsigned int thread_stack_size {}
 thread stack size in kilobytes More...
 
SslMode source_ssl_mode {}
 SslMode of the client side connection. More...
 
std::string source_ssl_cert
 Cert file. More...
 
std::string source_ssl_key
 Key file. More...
 
std::string source_ssl_cipher
 allowed TLS ciphers More...
 
std::string source_ssl_curves
 allowed TLS curves More...
 
std::string source_ssl_dh_params
 DH params. More...
 
std::string source_ssl_ca_file
 CA file to used to verify sources' identity. More...
 
std::string source_ssl_ca_dir
 directory of CA files used to verify sources' identity More...
 
std::string source_ssl_crl_file
 CRL file used to check revoked certificates. More...
 
std::string source_ssl_crl_dir
 directory of CRL files More...
 
SslMode dest_ssl_mode {}
 SslMode of the server side connection. More...
 
std::string dest_ssl_cert
 Cert file. More...
 
std::string dest_ssl_key
 Key file. More...
 
SslVerify dest_ssl_verify {}
 How to verify the server-side cert. More...
 
std::string dest_ssl_cipher
 allowed TLS ciphers More...
 
std::string dest_ssl_ca_file
 CA file to used to verify destinations' identity. More...
 
std::string dest_ssl_ca_dir
 directory of CA files used to verify destinations' identity More...
 
std::string dest_ssl_crl_file
 CRL file used to check revoked certificates. More...
 
std::string dest_ssl_crl_dir
 directory of CRL files More...
 
std::string dest_ssl_curves
 allowed TLS curves More...
 
bool connection_sharing {}
 if connection sharing is allowed. More...
 
std::chrono::milliseconds connection_sharing_delay {}
 delay before an idling connection is moved to the pool and connection sharing is allowed. More...
 
bool client_ssl_session_cache_mode {true}
 
size_t client_ssl_session_cache_size {}
 
unsigned int client_ssl_session_cache_timeout {}
 
bool server_ssl_session_cache_mode {true}
 
size_t server_ssl_session_cache_size {}
 
unsigned int server_ssl_session_cache_timeout {}
 
std::chrono::milliseconds connect_retry_timeout {}
 timeout of retrying after a transient connect-failure. More...
 
routing::AccessMode access_mode
 read_write,read_only,auto More...
 
bool wait_for_my_writes
 
std::chrono::seconds wait_for_my_writes_timeout {}
 how long to wait for writes to be applied before reads. More...
 
bool router_require_enforce {true}
 
- 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 plugin configuration.

Constructor & Destructor Documentation

◆ RoutingPluginConfig()

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

Constructor.

Parameters
sectionfrom configuration file provided as ConfigSection

Member Function Documentation

◆ expose_configuration()

void RoutingPluginConfig::expose_configuration ( const std::string &  key,
const mysql_harness::ConfigSection default_section,
const bool  initial 
) const

◆ get_default()

std::string RoutingPluginConfig::get_default ( std::string_view  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 ( std::string_view  option) const
overridevirtual

Returns whether the given option is required.

Returns
bool

Implements mysql_harness::BasePluginConfig.

Member Data Documentation

◆ metadata_cache_

bool RoutingPluginConfig::metadata_cache_
mutableprivate

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