6 #ifndef IROHA_YAC_VOTE_STORAGE_HPP 7 #define IROHA_YAC_VOTE_STORAGE_HPP 10 #include <unordered_map> 13 #include <boost/optional.hpp> 72 auto getProposalStorage(
const Round &round);
73 auto getProposalStorage(
const Round &round)
const;
83 boost::optional<std::vector<YacProposalStorage>::iterator>
90 void remove(
const Round &round);
101 std::shared_ptr<CleanupStrategy> cleanup_strategy,
102 std::unique_ptr<SupermajorityChecker> supermajority_checker,
112 boost::optional<Answer> store(std::vector<VoteMessage> state,
120 bool isCommitted(
const Round &round);
138 void nextProcessingState(
const Round &round);
144 boost::optional<Round> getLastFinalizedRound()
const;
151 boost::optional<Answer> getState(
const Round &round)
const;
162 std::vector<YacProposalStorage> proposal_storages_;
169 std::unordered_map<Round, ProposalState, RoundTypeHasher>
176 std::shared_ptr<CleanupStrategy> strategy_;
179 boost::optional<Round> last_round_;
181 std::shared_ptr<SupermajorityChecker> supermajority_checker_;
190 #endif // IROHA_YAC_VOTE_STORAGE_HPP
Definition: yac_vote_storage.hpp:63
ProposalState
Definition: yac_vote_storage.hpp:54
Definition: block_query.hpp:15
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:16
Definition: vote_message.hpp:22