#include "yac.hpp"


Public Member Functions | |
| Yac (YacVoteStorage vote_storage, std::shared_ptr< YacNetwork > network, std::shared_ptr< YacCryptoProvider > crypto, std::shared_ptr< Timer > timer, ClusterOrdering order, Round round, rxcpp::observe_on_one_worker worker, logger::LoggerPtr log) | |
| ~Yac () override | |
| void | vote (YacHash hash, ClusterOrdering order, boost::optional< ClusterOrdering > alternative_order=boost::none) override |
| rxcpp::observable< Answer > | onOutcome () override |
| void | onState (std::vector< VoteMessage > state) override |
| void | stop () override |
| Prevent any new outgoing network activity. Be passive. More... | |
Public Member Functions inherited from iroha::consensus::yac::HashGate | |
| virtual | ~HashGate ()=default |
Public Member Functions inherited from iroha::consensus::yac::YacNetworkNotifications | |
| virtual | ~YacNetworkNotifications ()=default |
Static Public Member Functions | |
| static std::shared_ptr< Yac > | create (YacVoteStorage vote_storage, std::shared_ptr< YacNetwork > network, std::shared_ptr< YacCryptoProvider > crypto, std::shared_ptr< Timer > timer, ClusterOrdering order, Round round, rxcpp::observe_on_one_worker worker, logger::LoggerPtr log) |
| iroha::consensus::yac::Yac::Yac | ( | YacVoteStorage | vote_storage, |
| std::shared_ptr< YacNetwork > | network, | ||
| std::shared_ptr< YacCryptoProvider > | crypto, | ||
| std::shared_ptr< Timer > | timer, | ||
| ClusterOrdering | order, | ||
| Round | round, | ||
| rxcpp::observe_on_one_worker | worker, | ||
| logger::LoggerPtr | log | ||
| ) |
|
override |
|
static |
Method for creating Yac consensus object
| delay | for timer in milliseconds |
|
overridevirtual |
Observable with consensus outcomes - commits and rejects - in network
Implements iroha::consensus::yac::HashGate.
|
overridevirtual |
Callback on receiving collection of votes
| state | - provided message |
Implements iroha::consensus::yac::YacNetworkNotifications.

|
overridevirtual |
Prevent any new outgoing network activity. Be passive.
Implements iroha::consensus::yac::HashGate.
|
overridevirtual |
Proposal new hash in network
| hash | - hash for voting |
| order | - peer ordering for round in hash |
| alternative_order | - peer order |
Implements iroha::consensus::yac::HashGate.

