MySQL 8.0.40
Source Code Documentation
loader.cc File Reference
#include "mysql/harness/loader.h"
#include <algorithm>
#include <array>
#include <atomic>
#include <cassert>
#include <cctype>
#include <cstdarg>
#include <cstring>
#include <exception>
#include <map>
#include <mutex>
#include <sstream>
#include <stdexcept>
#include <string>
#include <system_error>
#include <thread>
#include <dlfcn.h>
#include <pthread.h>
#include <unistd.h>
#include "builtin_plugins.h"
#include "designator.h"
#include "dim.h"
#include "exception.h"
#include "harness_assert.h"
#include "my_thread.h"
#include "mysql/harness/dynamic_loader.h"
#include "mysql/harness/filesystem.h"
#include "mysql/harness/logging/logging.h"
#include "mysql/harness/logging/registry.h"
#include "mysql/harness/plugin.h"
#include "mysql/harness/process_state_component.h"
#include "mysql/harness/sd_notify.h"
#include "mysql/harness/stdx/monitor.h"
#include "mysql/harness/supported_config_options.h"
#include "mysql/harness/utility/string.h"
#include "scope_guard.h"
#include "utilities.h"
#include "my_compiler.h"

Namespaces

namespace  mysql_harness
 

Macros

#define MYSQL_ROUTER_LOG_DOMAIN    ::mysql_harness::logging::kMainLogger
 

Functions

const AppInfo * mysql_harness::get_app_info (const PluginFuncEnv *env) noexcept
 
const ConfigSection * mysql_harness::get_config_section (const PluginFuncEnv *env) noexcept
 
bool mysql_harness::is_running (const PluginFuncEnv *env) noexcept
 
bool mysql_harness::wait_for_stop (const PluginFuncEnv *env, uint32_t milliseconds) noexcept
 
void mysql_harness::clear_running (PluginFuncEnv *env) noexcept
 
void mysql_harness::set_error (PluginFuncEnv *env, ErrorType error_type, const char *fmt,...) noexcept
 
template<class T >
mysql_harness::value_or (T a, T b)
 If a isn't set, return b. More...
 
static void mysql_harness::call_plugin_function (PluginFuncEnv *env, std::exception_ptr &eptr, void(*fptr)(PluginFuncEnv *), const char *fnc_name, const char *plugin_name, const char *plugin_key=nullptr) noexcept
 
static std::string mysql_harness::section_to_string (const ConfigSection *section)
 
static void mysql_harness::report_unsupported_option (const std::string &section, const std::string &option, const bool error_out)
 
void mysql_harness::on_service_ready (const std::string &name)
 
void mysql_harness::on_service_ready (PluginFuncEnv *plugin_env)
 

Variables

static std::atomic< size_t > num_of_non_ready_services {0}
 

Macro Definition Documentation

◆ MYSQL_ROUTER_LOG_DOMAIN

#define MYSQL_ROUTER_LOG_DOMAIN    ::mysql_harness::logging::kMainLogger

Variable Documentation

◆ num_of_non_ready_services

std::atomic<size_t> num_of_non_ready_services {0}
static