Loading...
Searching...
No Matches
resdb::GeoTransactionExecutor Class Reference

#include <geo_transaction_executor.h>

Inheritance diagram for resdb::GeoTransactionExecutor:
resdb::TransactionManager

Public Member Functions

 GeoTransactionExecutor (const ResDBConfig &config, std::unique_ptr< SystemInfo > system_info, std::unique_ptr< ReplicaCommunicator > replica_communicator, std::unique_ptr< TransactionManager > local_transaction_manager)
 
virtual ~GeoTransactionExecutor ()
 
virtual std::unique_ptr< BatchUserResponse > ExecuteBatch (const BatchUserRequest &request) override
 
bool IsStop ()
 
- Public Member Functions inherited from resdb::TransactionManager
 TransactionManager (bool is_out_of_order=false, bool need_response=true)
 
virtual ~TransactionManager ()=default
 
virtual std::unique_ptr< std::string > ExecuteData (const std::string &request)
 
bool IsOutOfOrder ()
 
bool NeedResponse ()
 
virtual Storage * GetStorage ()
 

Protected Attributes

ResDBConfig config_
 
std::unique_ptr< SystemInfo > system_info_
 
std::unique_ptr< ReplicaCommunicator > replica_communicator_
 
std::unique_ptr< TransactionManager > local_transaction_manager_ = nullptr
 
std::thread geo_thread_
 
size_t batch_size_ = 50
 
LockFreeQueue< Request > queue_
 
std::atomic< bool > is_stop_
 
std::vector< std::unique_ptr< BatchUserRequest > > messages_
 

Detailed Description

Definition at line 28 of file geo_transaction_executor.h.

Constructor & Destructor Documentation

◆ GeoTransactionExecutor()

resdb::GeoTransactionExecutor::GeoTransactionExecutor ( const ResDBConfig &  config,
std::unique_ptr< SystemInfo >  system_info,
std::unique_ptr< ReplicaCommunicator >  replica_communicator,
std::unique_ptr< TransactionManager >  local_transaction_manager 
)

Definition at line 28 of file geo_transaction_executor.cpp.

◆ ~GeoTransactionExecutor()

resdb::GeoTransactionExecutor::~GeoTransactionExecutor ( )
virtual

Definition at line 41 of file geo_transaction_executor.cpp.

Member Function Documentation

◆ ExecuteBatch()

std::unique_ptr< BatchUserResponse > resdb::GeoTransactionExecutor::ExecuteBatch ( const BatchUserRequest &  request)
overridevirtual

Reimplemented from resdb::TransactionManager.

Definition at line 109 of file geo_transaction_executor.cpp.

◆ IsStop()

bool resdb::GeoTransactionExecutor::IsStop ( )

Definition at line 48 of file geo_transaction_executor.cpp.

Member Data Documentation

◆ batch_size_

size_t resdb::GeoTransactionExecutor::batch_size_ = 50
protected

Definition at line 51 of file geo_transaction_executor.h.

◆ config_

ResDBConfig resdb::GeoTransactionExecutor::config_
protected

Definition at line 46 of file geo_transaction_executor.h.

◆ geo_thread_

std::thread resdb::GeoTransactionExecutor::geo_thread_
protected

Definition at line 50 of file geo_transaction_executor.h.

◆ is_stop_

std::atomic<bool> resdb::GeoTransactionExecutor::is_stop_
protected

Definition at line 53 of file geo_transaction_executor.h.

◆ local_transaction_manager_

std::unique_ptr<TransactionManager> resdb::GeoTransactionExecutor::local_transaction_manager_ = nullptr
protected

Definition at line 49 of file geo_transaction_executor.h.

◆ messages_

std::vector<std::unique_ptr<BatchUserRequest> > resdb::GeoTransactionExecutor::messages_
protected

Definition at line 55 of file geo_transaction_executor.h.

◆ queue_

LockFreeQueue<Request> resdb::GeoTransactionExecutor::queue_
protected

Definition at line 52 of file geo_transaction_executor.h.

◆ replica_communicator_

std::unique_ptr<ReplicaCommunicator> resdb::GeoTransactionExecutor::replica_communicator_
protected

Definition at line 48 of file geo_transaction_executor.h.

◆ system_info_

std::unique_ptr<SystemInfo> resdb::GeoTransactionExecutor::system_info_
protected

Definition at line 47 of file geo_transaction_executor.h.