hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
peer_orderer_impl.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_PEER_ORDERER_IMPL_HPP
7 #define IROHA_PEER_ORDERER_IMPL_HPP
8 
9 #include <memory>
10 
13 
14 namespace iroha {
15 
16  namespace consensus {
17  namespace yac {
18 
19  class ClusterOrdering;
20  class YacHash;
21 
23  public:
24  explicit PeerOrdererImpl(
25  std::shared_ptr<ametsuchi::PeerQueryFactory> peer_query_factory);
26 
27  boost::optional<ClusterOrdering> getInitialOrdering() override;
28 
29  boost::optional<ClusterOrdering> getOrdering(
30  const YacHash &hash) override;
31 
32  private:
33  std::shared_ptr<ametsuchi::PeerQueryFactory> peer_query_factory_;
34  };
35 
36  } // namespace yac
37  } // namespace consensus
38 } // namespace iroha
39 
40 #endif // IROHA_PEER_ORDERER_IMPL_HPP
PeerOrdererImpl(std::shared_ptr< ametsuchi::PeerQueryFactory > peer_query_factory)
Definition: peer_orderer_impl.cpp:18
Definition: yac_hash_provider.hpp:30
boost::optional< ClusterOrdering > getInitialOrdering() override
Definition: peer_orderer_impl.cpp:22
Definition: peer_orderer_impl.hpp:22
Definition: block_query.hpp:16
hash256_t hash(const T &pb)
Definition: pb_common.hpp:43
Definition: yac_peer_orderer.hpp:22
boost::optional< ClusterOrdering > getOrdering(const YacHash &hash) override
Definition: peer_orderer_impl.cpp:28