hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
on_demand_ordering_service.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_ON_DEMAND_ORDERING_SERVICE_HPP
7 #define IROHA_ON_DEMAND_ORDERING_SERVICE_HPP
8 
10 
11 namespace iroha {
12  namespace ordering {
13 
18  public:
19  using HashesSetType =
20  std::unordered_set<shared_model::crypto::Hash,
22 
27  virtual void onCollaborationOutcome(consensus::Round round) = 0;
28 
33  virtual void onTxsCommitted(const HashesSetType &hashes) = 0;
34 
39  virtual void forCachedBatches(
40  std::function<void(const transport::OdOsNotification::BatchesSetType
41  &)> const &f) = 0;
42  };
43 
44  } // namespace ordering
45 } // namespace iroha
46 
47 #endif // IROHA_ON_DEMAND_ORDERING_SERVICE_HPP
Definition: hash.hpp:18
std::unordered_set< std::shared_ptr< shared_model::interface::TransactionBatch >, BatchPointerHasher, shared_model::interface::BatchHashEquality > BatchesSetType
Definition: on_demand_os_transport.hpp:54
virtual void forCachedBatches(std::function< void(const transport::OdOsNotification::BatchesSetType &)> const &f)=0
Definition: on_demand_ordering_service.hpp:17
std::unordered_set< shared_model::crypto::Hash, shared_model::crypto::Hash::Hasher > HashesSetType
Definition: on_demand_ordering_service.hpp:21
Definition: block_query.hpp:15
virtual void onTxsCommitted(const HashesSetType &hashes)=0
Definition: on_demand_os_transport.hpp:35
virtual void onCollaborationOutcome(consensus::Round round)=0
Definition: round.hpp:31
Definition: hash.hpp:23