MySQL 8.4.0
Source Code Documentation
connection_pool_plugin.cc File Reference
#include <array>
#include <chrono>
#include <memory>
#include <mutex>
#include <stdexcept>
#include <system_error>
#include "common.h"
#include "mysql/harness/config_option.h"
#include "mysql/harness/config_parser.h"
#include "mysql/harness/dynamic_config.h"
#include "mysql/harness/loader.h"
#include "mysql/harness/logging/logging.h"
#include "mysql/harness/plugin.h"
#include "mysql/harness/plugin_config.h"
#include "mysql/harness/section_config_exposer.h"
#include "mysqlrouter/connection_pool.h"
#include "mysqlrouter/connection_pool_component.h"
#include "mysqlrouter/connection_pool_plugin_export.h"
#include "scope_guard.h"

Classes

class  ConnectionPoolPluginConfig
 
class  anonymous_namespace{connection_pool_plugin.cc}::ConnectionPoolConfigExposer
 

Namespaces

namespace  anonymous_namespace{connection_pool_plugin.cc}
 

Typedefs

template<class T >
using IntOption = mysql_harness::IntOption< T >
 connection pool plugin. More...
 

Functions

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

Variables

static constexpr std::string_view kSectionName {"connection_pool"}
 
static constexpr uint32_t kDefaultMaxIdleServerConnections
 
static constexpr uint32_t kDefaultIdleTimeout {5}
 
static constexpr char kMaxIdleServerConnections []
 
static constexpr char kIdleTimeout [] {"idle_timeout"}
 
static constexpr std::array supported_options
 
static const std::array< const char *, 2 > required
 
mysql_harness::Plugin CONNECTION_POOL_PLUGIN_EXPORT harness_plugin_connection_pool
 

Typedef Documentation

◆ IntOption

template<class T >
using IntOption = mysql_harness::IntOption<T>

connection pool plugin.

Function Documentation

◆ deinit()

static void deinit ( mysql_harness::PluginFuncEnv )
static

◆ expose_configuration()

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

◆ init()

static void init ( mysql_harness::PluginFuncEnv env)
static

Variable Documentation

◆ harness_plugin_connection_pool

mysql_harness::Plugin CONNECTION_POOL_PLUGIN_EXPORT harness_plugin_connection_pool
Initial value:
= {
mysql_harness::PLUGIN_ABI_VERSION,
mysql_harness::ARCHITECTURE_DESCRIPTOR,
"connection pool",
VERSION_NUMBER(0, 0, 1),
required.size(),
required.data(),
0,
nullptr,
init,
nullptr,
nullptr,
false,
}
static void expose_configuration(mysql_harness::PluginFuncEnv *env, const char *, bool initial)
Definition: connection_pool_plugin.cc:184
static void init(mysql_harness::PluginFuncEnv *env)
Definition: connection_pool_plugin.cc:101
static const std::array< const char *, 2 > required
Definition: connection_pool_plugin.cc:153
static constexpr std::array supported_options
Definition: connection_pool_plugin.cc:67
static void deinit(mysql_harness::PluginFuncEnv *)
Definition: connection_pool_plugin.cc:149

◆ kDefaultIdleTimeout

constexpr uint32_t kDefaultIdleTimeout {5}
staticconstexpr

◆ kDefaultMaxIdleServerConnections

constexpr uint32_t kDefaultMaxIdleServerConnections
staticconstexpr
Initial value:
{
0}

◆ kIdleTimeout

constexpr char kIdleTimeout[] {"idle_timeout"}
staticconstexpr

◆ kMaxIdleServerConnections

constexpr char kMaxIdleServerConnections[]
staticconstexpr
Initial value:
{
"max_idle_server_connections"}

◆ kSectionName

constexpr std::string_view kSectionName {"connection_pool"}
staticconstexpr

◆ required

const std::array<const char *, 2> required
static
Initial value:
= {{
"logger",
"io",
}}

◆ supported_options

constexpr std::array supported_options
staticconstexpr
Initial value:
{
}
static constexpr char kMaxIdleServerConnections[]
Definition: connection_pool_plugin.cc:63
static constexpr char kIdleTimeout[]
Definition: connection_pool_plugin.cc:65