![]() |
MySQL 8.0.43
Source Code Documentation
|
Retrieve and manage plugin configuration. More...
#include <plugin_config.h>
Public Member Functions | |
| BasePluginConfig ()=default | |
| BasePluginConfig (const BasePluginConfig &)=default | |
| BasePluginConfig (BasePluginConfig &&)=default | |
| BasePluginConfig & | operator= (const BasePluginConfig &)=default |
| BasePluginConfig & | operator= (BasePluginConfig &&)=default |
| 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... | |
| virtual std::string | get_default (const std::string &option) const =0 |
| Gets the default for the given option. More... | |
| virtual bool | is_required (const std::string &option) const =0 |
| Returns whether the given option is required. 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 > | |
| 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... | |
Protected Member Functions | |
| BasePluginConfig (const mysql_harness::ConfigSection *section) | |
| Constructor for derived classes. More... | |
Static Protected Member Functions | |
| static std::string | get_section_name (const mysql_harness::ConfigSection *section) |
| Generate the name for this configuration. More... | |
Private Member Functions | |
| std::optional< std::string > | get_option_string_ (const mysql_harness::ConfigSection *section, const std::string &option) const |
| get value of an option from a config-section. More... | |
| std::string | get_option_string_or_default_ (const mysql_harness::ConfigSection *section, const std::string &option) const |
| get value of an option from a config-section. More... | |
Private Attributes | |
| std::string | section_name_ |
| Name of the section. More... | |
Retrieve and manage plugin configuration.
BasePluginConfig is an abstract class which can be used to by plugins to derive their own class retrieving configuration from, for example, Harness ConfigSection instances.
|
default |
|
default |
|
default |
|
virtualdefault |
destructor
|
inlineprotected |
Constructor for derived classes.
|
pure virtual |
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.
| option | name of the option |
Implemented in anonymous_namespace{http_auth_backend_plugin.cc}::PluginConfig, RestApiPluginConfig, RestConnectionPoolPluginConfig, RestMetadataCachePluginConfig, RestRouterPluginConfig, RestRoutingPluginConfig, ConnectionPoolPluginConfig, DestinationStatusPluginConfig, anonymous_namespace{http_auth_backend_plugin.cc}::HtpasswdPluginConfig, HttpAuthRealmPluginConfig, HttpServerPluginConfig, IoPluginConfig, MetadataCachePluginConfig, PluginConfig, and RoutingPluginConfig.
|
inline |
get option value.
gets the option from a config-section (or its default value if it doesn't exist) and converts it with a transformation function.
| section | configuration section |
| option | name of the option |
| transformer | transformation function. The signature of the transformation function should be equivalent to: (const std::string &value, const std::string &option_description) and returns the transformed value. |
| std::string mysql_harness::BasePluginConfig::get_option_description | ( | const mysql_harness::ConfigSection * | section, |
| const std::string & | option | ||
| ) | const |
get description of the option.
For example, option wait_timeout in section [routing:homepage] will return a prefix (without quotes):
option wait_timeout in [routing:homepage]
| section | configuration section |
| option | Name of the option |
|
inline |
Gets a number of milliseconds using the given option.
The expected option value is a string with floating point number in seconds (with '.' as a decimal separator) in standard or scientific notation
| section | Instance of ConfigSection |
| option | Option name in section |
| min_value | Minimum value |
| max_value | Maximum value |
| std::invalid_argument | on errors |
|
inline |
get option value.
gets the option from a config-section and converts it with a transformation function.
does not call get_default().
| section | configuration section |
| option | name of the option |
| transformer | transformation function. The signature of the transformation function should be equivalent to: (const std::string &value, const std::string &option_description) and returns the transformed value. |
|
inline |
Gets value of given option as string.
| option_not_present | if the required option is missing |
| option_empty | if the required option is present but empty |
| section | Instance of ConfigSection |
| option | name of the option |
|
private |
get value of an option from a config-section.
does not call get_default()
|
private |
get value of an option from a config-section.
gets value from get_default() if the option-value is not present or empty.
|
staticprotected |
Generate the name for this configuration.
| section | Instance of ConfigSection |
|
inline |
Gets an unsigned integer using the given option.
Gets an unsigned integer using the given option. The type can be any unsigned integer type such as uint16_t.
The min_value argument can be used to set a minimum value for the option. For example, when 0 (zero) is not allowed, min_value can be set to 0. The maximum value is whatever the maximum of the use type is.
Throws std::invalid_argument on errors.
| section | Instance of ConfigSection |
| option | Option name in section |
| min_value | Minimum value |
| max_value | Maximum value |
|
pure virtual |
Returns whether the given option is required.
Implemented in ConnectionPoolPluginConfig, DestinationStatusPluginConfig, anonymous_namespace{http_auth_backend_plugin.cc}::HtpasswdPluginConfig, HttpServerPluginConfig, IoPluginConfig, RestApiPluginConfig, anonymous_namespace{http_auth_backend_plugin.cc}::PluginConfig, HttpAuthRealmPluginConfig, MetadataCachePluginConfig, PluginConfig, RestConnectionPoolPluginConfig, RestMetadataCachePluginConfig, RestRouterPluginConfig, RestRoutingPluginConfig, and RoutingPluginConfig.
|
default |
|
default |
|
private |
Name of the section.