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

#include <transaction_executor.h>

Public Types

typedef std::function< void(std::unique_ptr< Request >, std::unique_ptr< BatchUserResponse > resp)> PostExecuteFunc
 
typedef std::function< void(Request *)> PreExecuteFunc
 
typedef std::function< void(uint64_t seq)> SeqUpdateNotifyFunc
 

Public Member Functions

 TransactionExecutor (const ResDBConfig &config, PostExecuteFunc post_exec_func, SystemInfo *system_info, std::unique_ptr< TransactionManager > transaction_manager)
 
 ~TransactionExecutor ()
 
void Stop ()
 
bool NeedResponse ()
 
int Commit (std::unique_ptr< Request > request)
 
uint64_t GetMaxPendingExecutedSeq ()
 
void SetPreExecuteFunc (PreExecuteFunc func)
 
void SetSeqUpdateNotifyFunc (SeqUpdateNotifyFunc func)
 
void SetDuplicateManager (DuplicateManager *manager)
 
Storage * GetStorage ()
 

Protected Attributes

ResDBConfig config_
 

Detailed Description

Definition at line 35 of file transaction_executor.h.

Member Typedef Documentation

◆ PostExecuteFunc

typedef std::function<void(std::unique_ptr<Request>, std::unique_ptr<BatchUserResponse> resp)> resdb::TransactionExecutor::PostExecuteFunc

Definition at line 39 of file transaction_executor.h.

◆ PreExecuteFunc

typedef std::function<void(Request*)> resdb::TransactionExecutor::PreExecuteFunc

Definition at line 40 of file transaction_executor.h.

◆ SeqUpdateNotifyFunc

typedef std::function<void(uint64_t seq)> resdb::TransactionExecutor::SeqUpdateNotifyFunc

Definition at line 41 of file transaction_executor.h.

Constructor & Destructor Documentation

◆ TransactionExecutor()

resdb::TransactionExecutor::TransactionExecutor ( const ResDBConfig &  config,
PostExecuteFunc  post_exec_func,
SystemInfo *  system_info,
std::unique_ptr< TransactionManager >  transaction_manager 
)

Definition at line 26 of file transaction_executor.cpp.

◆ ~TransactionExecutor()

resdb::TransactionExecutor::~TransactionExecutor ( )

Definition at line 49 of file transaction_executor.cpp.

Member Function Documentation

◆ Commit()

int resdb::TransactionExecutor::Commit ( std::unique_ptr< Request >  request)

Definition at line 87 of file transaction_executor.cpp.

◆ GetMaxPendingExecutedSeq()

uint64_t resdb::TransactionExecutor::GetMaxPendingExecutedSeq ( )

Definition at line 78 of file transaction_executor.cpp.

◆ GetStorage()

Storage * resdb::TransactionExecutor::GetStorage ( )

Definition at line 64 of file transaction_executor.cpp.

◆ NeedResponse()

bool resdb::TransactionExecutor::NeedResponse ( )

Definition at line 82 of file transaction_executor.cpp.

◆ SetDuplicateManager()

void resdb::TransactionExecutor::SetDuplicateManager ( DuplicateManager *  manager)

Definition at line 242 of file transaction_executor.cpp.

◆ SetPreExecuteFunc()

void resdb::TransactionExecutor::SetPreExecuteFunc ( PreExecuteFunc  func)

Definition at line 68 of file transaction_executor.cpp.

◆ SetSeqUpdateNotifyFunc()

void resdb::TransactionExecutor::SetSeqUpdateNotifyFunc ( SeqUpdateNotifyFunc  func)

Definition at line 72 of file transaction_executor.cpp.

◆ Stop()

void resdb::TransactionExecutor::Stop ( )

Definition at line 51 of file transaction_executor.cpp.

Member Data Documentation

◆ config_

ResDBConfig resdb::TransactionExecutor::config_
protected

Definition at line 84 of file transaction_executor.h.