MySQL 9.6.0
Source Code Documentation
anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic Class Reference
Inheritance diagram for anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic:
[legend]

Classes

class  CopyNodes
 

Public Member Functions

 DestinationDynamic (const std::string &routing_plugin_name, const SslConfiguration &ssl)
 
 ~DestinationDynamic () override
 
bool is_dynamic () const override
 
std::optional< Nodeget_node (const WaitingOp op) override
 
bool is_node_supported (const Node &node) override
 
void stop ()
 
- Public Member Functions inherited from anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationStatic
 DestinationStatic (const std::vector< Node > &nodes, const SslConfiguration &ssl)
 
const SslConfigurationget_ssl_configuration () override
 
- Public Member Functions inherited from collector::DestinationProvider
virtual ~DestinationProvider ()=default
 

Private Types

enum  State { kOk , kNoValidNodes , kStopped }
 

Private Member Functions

MySQLRoutingAPI get_notifier (DestinationNodesStateNotifier **out_notifier)
 
template<typename Nodes >
void callback_allowed_nodes_change (const Nodes &nodes_for_existing_connections, const Nodes &nodes_for_new_connections, const bool disconnected, const std::string &res, bool apply_only_when_its_first_request=false)
 

Static Private Member Functions

static auto get_address (const AvailableDestination &dest)
 
static auto get_address (const mysql_harness::Destination &dest)
 
static const std::set< State > & get_expected_state (bool apply_only_when_its_first_request=false)
 

Private Attributes

std::string routing_plugin_name_
 
WaitableVariable< Statestate_ {kNoValidNodes}
 
std::optional< AllowedNodesChangeCallbacksListIteratorit_
 

Additional Inherited Members

- Public Types inherited from anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationStatic
using SslOptions = MySQLRoutingAPI::SslOptions
 
- Public Types inherited from collector::DestinationProvider
enum  WaitingOp { kNoWait , kWaitUntilAvaiable , kWaitUntilTimeout }
 
using Node = mysql_harness::Destination
 
using SslConfiguration = mrs::SslConfiguration
 
- Protected Attributes inherited from anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationStatic
std::vector< Nodenodes_
 
uint32_t nodes_idx_ {0}
 
SslConfiguration ssl_
 

Member Enumeration Documentation

◆ State

enum anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::State
private
Enumerator
kOk 
kNoValidNodes 
kStopped 

Constructor & Destructor Documentation

◆ DestinationDynamic()

anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::DestinationDynamic ( const std::string &  routing_plugin_name,
const SslConfiguration ssl 
)
inline

◆ ~DestinationDynamic()

anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::~DestinationDynamic ( )
inlineoverride

Member Function Documentation

◆ callback_allowed_nodes_change()

template<typename Nodes >
void anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::callback_allowed_nodes_change ( const Nodes &  nodes_for_existing_connections,
const Nodes &  nodes_for_new_connections,
const bool  disconnected,
const std::string &  res,
bool  apply_only_when_its_first_request = false 
)
inlineprivate

◆ get_address() [1/2]

static auto anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::get_address ( const AvailableDestination dest)
inlinestaticprivate

◆ get_address() [2/2]

static auto anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::get_address ( const mysql_harness::Destination dest)
inlinestaticprivate

◆ get_expected_state()

static const std::set< State > & anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::get_expected_state ( bool  apply_only_when_its_first_request = false)
inlinestaticprivate

◆ get_node()

std::optional< Node > anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::get_node ( const WaitingOp  op)
inlineoverridevirtual

◆ get_notifier()

MySQLRoutingAPI anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::get_notifier ( DestinationNodesStateNotifier **  out_notifier)
inlineprivate

◆ is_dynamic()

bool anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::is_dynamic ( ) const
inlineoverridevirtual

◆ is_node_supported()

bool anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::is_node_supported ( const Node node)
inlineoverridevirtual

◆ stop()

void anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::stop ( )
inline

Member Data Documentation

◆ it_

std::optional<AllowedNodesChangeCallbacksListIterator> anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::it_
private

◆ routing_plugin_name_

std::string anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::routing_plugin_name_
private

◆ state_

WaitableVariable<State> anonymous_namespace{mysql_rest_service_plugin_config.cc}::DestinationDynamic::state_ {kNoValidNodes}
private

The documentation for this class was generated from the following file: