6 #ifndef IROHA_SYNCHRONIZER_IMPL_HPP 7 #define IROHA_SYNCHRONIZER_IMPL_HPP 22 class BlockQueryFactory;
23 class CommandExecutor;
26 namespace synchronizer {
31 std::unique_ptr<iroha::ametsuchi::CommandExecutor> command_executor,
32 std::shared_ptr<validation::ChainValidator> validator,
33 std::shared_ptr<ametsuchi::MutableFactory> mutable_factory,
34 std::shared_ptr<ametsuchi::BlockQueryFactory> block_query_factory,
35 std::shared_ptr<network::BlockLoader> block_loader,
38 std::optional<SynchronizationEvent> processOutcome(
56 std::optional<SynchronizationEvent> processNext(
64 std::optional<SynchronizationEvent> processDifferent(
72 std::shared_ptr<iroha::ametsuchi::CommandExecutor> command_executor_;
74 std::shared_ptr<validation::ChainValidator> validator_;
75 std::shared_ptr<ametsuchi::MutableFactory> mutable_factory_;
76 std::shared_ptr<ametsuchi::BlockQueryFactory> block_query_factory_;
77 std::shared_ptr<network::BlockLoader> block_loader_;
85 #endif // IROHA_SYNCHRONIZER_IMPL_HPP Current pair is valid.
Definition: gate_object.hpp:35
Definition: block_query.hpp:17
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
Definition: synchronizer_impl.hpp:28
Definition: synchronizer.hpp:19
std::variant< PairValid, VoteOther, ProposalReject, BlockReject, AgreementOnNone, Future > GateObject
Definition: gate_object.hpp:96
Definition: result_fwd.hpp:27
std::vector< std::string > PublicKeyCollectionType
Type of public keys' collection.
Definition: types.hpp:54
Definition: gate_object.hpp:45
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_query.hpp:15