24#ifndef MYSQL_CSA_SERVICE_CSA_CHANNEL_H
25#define MYSQL_CSA_SERVICE_CSA_CHANNEL_H
46 using Clock_ptr = std::shared_ptr<scheduler::Scheduler_clock>;
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Schedule factory class - creates task schedule object pointer based on input parameters.
Definition: schedule_factory.h:38
Main scheduling class.
Definition: scheduler.h:66
MySQL wrapper for a condition variable, template which may be specialized with a specific implementat...
Definition: thread_pool.h:48
Definition: channel.cpp:28
std::shared_ptr< Transaction_provider > Transaction_provider_sptr
Definition: transaction_provider.h:34
Aggregates applier structures for a single channel.
Definition: csa_channel.h:40
std::atomic< bool > m_channel_stopped
Stop channel flag, to avoid retries after applier stop.
Definition: csa_channel.h:75
THD * channel_thd
Channel THD.
Definition: csa_channel.h:73
Thread_pool_ptr thread_pool
Thread pool instance.
Definition: csa_channel.h:59
std::size_t channel_instance_id
Channel unique instance id.
Definition: csa_channel.h:71
std::shared_ptr< Thread_pool > Thread_pool_ptr
Shared pointer to Thread_pool.
Definition: csa_channel.h:44
Session_service_ptr session_service
Session service - sessions contain channel information.
Definition: csa_channel.h:65
Clock_ptr scheduler_clock
Channel clock.
Definition: csa_channel.h:61
std::shared_ptr< Scheduler_type > Scheduler_ptr
Shared pointer to Scheduler_type.
Definition: csa_channel.h:50
std::shared_ptr< scheduler::Scheduler_clock > Clock_ptr
Shared pointer to Scheduler_clock.
Definition: csa_channel.h:46
Transaction_provider_sptr provider
Transaction provider for this channel.
Definition: csa_channel.h:69
std::atomic< bool > m_soft_stop_enabled
Stop stop flag, when enabled, CSA won't kill ongoing sessions.
Definition: csa_channel.h:77
std::shared_ptr< Session_service > Session_service_ptr
Shared pointer to Session_service.
Definition: csa_channel.h:56
std::shared_ptr< Schedule_factory > Schedule_factory_ptr
Shared pointer to Schedule_factory.
Definition: csa_channel.h:54
Clock_ptr commit_order_clock
Channel commit order clock.
Definition: csa_channel.h:63
Scheduler_ptr scheduler
Scheduler.
Definition: csa_channel.h:67