MySQL 9.0.0
Source Code Documentation
routing_plugin.cc File Reference

Functions

static void validate_socket_info (const std::string &err_prefix, const mysql_harness::ConfigSection *section, const RoutingPluginConfig &config)
 
void validate_socket_info_test_proxy (const std::string &err_prefix, const mysql_harness::ConfigSection *section, const RoutingPluginConfig &config)
 
static void init (mysql_harness::PluginFuncEnv *env)
 
static void ensure_readable_directory (const std::string &opt_name, const std::string &opt_value)
 
static std::string get_default_ciphers ()
 
static void start (mysql_harness::PluginFuncEnv *env)
 
static void deinit (mysql_harness::PluginFuncEnv *)
 
static void expose_configuration (mysql_harness::PluginFuncEnv *env, const char *key, bool initial)
 

Variables

const mysql_harness::AppInfo * g_app_info
 
static const std::string kSectionName = "routing"
 
std::mutex g_dest_tls_contexts_mtx
 
std::vector< std::unique_ptr< DestinationTlsContext > > g_dest_tls_contexts
 
std::mutex io_context_work_guard_mtx
 
std::list< IoComponent::Workguardio_context_work_guards
 
static const std::array required
 
mysql_harness::Plugin ROUTING_PLUGIN_EXPORT harness_plugin_routing
 

Function Documentation

◆ deinit()

static void deinit ( mysql_harness::PluginFuncEnv )
static

◆ ensure_readable_directory()

static void ensure_readable_directory ( const std::string &  opt_name,
const std::string &  opt_value 
)
static

◆ expose_configuration()

static void expose_configuration ( mysql_harness::PluginFuncEnv env,
const char *  key,
bool  initial 
)
static

◆ get_default_ciphers()

static std::string get_default_ciphers ( )
static

◆ init()

static void init ( mysql_harness::PluginFuncEnv env)
static

◆ start()

static void start ( mysql_harness::PluginFuncEnv env)
static

◆ validate_socket_info()

static void validate_socket_info ( const std::string &  err_prefix,
const mysql_harness::ConfigSection section,
const RoutingPluginConfig config 
)
static

◆ validate_socket_info_test_proxy()

void validate_socket_info_test_proxy ( const std::string &  err_prefix,
const mysql_harness::ConfigSection section,
const RoutingPluginConfig config 
)

Variable Documentation

◆ g_app_info

const mysql_harness::AppInfo* g_app_info

◆ g_dest_tls_contexts

std::vector<std::unique_ptr<DestinationTlsContext> > g_dest_tls_contexts

◆ g_dest_tls_contexts_mtx

std::mutex g_dest_tls_contexts_mtx

◆ harness_plugin_routing

mysql_harness::Plugin ROUTING_PLUGIN_EXPORT harness_plugin_routing
Initial value:
= {
mysql_harness::PLUGIN_ABI_VERSION,
mysql_harness::ARCHITECTURE_DESCRIPTOR,
"Routing MySQL connections between MySQL clients/connectors and "
"servers",
VERSION_NUMBER(0, 0, 1),
required.size(),
required.data(),
0,
nullptr,
init,
nullptr,
true,
}
static void expose_configuration(mysql_harness::PluginFuncEnv *env, const char *key, bool initial)
Definition: routing_plugin.cc:574
static void init(mysql_harness::PluginFuncEnv *env)
Definition: routing_plugin.cc:151
static const std::array required
Definition: routing_plugin.cc:565
static void start(mysql_harness::PluginFuncEnv *env)
Definition: routing_plugin.cc:261
static void deinit(mysql_harness::PluginFuncEnv *)
Definition: routing_plugin.cc:556
static constexpr std::array routing_supported_options
Definition: supported_routing_options.h:92

◆ io_context_work_guard_mtx

std::mutex io_context_work_guard_mtx

◆ io_context_work_guards

std::list<IoComponent::Workguard> io_context_work_guards

◆ kSectionName

const std::string kSectionName = "routing"
static

◆ required

const std::array required
static
Initial value:
{
"logger",
"router_protobuf",
"router_openssl",
"io",
"connection_pool",
"destination_status",
}