6 #ifndef IROHA_ON_DEMAND_ORDERING_INIT_HPP 7 #define IROHA_ON_DEMAND_ORDERING_INIT_HPP 28 template <
typename Interface,
typename Transport>
29 class AbstractTransportFactory;
30 class UnsafeProposalFactory;
31 class TransactionBatchParser;
32 class TransactionBatchFactory;
38 class GenericClientFactory;
47 class TxPresenceCache;
49 namespace synchronizer {
50 struct SynchronizationEvent;
55 class OnDemandConnectionManager;
56 class OnDemandOrderingGate;
57 class OnDemandOrderingService;
58 class ProposalCreationStrategy;
72 iroha::protocol::Proposal>;
80 auto createConnectionManager(
81 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
82 std::chrono::milliseconds delay,
84 std::shared_ptr<iroha::network::GenericClientFactory> client_factory);
91 std::shared_ptr<OnDemandOrderingService> ordering_service,
92 std::shared_ptr<transport::OdOsNotification> network_client,
93 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
95 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
96 size_t max_number_of_transactions,
104 size_t max_number_of_transactions,
105 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
107 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
132 std::shared_ptr<network::OrderingGate> initOrderingGate(
133 size_t max_number_of_transactions,
134 std::chrono::milliseconds delay,
138 std::shared_ptr<shared_model::interface::TransactionBatchParser>
140 std::shared_ptr<shared_model::interface::TransactionBatchFactory>
141 transaction_batch_factory,
142 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
144 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
145 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
147 std::shared_ptr<iroha::network::GenericClientFactory> client_factory,
148 std::chrono::milliseconds proposal_creation_timeout);
155 void processCommittedBlock(
156 std::shared_ptr<shared_model::interface::Block const> block);
167 std::shared_ptr<OnDemandOrderingService> ordering_service_;
168 std::shared_ptr<OnDemandConnectionManager> connection_manager_;
169 std::shared_ptr<OnDemandOrderingGate> ordering_gate_;
170 std::shared_ptr<BaseSubscriber<bool, ProposalEvent>>
171 proposals_subscription_;
175 #endif // IROHA_ON_DEMAND_ORDERING_INIT_HPP Definition: application.hpp:65
Definition: round_switch.hpp:18
Definition: block_query.hpp:17
Definition: on_demand_ordering_init.hpp:67
Definition: proposal.hpp:17
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_query.hpp:15
Definition: ordering_gate_common.hpp:27
Definition: on_demand_ordering_init.hpp:19
Definition: on_demand_os_transport.hpp:32
std::shared_ptr< LoggerManagerTree > LoggerManagerTreePtr
Definition: logger_manager_fwd.hpp:14
std::shared_ptr< grpc::Service > service
gRPC service for ordering service
Definition: on_demand_ordering_init.hpp:162
Definition: synchronizer_common.hpp:31
Definition: command_executor.hpp:13
Definition: application.hpp:100
Definition: transaction.hpp:23