24#ifndef MYSQL_CSA_SYNC_TRANSACTION_PROVIDER_H
25#define MYSQL_CSA_SYNC_TRANSACTION_PROVIDER_H
47class Sync_transaction_provider;
49 std::unique_ptr<Sync_transaction_provider>;
70 std::size_t max_read_event_bytes,
71 std::size_t max_read_payload_bytes);
74 void start()
override;
Definition: rpl_rli.h:208
A job represents a single unit of work applied by worker pool threads.
Definition: job.h:47
Implementation of 'Transaction_provider' interface.
Definition: sync_transaction_provider.h:61
Job_ptr next() override
Consumes the next Job, blocks until fetched.
Definition: sync_transaction_provider.cpp:71
bool is_error() const override
Check if provider has an error.
Definition: sync_transaction_provider.cpp:48
Sync_transaction_provider(int instance_id, Relay_log_info *rli, std::size_t max_read_event_bytes, std::size_t max_read_payload_bytes)
Definition: sync_transaction_provider.cpp:38
bool is_stopped() const override
Checks if stop has been requested.
Definition: sync_transaction_provider.cpp:67
void stop() override
Stops provider and wakes blocked reader calls.
Definition: sync_transaction_provider.cpp:52
Reader_sptr m_reader
Shared reader object.
Definition: sync_transaction_provider.h:107
std::atomic< bool > m_is_stopped
Variable to gracefully stop the thread.
Definition: sync_transaction_provider.h:101
Relay_log_info * m_rli
Pointer to channel rli object.
Definition: sync_transaction_provider.h:104
scheduler::Statistics_instance_monitor_ref m_stat_monitor
Statistics monitoring object.
Definition: sync_transaction_provider.h:110
void finish() override
Completes provider shutdown from the owner thread (transaction receiver).
Definition: sync_transaction_provider.cpp:57
void start() override
Starts asynchronous thread that decodes jobs from the stream.
Definition: sync_transaction_provider.cpp:46
Interface for all transaction providers.
Definition: transaction_provider.h:45
Definition: channel.cpp:28
std::shared_ptr< Reader > Reader_sptr
Shared reader type.
Definition: reader.h:38
std::unique_ptr< Sync_transaction_provider > Sync_transaction_provider_sptr
Definition: sync_transaction_provider.h:49
std::reference_wrapper< Statistics_instance_monitor > Statistics_instance_monitor_ref
Definition: statistics_instance_monitor.h:43