37 typedef std::function<void(std::unique_ptr<Request>,
38 std::unique_ptr<BatchUserResponse> resp)>
45 std::unique_ptr<TransactionManager> transaction_manager);
52 int Commit(std::unique_ptr<Request> request);
68 void Execute(std::unique_ptr<Request> request,
bool need_execute =
true);
69 void OnlyExecute(std::unique_ptr<Request> request);
71 std::unique_ptr<std::string> DoExecute(
const Request& request);
73 void ExecuteMessage();
74 void ExecuteMessageOutOfOrder();
76 void AddNewData(std::unique_ptr<Request> message);
77 std::unique_ptr<Request> GetNextData();
81 void UpdateMaxExecutedSeq(uint64_t seq);
87 std::atomic<uint64_t> next_execute_seq_ = 1;
92 std::unique_ptr<TransactionManager> transaction_manager_ =
nullptr;
93 std::map<uint64_t, std::unique_ptr<Request>> candidates_;
94 std::thread ordering_thread_, execute_thread_, execute_OOO_thread_;
96 std::atomic<bool> stop_;
97 Stats* global_stats_ =
nullptr;