MySQL 9.2.0
Source Code Documentation
routing_guidelines::Routing_simulator Class Reference

#include <routing_simulator.h>

Public Member Functions

 Routing_simulator (rpn::Context *external_context=nullptr, Routing_guidelines_engine::ResolveCache *external_cache=nullptr)
 
stdx::expected< void, std::string > process_document (const std::string &s)
 

Private Member Functions

stdx::expected< void, std::string > parse_router (const rapidjson::Document &d)
 
stdx::expected< void, std::string > parse_destination (const rapidjson::Document &d, std::string_view expected_name)
 
stdx::expected< void, std::string > parse_source (const rapidjson::Document &d, std::string_view expected_name)
 
stdx::expected< void, std::string > parse_sql (const rapidjson::Document &d, std::string_view expected_name)
 

Private Attributes

std::unique_ptr< Routing_guidelines_enginerpd_
 
rpn::Contextexternal_context_ {nullptr}
 
Routing_guidelines_engine::ResolveCacheexternal_cache_ {nullptr}
 
Router_info router_
 
Session_info session_
 
Sql_info sql_
 
Server_info server_
 
std::unordered_map< std::string, Server_infodestinations_
 
std::string last_destination_
 
std::unordered_map< int, Session_infosources_
 
int64_t last_source_ {-1}
 

Constructor & Destructor Documentation

◆ Routing_simulator()

routing_guidelines::Routing_simulator::Routing_simulator ( rpn::Context external_context = nullptr,
Routing_guidelines_engine::ResolveCache external_cache = nullptr 
)
explicit

Member Function Documentation

◆ parse_destination()

stdx::expected< void, std::string > routing_guidelines::Routing_simulator::parse_destination ( const rapidjson::Document &  d,
std::string_view  expected_name 
)
private

◆ parse_router()

stdx::expected< void, std::string > routing_guidelines::Routing_simulator::parse_router ( const rapidjson::Document &  d)
private

◆ parse_source()

stdx::expected< void, std::string > routing_guidelines::Routing_simulator::parse_source ( const rapidjson::Document &  d,
std::string_view  expected_name 
)
private

◆ parse_sql()

stdx::expected< void, std::string > routing_guidelines::Routing_simulator::parse_sql ( const rapidjson::Document &  d,
std::string_view  expected_name 
)
private

◆ process_document()

stdx::expected< void, std::string > routing_guidelines::Routing_simulator::process_document ( const std::string &  s)

Member Data Documentation

◆ destinations_

std::unordered_map<std::string, Server_info> routing_guidelines::Routing_simulator::destinations_
private

◆ external_cache_

Routing_guidelines_engine::ResolveCache* routing_guidelines::Routing_simulator::external_cache_ {nullptr}
private

◆ external_context_

rpn::Context* routing_guidelines::Routing_simulator::external_context_ {nullptr}
private

◆ last_destination_

std::string routing_guidelines::Routing_simulator::last_destination_
private

◆ last_source_

int64_t routing_guidelines::Routing_simulator::last_source_ {-1}
private

◆ router_

Router_info routing_guidelines::Routing_simulator::router_
private

◆ rpd_

std::unique_ptr<Routing_guidelines_engine> routing_guidelines::Routing_simulator::rpd_
private

◆ server_

Server_info routing_guidelines::Routing_simulator::server_
private

◆ session_

Session_info routing_guidelines::Routing_simulator::session_
private

◆ sources_

std::unordered_map<int, Session_info> routing_guidelines::Routing_simulator::sources_
private

◆ sql_

Sql_info routing_guidelines::Routing_simulator::sql_
private

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