hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
pending_transaction_storage_init.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_PENDING_TRANSACTION_STORAGE_INIT_HPP
7 #define IROHA_PENDING_TRANSACTION_STORAGE_INIT_HPP
8 
9 #include <memory>
10 
11 #include <rxcpp/rx-lite.hpp>
13 
14 namespace shared_model {
15  namespace interface {
16  class TransactionBatch;
17  }
18 } // namespace shared_model
19 
20 namespace iroha {
21 
22  class MstProcessor;
23  class MstState;
24  class PendingTransactionStorage;
25 
26  namespace network {
27  class PeerCommunicationService;
28  }
29 
31  public:
33 
34  std::shared_ptr<PendingTransactionStorage>
35  createPendingTransactionsStorage();
36 
37  void setMstSubscriptions(const MstProcessor &mst_processor);
38 
39  void setFinalizedTxsSubscription(
40  rxcpp::observable<shared_model::interface::types::HashType>
41  finalized_txs);
42 
44 
45  protected:
46  rxcpp::composite_subscription pending_storage_lifetime;
47  rxcpp::subjects::subject<std::shared_ptr<iroha::MstState>> updated_batches;
48  rxcpp::subjects::subject<
49  std::shared_ptr<shared_model::interface::TransactionBatch>>
51  rxcpp::subjects::subject<
52  std::shared_ptr<shared_model::interface::TransactionBatch>>
54  rxcpp::subjects::subject<
58  rxcpp::subjects::subject<shared_model::interface::types::HashType>
60  };
61 } // namespace iroha
62 
63 #endif // IROHA_PENDING_TRANSACTION_STORAGE_INIT_HPP
rxcpp::subjects::subject< std::shared_ptr< shared_model::interface::TransactionBatch > > prepared_batch
Definition: pending_transaction_storage_init.hpp:50
Definition: hash.hpp:18
rxcpp::subjects::subject< std::shared_ptr< shared_model::interface::TransactionBatch > > expired_batch
Definition: pending_transaction_storage_init.hpp:53
rxcpp::subjects::subject< std::pair< shared_model::interface::types::AccountIdType, shared_model::interface::types::HashType > > prepared_txs
Definition: pending_transaction_storage_init.hpp:57
Definition: pending_transaction_storage_init.hpp:30
Definition: block_query.hpp:15
std::string AccountIdType
Type of account id.
Definition: types.hpp:38
Definition: mst_processor.hpp:22
rxcpp::subjects::subject< shared_model::interface::types::HashType > finalized_txs
Definition: pending_transaction_storage_init.hpp:59
rxcpp::composite_subscription pending_storage_lifetime
Definition: pending_transaction_storage_init.hpp:46
Definition: command_executor.hpp:12
rxcpp::subjects::subject< std::shared_ptr< iroha::MstState > > updated_batches
Definition: pending_transaction_storage_init.hpp:47