6 #ifndef IROHA_YAC_VOTE_STORAGE_HPP 7 #define IROHA_YAC_VOTE_STORAGE_HPP 10 #include <unordered_map> 13 #include <boost/optional.hpp> 69 auto getProposalStorage(
const Round &round);
70 auto getProposalStorage(
const Round &round)
const;
80 boost::optional<std::vector<YacProposalStorage>::iterator>
92 std::unique_ptr<SupermajorityChecker> supermajority_checker,
102 boost::optional<Answer> store(std::vector<VoteMessage> state,
110 bool isCommitted(
const Round &round);
115 void remove(
const Round &round);
133 void nextProcessingState(
const Round &round);
139 boost::optional<Round> getLastFinalizedRound()
const;
146 boost::optional<Answer> getState(
const Round &round)
const;
157 std::vector<YacProposalStorage> proposal_storages_;
164 std::unordered_map<Round, ProposalState> processing_state_;
170 std::shared_ptr<CleanupStrategy> strategy_;
173 boost::optional<Round> last_round_;
175 std::shared_ptr<SupermajorityChecker> supermajority_checker_;
181 #endif // IROHA_YAC_VOTE_STORAGE_HPP
Definition: yac_vote_storage.hpp:60
ProposalState
Definition: yac_vote_storage.hpp:51
std::shared_ptr< LoggerManagerTree > LoggerManagerTreePtr
Definition: logger_manager_fwd.hpp:14
size_t PeersNumberType
Type for number of peers in round.
Definition: yac_types.hpp:13
Definition: vote_message.hpp:20
Definition: cluster_order.hpp:16