hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
peer_communication_service.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_PEER_COMMUNICATION_SERVICE_HPP
7 #define IROHA_PEER_COMMUNICATION_SERVICE_HPP
8 
9 #include <rxcpp/rx.hpp>
13 
14 namespace shared_model {
15  namespace interface {
16  class Proposal;
17  class TransactionBatch;
18  } // namespace interface
19 } // namespace shared_model
20 
21 namespace iroha {
22  namespace network {
23 
28  public:
33  virtual void propagate_batch(
34  std::shared_ptr<shared_model::interface::TransactionBatch> batch)
35  const = 0;
36 
42  virtual rxcpp::observable<OrderingEvent> onProposal() const = 0;
43 
48  virtual rxcpp::observable<simulator::VerifiedProposalCreatorEvent>
49  onVerifiedProposal() const = 0;
50 
59  virtual rxcpp::observable<synchronizer::SynchronizationEvent> on_commit()
60  const = 0;
61 
62  virtual ~PeerCommunicationService() = default;
63  };
64 
65  } // namespace network
66 } // namespace iroha
67 
68 #endif // IROHA_PEER_COMMUNICATION_SERVICE_HPP
Definition: peer_communication_service.hpp:27
Definition: block_query.hpp:16
Definition: command_executor.hpp:12