MySQL 9.1.0
Source Code Documentation
Gcs_xcom_view_change_control Class Reference

#include <gcs_xcom_state_exchange.h>

Inheritance diagram for Gcs_xcom_view_change_control:
[legend]

Public Member Functions

 Gcs_xcom_view_change_control ()
 
 ~Gcs_xcom_view_change_control () override
 
void start_view_exchange () override
 
void end_view_exchange () override
 
void wait_for_view_change_end () override
 
bool is_view_changing () override
 
bool start_leave () override
 
void end_leave () override
 
bool is_leaving () override
 
bool start_join () override
 
void end_join () override
 
bool is_joining () override
 
void set_current_view (Gcs_view *current_view) override
 
Gcs_viewget_current_view () override
 
bool belongs_to_group () override
 
void set_belongs_to_group (bool belong) override
 
void set_unsafe_current_view (Gcs_view *current_view) override
 
Gcs_viewget_unsafe_current_view () override
 
void finalize () override
 
bool is_finalized () override
 
- Public Member Functions inherited from Gcs_xcom_view_change_control_interface
virtual ~Gcs_xcom_view_change_control_interface ()=default
 

Private Member Functions

 Gcs_xcom_view_change_control (Gcs_xcom_view_change_control const &)
 
Gcs_xcom_view_change_controloperator= (Gcs_xcom_view_change_control const &)
 

Private Attributes

bool m_view_changing
 
bool m_leaving
 
bool m_joining
 
My_xp_cond_impl m_wait_for_view_cond
 
My_xp_mutex_impl m_wait_for_view_mutex
 
My_xp_mutex_impl m_joining_leaving_mutex
 
Gcs_viewm_current_view
 
My_xp_mutex_impl m_current_view_mutex
 
bool m_belongs_to_group
 
std::atomic< bool > m_finalized
 

Constructor & Destructor Documentation

◆ Gcs_xcom_view_change_control() [1/2]

Gcs_xcom_view_change_control::Gcs_xcom_view_change_control ( )
explicit

◆ ~Gcs_xcom_view_change_control()

Gcs_xcom_view_change_control::~Gcs_xcom_view_change_control ( )
override

◆ Gcs_xcom_view_change_control() [2/2]

Gcs_xcom_view_change_control::Gcs_xcom_view_change_control ( Gcs_xcom_view_change_control const &  )
private

Member Function Documentation

◆ belongs_to_group()

bool Gcs_xcom_view_change_control::belongs_to_group ( )
overridevirtual

◆ end_join()

void Gcs_xcom_view_change_control::end_join ( )
overridevirtual

◆ end_leave()

void Gcs_xcom_view_change_control::end_leave ( )
overridevirtual

◆ end_view_exchange()

void Gcs_xcom_view_change_control::end_view_exchange ( )
overridevirtual

◆ finalize()

void Gcs_xcom_view_change_control::finalize ( )
overridevirtual

◆ get_current_view()

Gcs_view * Gcs_xcom_view_change_control::get_current_view ( )
overridevirtual

◆ get_unsafe_current_view()

Gcs_view * Gcs_xcom_view_change_control::get_unsafe_current_view ( )
overridevirtual

◆ is_finalized()

bool Gcs_xcom_view_change_control::is_finalized ( )
overridevirtual

◆ is_joining()

bool Gcs_xcom_view_change_control::is_joining ( )
overridevirtual

◆ is_leaving()

bool Gcs_xcom_view_change_control::is_leaving ( )
overridevirtual

◆ is_view_changing()

bool Gcs_xcom_view_change_control::is_view_changing ( )
overridevirtual

◆ operator=()

Gcs_xcom_view_change_control & Gcs_xcom_view_change_control::operator= ( Gcs_xcom_view_change_control const &  )
private

◆ set_belongs_to_group()

void Gcs_xcom_view_change_control::set_belongs_to_group ( bool  belong)
overridevirtual

◆ set_current_view()

void Gcs_xcom_view_change_control::set_current_view ( Gcs_view current_view)
overridevirtual

◆ set_unsafe_current_view()

void Gcs_xcom_view_change_control::set_unsafe_current_view ( Gcs_view current_view)
overridevirtual

◆ start_join()

bool Gcs_xcom_view_change_control::start_join ( )
overridevirtual

◆ start_leave()

bool Gcs_xcom_view_change_control::start_leave ( )
overridevirtual

◆ start_view_exchange()

void Gcs_xcom_view_change_control::start_view_exchange ( )
overridevirtual

◆ wait_for_view_change_end()

void Gcs_xcom_view_change_control::wait_for_view_change_end ( )
overridevirtual

Member Data Documentation

◆ m_belongs_to_group

bool Gcs_xcom_view_change_control::m_belongs_to_group
private

◆ m_current_view

Gcs_view* Gcs_xcom_view_change_control::m_current_view
private

◆ m_current_view_mutex

My_xp_mutex_impl Gcs_xcom_view_change_control::m_current_view_mutex
private

◆ m_finalized

std::atomic<bool> Gcs_xcom_view_change_control::m_finalized
private

◆ m_joining

bool Gcs_xcom_view_change_control::m_joining
private

◆ m_joining_leaving_mutex

My_xp_mutex_impl Gcs_xcom_view_change_control::m_joining_leaving_mutex
private

◆ m_leaving

bool Gcs_xcom_view_change_control::m_leaving
private

◆ m_view_changing

bool Gcs_xcom_view_change_control::m_view_changing
private

◆ m_wait_for_view_cond

My_xp_cond_impl Gcs_xcom_view_change_control::m_wait_for_view_cond
private

◆ m_wait_for_view_mutex

My_xp_mutex_impl Gcs_xcom_view_change_control::m_wait_for_view_mutex
private

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