hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
yac_gate.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_YAC_GATE_HPP
7 #define IROHA_YAC_GATE_HPP
8 
9 #include <rxcpp/rx.hpp>
13 
14 namespace iroha {
15  namespace consensus {
16  namespace yac {
17 
18  class YacHash;
19  class ClusterOrdering;
20 
21  class YacGate : public network::ConsensusGate {};
22 
26  class HashGate {
27  public:
33  virtual void vote(YacHash hash, ClusterOrdering order) = 0;
34 
39  virtual rxcpp::observable<Answer> onOutcome() = 0;
40 
41  virtual ~HashGate() = default;
42  };
43  } // namespace yac
44  } // namespace consensus
45 } // namespace iroha
46 #endif // IROHA_YAC_GATE_HPP
Definition: cluster_order.hpp:28
Definition: yac_hash_provider.hpp:30
Definition: yac_gate.hpp:26
Definition: block_query.hpp:16
hash256_t hash(const T &pb)
Definition: pb_common.hpp:43
Definition: yac_gate.hpp:21
Definition: consensus_gate.hpp:30
virtual void vote(const simulator::BlockCreatorEvent &event)=0
virtual rxcpp::observable< consensus::GateObject > onOutcome()=0