6 #ifndef IROHA_SYNCHRONIZER_IMPL_HPP 7 #define IROHA_SYNCHRONIZER_IMPL_HPP 11 #include <rxcpp/rx-lite.hpp> 24 class BlockQueryFactory;
25 class CommandExecutor;
28 namespace synchronizer {
33 std::unique_ptr<iroha::ametsuchi::CommandExecutor> command_executor,
34 std::shared_ptr<network::ConsensusGate> consensus_gate,
35 std::shared_ptr<validation::ChainValidator> validator,
36 std::shared_ptr<ametsuchi::MutableFactory> mutable_factory,
37 std::shared_ptr<ametsuchi::BlockQueryFactory> block_query_factory,
38 std::shared_ptr<network::BlockLoader> block_loader,
44 rxcpp::observable<SynchronizationEvent> on_commit_chain()
override;
68 void processDifferent(
76 std::shared_ptr<iroha::ametsuchi::CommandExecutor> command_executor_;
78 std::shared_ptr<validation::ChainValidator> validator_;
79 std::shared_ptr<ametsuchi::MutableFactory> mutable_factory_;
80 std::shared_ptr<ametsuchi::BlockQueryFactory> block_query_factory_;
81 std::shared_ptr<network::BlockLoader> block_loader_;
84 rxcpp::composite_subscription notifier_lifetime_;
85 rxcpp::subjects::subject<SynchronizationEvent> notifier_;
86 rxcpp::composite_subscription subscription_;
94 #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:30
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