82 bool enable_viewchange =
false)
86 enable_viewchange_(enable_viewchange),
94 std::vector<std::unique_ptr<Context>> context);
103 std::unique_ptr<Request> request,
const SignatureInfo& signature,
104 bool is_main_request,
105 std::function<
void(
const Request&,
int received_count,
107 std::atomic<TransactionStatue>* status,
bool force)>
125 std::atomic<bool> is_committed_ =
false;
126 std::atomic<bool> is_prepared_ =
false;
127 std::vector<std::unique_ptr<Context>> context_list_;
128 std::map<std::string, std::list<std::unique_ptr<RequestInfo>>>
129 data_[Request::NUM_OF_TYPE];
130 std::vector<std::unique_ptr<RequestInfo>> prepared_proof_;
133 bool enable_viewchange_;
135 std::vector<SignatureInfo> commit_certs_;
136 std::map<std::string, std::bitset<128>> senders_[Request::NUM_OF_TYPE];
137 std::set<std::unique_ptr<RequestInfo>> other_main_request_;
int AddRequest(std::unique_ptr< Request > request, const SignatureInfo &signature, bool is_main_request, std::function< void(const Request &, int received_count, CollectorDataType *data, std::atomic< TransactionStatue > *status, bool force)> call_back)