6 #ifndef IROHA_ON_DEMAND_ORDERING_INIT_HPP 7 #define IROHA_ON_DEMAND_ORDERING_INIT_HPP 12 #include <rxcpp/rx-lite.hpp> 32 template <
typename Interface,
typename Transport>
42 class GenericClientFactory;
43 template <
typename Response>
52 class TxPresenceCache;
54 namespace synchronizer {
55 struct SynchronizationEvent;
75 iroha::protocol::Proposal>;
83 auto createConnectionManager(
86 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
87 std::chrono::milliseconds delay,
88 std::vector<shared_model::interface::types::HashType> initial_hashes,
90 std::shared_ptr<iroha::network::GenericClientFactory> client_factory);
97 std::shared_ptr<OnDemandOrderingService> ordering_service,
98 std::unique_ptr<transport::OdOsNotification> network_client,
99 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
101 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
102 std::shared_ptr<ProposalCreationStrategy> creation_strategy,
103 size_t max_number_of_transactions,
111 size_t max_number_of_transactions,
112 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
114 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
115 std::shared_ptr<ProposalCreationStrategy> creation_strategy,
118 rxcpp::composite_subscription sync_event_notifier_lifetime_;
119 rxcpp::composite_subscription commit_notifier_lifetime_;
151 std::shared_ptr<network::OrderingGate> initOrderingGate(
152 size_t max_number_of_transactions,
153 std::chrono::milliseconds delay,
154 std::vector<shared_model::interface::types::HashType> initial_hashes,
158 std::shared_ptr<shared_model::interface::TransactionBatchParser>
160 std::shared_ptr<shared_model::interface::TransactionBatchFactory>
161 transaction_batch_factory,
164 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
166 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
167 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
168 std::shared_ptr<ProposalCreationStrategy> creation_strategy,
170 std::shared_ptr<iroha::network::GenericClientFactory> client_factory);
176 rxcpp::subjects::subject<synchronizer::SynchronizationEvent>
178 rxcpp::subjects::subject<
179 std::shared_ptr<shared_model::interface::Block const>>
188 #endif // IROHA_ON_DEMAND_ORDERING_INIT_HPP rxcpp::subjects::subject< synchronizer::SynchronizationEvent > sync_event_notifier
commit notifier from peer communication service
Definition: on_demand_ordering_init.hpp:177
Definition: ordering_gate.hpp:28
Definition: on_demand_ordering_init.hpp:70
rxcpp::subjects::subject< std::shared_ptr< shared_model::interface::Block const > > commit_notifier
Definition: on_demand_ordering_init.hpp:180
Definition: unsafe_proposal_factory.hpp:22
Definition: on_demand_ordering_service.hpp:17
Definition: proposal.hpp:17
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_query.hpp:15
Definition: on_demand_ordering_init.hpp:23
Definition: ordering_service_proposal_creation_strategy.hpp:19
Definition: on_demand_os_transport.hpp:35
Definition: ordering_gate_cache.hpp:27
std::shared_ptr< LoggerManagerTree > LoggerManagerTreePtr
Definition: logger_manager_fwd.hpp:14
Definition: transaction_batch_parser.hpp:18
std::shared_ptr< grpc::Service > service
gRPC service for ordering service
Definition: on_demand_ordering_init.hpp:173
Definition: transaction_batch_factory.hpp:23
Definition: on_demand_ordering_init.hpp:17
Definition: on_demand_ordering_init.hpp:44
Definition: command_executor.hpp:12
Definition: on_demand_ordering_init.hpp:33
Definition: transaction.hpp:23