MySQL 8.3.0
Source Code Documentation
plugin_config.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2015, 2023, Oracle and/or its affiliates.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2.0,
6 as published by the Free Software Foundation.
7
8 This program is also distributed with certain software (including
9 but not limited to OpenSSL) that is licensed under separate terms,
10 as designated in a particular file or component or in included license
11 documentation. The authors of MySQL hereby grant you an additional
12 permission to link the program and your derivative works with the
13 separately licensed software that they have included with MySQL.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23*/
24
25#ifndef PLUGIN_CONFIG_ROUTING_INCLUDED
26#define PLUGIN_CONFIG_ROUTING_INCLUDED
27
29
30#include <string>
31
34#include "routing_config.h"
35
36/**
37 * route specific plugin configuration.
38 */
41 public RoutingConfig {
42 private:
43 // is this [routing] entry for static routing or metadata-cache ?
44 // it's mutable because we discover it while calling getter for
45 // option destinations
46 mutable bool metadata_cache_;
47
48 public:
49 /** Constructor.
50 *
51 * @param section from configuration file provided as ConfigSection
52 */
54
55 std::string get_default(const std::string &option) const override;
56 bool is_required(const std::string &option) const override;
57
59 const mysql_harness::ConfigSection *section);
60};
61
62#endif // PLUGIN_CONFIG_ROUTING_INCLUDED
route specific configuration.
Definition: routing_config.h:39
route specific plugin configuration.
Definition: plugin_config.h:41
bool metadata_cache_
Definition: plugin_config.h:46
uint16_t get_option_max_connections(const mysql_harness::ConfigSection *section)
Retrieve and manage plugin configuration.
Definition: plugin_config.h:61
virtual bool is_required(const std::string &option) const =0
Returns whether the given option is required.
virtual std::string get_default(const std::string &option) const =0
Gets the default for the given option.
Configuration section.
Definition: config_parser.h:140
#define ROUTING_PLUGIN_EXPORT
Definition: routing_plugin_export.h:15