MySQL 9.3.0
Source Code Documentation
mrs::EndpointManager Class Reference

#include <endpoint_manager.h>

Inheritance diagram for mrs::EndpointManager:
[legend]

Classes

class  EndpointId
 

Public Types

using EntryKey = database::entry::EntryKey
 
using EntryType = database::entry::EntryType
 
using UniversalId = database::entry::UniversalId
 
using EndpointBase = mrs::interface::EndpointBase
 
using EndpointBasePtr = std::shared_ptr< EndpointBase >
 
using EndpointFactory = mrs::endpoint::EndpointFactory
 
using EndpointFactoryPtr = std::shared_ptr< EndpointFactory >
 
using ResponseCache = mrs::ResponseCache
 
using SlowQueryMonitor = mrs::database::SlowQueryMonitor
 
using MysqlTaskMonitor = mrs::database::MysqlTaskMonitor
 
- Public Types inherited from mrs::interface::EndpointManager
using DbSchema = database::entry::DbSchema
 
using DbService = database::entry::DbService
 
using UrlHost = rest::entry::AppUrlHost
 
using ContentSet = database::entry::ContentSet
 
using ContentFile = database::entry::ContentFile
 
using DbObject = database::entry::DbObject
 

Public Member Functions

 EndpointManager (const std::shared_ptr< mrs::interface::EndpointConfiguration > &configuration, collector::MysqlCacheManager *cache, mrs::interface::AuthorizeManager *auth_manager, mrs::GtidManager *gtid_manager, EndpointFactoryPtr endpoint_factory={}, ResponseCache *response_cache={}, ResponseCache *file_cache={}, SlowQueryMonitor *slow_query_monitor={}, MysqlTaskMonitor *task_monitor={})
 
void configure (const std::optional< std::string > &options) override
 
void update (const std::vector< DbService > &services) override
 
void update (const std::vector< DbSchema > &schemas) override
 
void update (const std::vector< DbObject > &objs) override
 
void update (const std::vector< UrlHost > &hosts) override
 
void update (const std::vector< ContentSet > &set) override
 
void update (const std::vector< ContentFile > &files) override
 
void clear () override
 
- Public Member Functions inherited from mrs::interface::EndpointManager
virtual ~EndpointManager ()=default
 

Private Attributes

std::map< UniversalId, EndpointBasePtrhold_host_endpoints_
 
std::map< EndpointId, std::weak_ptr< EndpointBase > > endpoints_
 
collector::MysqlCacheManagercache_
 
mrs::interface::AuthorizeManagerauth_manager_
 
mrs::GtidManagergtid_manager_
 
std::vector< std::shared_ptr< interface::RestHandler > > custom_paths_
 
std::shared_ptr< EndpointFactoryendpoint_factory_
 

Member Typedef Documentation

◆ EndpointBase

◆ EndpointBasePtr

◆ EndpointFactory

◆ EndpointFactoryPtr

◆ EntryKey

using mrs::EndpointManager::EntryKey = database::entry::EntryKey

◆ EntryType

using mrs::EndpointManager::EntryType = database::entry::EntryType

◆ MysqlTaskMonitor

◆ ResponseCache

◆ SlowQueryMonitor

◆ UniversalId

using mrs::EndpointManager::UniversalId = database::entry::UniversalId

Constructor & Destructor Documentation

◆ EndpointManager()

mrs::EndpointManager::EndpointManager ( const std::shared_ptr< mrs::interface::EndpointConfiguration > &  configuration,
collector::MysqlCacheManager cache,
mrs::interface::AuthorizeManager auth_manager,
mrs::GtidManager gtid_manager,
EndpointFactoryPtr  endpoint_factory = {},
ResponseCache response_cache = {},
ResponseCache file_cache = {},
SlowQueryMonitor slow_query_monitor = {},
MysqlTaskMonitor task_monitor = {} 
)

Member Function Documentation

◆ clear()

void mrs::EndpointManager::clear ( )
overridevirtual

◆ configure()

void mrs::EndpointManager::configure ( const std::optional< std::string > &  options)
overridevirtual

◆ update() [1/6]

void mrs::EndpointManager::update ( const std::vector< ContentFile > &  files)
overridevirtual

◆ update() [2/6]

void mrs::EndpointManager::update ( const std::vector< ContentSet > &  set)
overridevirtual

◆ update() [3/6]

void mrs::EndpointManager::update ( const std::vector< DbObject > &  objs)
overridevirtual

◆ update() [4/6]

void mrs::EndpointManager::update ( const std::vector< DbSchema > &  schemas)
overridevirtual

◆ update() [5/6]

void mrs::EndpointManager::update ( const std::vector< DbService > &  services)
overridevirtual

◆ update() [6/6]

void mrs::EndpointManager::update ( const std::vector< UrlHost > &  hosts)
overridevirtual

Member Data Documentation

◆ auth_manager_

mrs::interface::AuthorizeManager* mrs::EndpointManager::auth_manager_
private

◆ cache_

collector::MysqlCacheManager* mrs::EndpointManager::cache_
private

◆ custom_paths_

std::vector<std::shared_ptr<interface::RestHandler> > mrs::EndpointManager::custom_paths_
private

◆ endpoint_factory_

std::shared_ptr<EndpointFactory> mrs::EndpointManager::endpoint_factory_
private

◆ endpoints_

std::map<EndpointId, std::weak_ptr<EndpointBase> > mrs::EndpointManager::endpoints_
private

◆ gtid_manager_

mrs::GtidManager* mrs::EndpointManager::gtid_manager_
private

◆ hold_host_endpoints_

std::map<UniversalId, EndpointBasePtr> mrs::EndpointManager::hold_host_endpoints_
private

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