hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
transaction_processor.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_TRANSACTION_PROCESSOR_HPP
7 #define IROHA_TRANSACTION_PROCESSOR_HPP
8 
9 #include <memory>
10 
11 namespace shared_model {
12  namespace interface {
13  class Block;
14  class TransactionBatch;
15  } // namespace interface
16 } // namespace shared_model
17 
18 namespace iroha {
19  class MstState;
20  namespace simulator {
21  struct VerifiedProposalCreatorEvent;
22  }
23  namespace torii {
29  public:
34  virtual void batchHandle(
35  std::shared_ptr<shared_model::interface::TransactionBatch>
36  transaction_batch) const = 0;
37 
38  virtual void processVerifiedProposalCreatorEvent(
40 
41  virtual void processCommit(
42  std::shared_ptr<shared_model::interface::Block const> const
43  &block) = 0;
44 
45  virtual void processStateUpdate(
46  std::shared_ptr<MstState> const &state) = 0;
47 
48  virtual void processPreparedBatch(
49  std::shared_ptr<shared_model::interface::TransactionBatch> const
50  &batch) = 0;
51 
52  virtual void processExpiredBatch(
53  std::shared_ptr<shared_model::interface::TransactionBatch> const
54  &batch) = 0;
55 
56  virtual ~TransactionProcessor() = default;
57  };
58  } // namespace torii
59 } // namespace iroha
60 #endif // IROHA_TRANSACTION_PROCESSOR_HPP
Definition: transaction_processor.hpp:28
Definition: command_client.hpp:16
Definition: block_query.hpp:15
Definition: command_executor.hpp:13
Definition: verified_proposal_creator_common.hpp:21