MySQL 9.3.0
Source Code Documentation
mrs::GtidManager Class Reference

#include <gtid_manager.h>

Classes

class  AddressContext
 
class  GtidOptions
 
class  ParseGtidOptions
 

Public Types

using clock = std::chrono::steady_clock
 
using duration = clock::duration
 
using Uid = database::GTIDuuid
 
using Gtid = database::Gtid
 
using GtidSet = database::GtidSet
 

Public Member Functions

 GtidManager ()
 
void configure (const std::string &json_config)
 
GtidAction is_executed_on_server (const mysql_harness::Destination &addr, const Gtid &gtid)
 
void remember (const mysql_harness::Destination &addr, const Gtid &gtid)
 
bool needs_update (const mysql_harness::Destination &addr)
 
void reinitialize (const mysql_harness::Destination &addr, const std::vector< GtidSet > &sets)
 

Private Member Functions

GtidOptions parse_json_options (const std::string &options)
 
bool needs_update (AddressContext *ctxt)
 
std::shared_ptr< AddressContextget_context (const mysql_harness::Destination &addr)
 

Private Attributes

bool enable_ {true}
 
duration refresh_timeout_ {}
 
std::optional< uint64_t > refresh_after_ {}
 
std::mutex mutex_address_container_
 
std::map< mysql_harness::Destination, std::shared_ptr< AddressContext > > address_context_
 

Member Typedef Documentation

◆ clock

using mrs::GtidManager::clock = std::chrono::steady_clock

◆ duration

using mrs::GtidManager::duration = clock::duration

◆ Gtid

◆ GtidSet

◆ Uid

Constructor & Destructor Documentation

◆ GtidManager()

mrs::GtidManager::GtidManager ( )
inline

Member Function Documentation

◆ configure()

void mrs::GtidManager::configure ( const std::string &  json_config)
inline

◆ get_context()

std::shared_ptr< AddressContext > mrs::GtidManager::get_context ( const mysql_harness::Destination addr)
inlineprivate

◆ is_executed_on_server()

GtidAction mrs::GtidManager::is_executed_on_server ( const mysql_harness::Destination addr,
const Gtid gtid 
)
inline

◆ needs_update() [1/2]

bool mrs::GtidManager::needs_update ( AddressContext ctxt)
inlineprivate

◆ needs_update() [2/2]

bool mrs::GtidManager::needs_update ( const mysql_harness::Destination addr)
inline

◆ parse_json_options()

GtidOptions mrs::GtidManager::parse_json_options ( const std::string &  options)
inlineprivate

◆ reinitialize()

void mrs::GtidManager::reinitialize ( const mysql_harness::Destination addr,
const std::vector< GtidSet > &  sets 
)
inline

◆ remember()

void mrs::GtidManager::remember ( const mysql_harness::Destination addr,
const Gtid gtid 
)
inline

Member Data Documentation

◆ address_context_

std::map<mysql_harness::Destination, std::shared_ptr<AddressContext> > mrs::GtidManager::address_context_
private

◆ enable_

bool mrs::GtidManager::enable_ {true}
private

◆ mutex_address_container_

std::mutex mrs::GtidManager::mutex_address_container_
private

◆ refresh_after_

std::optional<uint64_t> mrs::GtidManager::refresh_after_ {}
private

◆ refresh_timeout_

duration mrs::GtidManager::refresh_timeout_ {}
private

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