6 #ifndef IROHA_SYNCHRONIZER_IMPL_HPP 7 #define IROHA_SYNCHRONIZER_IMPL_HPP 11 #include <rxcpp/rx-lite.hpp> 23 class BlockQueryFactory;
24 class CommandExecutor;
27 namespace synchronizer {
32 std::unique_ptr<iroha::ametsuchi::CommandExecutor> command_executor,
33 std::shared_ptr<network::ConsensusGate> consensus_gate,
34 std::shared_ptr<validation::ChainValidator> validator,
35 std::shared_ptr<ametsuchi::MutableFactory> mutable_factory,
36 std::shared_ptr<ametsuchi::BlockQueryFactory> block_query_factory,
37 std::shared_ptr<network::BlockLoader> block_loader,
43 rxcpp::observable<SynchronizationEvent> on_commit_chain()
override;
67 void processDifferent(
71 std::unique_ptr<ametsuchi::MutableStorage> getStorage();
73 std::shared_ptr<iroha::ametsuchi::CommandExecutor> command_executor_;
75 std::shared_ptr<validation::ChainValidator> validator_;
76 std::shared_ptr<ametsuchi::MutableFactory> mutable_factory_;
77 std::shared_ptr<ametsuchi::BlockQueryFactory> block_query_factory_;
78 std::shared_ptr<network::BlockLoader> block_loader_;
81 rxcpp::composite_subscription notifier_lifetime_;
82 rxcpp::subjects::subject<SynchronizationEvent> notifier_;
83 rxcpp::composite_subscription subscription_;
91 #endif // IROHA_SYNCHRONIZER_IMPL_HPP Current pair is valid.
Definition: gate_object.hpp:34
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
Definition: synchronizer_impl.hpp:29
Definition: synchronizer.hpp:19
Definition: result_fwd.hpp:27
std::vector< std::string > PublicKeyCollectionType
Type of public keys' collection.
Definition: types.hpp:52
Definition: gate_object.hpp:44
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_query.hpp:15
boost::variant< PairValid, VoteOther, ProposalReject, BlockReject, AgreementOnNone, Future > GateObject
Definition: gate_object.hpp:95