hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
iroha::consensus::yac::YacGateImpl Class Reference

#include "yac_gate_impl.hpp"

Inheritance diagram for iroha::consensus::yac::YacGateImpl:
Inheritance graph
Collaboration diagram for iroha::consensus::yac::YacGateImpl:
Collaboration graph

Public Member Functions

 YacGateImpl (std::shared_ptr< HashGate > hash_gate, std::shared_ptr< YacPeerOrderer > orderer, boost::optional< ClusterOrdering > alternative_order, std::shared_ptr< const LedgerState > ledger_state, std::shared_ptr< YacHashProvider > hash_provider, std::shared_ptr< simulator::BlockCreator > block_creator, std::shared_ptr< consensus::ConsensusResultCache > consensus_result_cache, logger::LoggerPtr log, std::function< std::chrono::milliseconds(ConsensusOutcomeType)> delay_func=ConsensusOutcomeDelay(std::chrono::milliseconds(0)))
 
void vote (const simulator::BlockCreatorEvent &event) override
 
rxcpp::observable< GateObjectonOutcome () override
 
void stop () override
 Prevent any new outgoing network activity. Be passive. More...
 
- Public Member Functions inherited from iroha::network::ConsensusGate
virtual ~ConsensusGate ()=default
 

Additional Inherited Members

- Public Types inherited from iroha::network::ConsensusGate
using Round = consensus::Round
 
using GateObject = consensus::GateObject
 

Constructor & Destructor Documentation

◆ YacGateImpl()

iroha::consensus::yac::YacGateImpl::YacGateImpl ( std::shared_ptr< HashGate hash_gate,
std::shared_ptr< YacPeerOrderer orderer,
boost::optional< ClusterOrdering alternative_order,
std::shared_ptr< const LedgerState ledger_state,
std::shared_ptr< YacHashProvider hash_provider,
std::shared_ptr< simulator::BlockCreator block_creator,
std::shared_ptr< consensus::ConsensusResultCache consensus_result_cache,
logger::LoggerPtr  log,
std::function< std::chrono::milliseconds(ConsensusOutcomeType)>  delay_func = ConsensusOutcomeDelay(std::chrono::milliseconds(0)) 
)
Here is the call graph for this function:

Member Function Documentation

◆ onOutcome()

rxcpp::observable< YacGateImpl::GateObject > iroha::consensus::yac::YacGateImpl::onOutcome ( )
overridevirtual
Returns
emit gate responses

Implements iroha::network::ConsensusGate.

◆ stop()

void iroha::consensus::yac::YacGateImpl::stop ( )
overridevirtual

Prevent any new outgoing network activity. Be passive.

Implements iroha::network::ConsensusGate.

Here is the call graph for this function:

◆ vote()

void iroha::consensus::yac::YacGateImpl::vote ( const simulator::BlockCreatorEvent event)
overridevirtual

Vote for given block creator event in consensus

Implements iroha::network::ConsensusGate.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: