6 #ifndef IROHA_ON_DEMAND_ORDERING_INIT_HPP 7 #define IROHA_ON_DEMAND_ORDERING_INIT_HPP 9 #include <rxcpp/rx-lite.hpp> 18 #include "ordering.grpc.pb.h" 35 iroha::protocol::Proposal>;
42 auto createNotificationFactory(
45 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
46 std::chrono::milliseconds delay,
54 auto createConnectionManager(
57 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
58 std::chrono::milliseconds delay,
59 std::vector<shared_model::interface::types::HashType> initial_hashes,
67 std::shared_ptr<ordering::OnDemandOrderingService> ordering_service,
68 std::unique_ptr<ordering::transport::OdOsNotification> network_client,
69 std::shared_ptr<ordering::cache::OrderingGateCache> cache,
70 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
72 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
73 std::shared_ptr<ordering::ProposalCreationStrategy> creation_strategy,
74 size_t max_number_of_transactions,
82 size_t max_number_of_transactions,
83 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
85 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
86 std::shared_ptr<ordering::ProposalCreationStrategy> creation_strategy,
89 rxcpp::composite_subscription sync_event_notifier_lifetime_;
90 rxcpp::composite_subscription commit_notifier_lifetime_;
122 size_t max_number_of_transactions,
123 std::chrono::milliseconds delay,
124 std::vector<shared_model::interface::types::HashType> initial_hashes,
128 std::shared_ptr<shared_model::interface::TransactionBatchParser>
130 std::shared_ptr<shared_model::interface::TransactionBatchFactory>
131 transaction_batch_factory,
134 std::shared_ptr<shared_model::interface::UnsafeProposalFactory>
136 std::shared_ptr<TransportFactoryType> proposal_transport_factory,
137 std::shared_ptr<ametsuchi::TxPresenceCache> tx_cache,
138 std::shared_ptr<ordering::ProposalCreationStrategy> creation_strategy,
142 std::shared_ptr<ordering::proto::OnDemandOrdering::Service>
service;
145 rxcpp::subjects::subject<decltype(std::declval<PeerCommunicationService>()
146 .onSynchronization())::value_type>
148 rxcpp::subjects::subject<decltype(
149 std::declval<iroha::ametsuchi::Storage>().on_commit())::value_type>
155 std::vector<std::shared_ptr<shared_model::interface::Peer>>
159 enum RoundType { kCurrentRound, kNextRound, kRoundAfterNext, kCount };
161 template <RoundType V>
162 using RoundTypeConstant = std::integral_constant<RoundType, V>;
165 std::array<std::vector<size_t>, kCount> permutations_;
170 #endif // IROHA_ON_DEMAND_ORDERING_INIT_HPP
OnDemandOrderingInit(logger::LoggerPtr log)
Definition: on_demand_ordering_init.cpp:34
~OnDemandOrderingInit()
Definition: on_demand_ordering_init.cpp:262
Definition: proposal.hpp:17
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: block_query.hpp:15
std::shared_ptr< network::OrderingGate > initOrderingGate(size_t max_number_of_transactions, std::chrono::milliseconds delay, std::vector< shared_model::interface::types::HashType > initial_hashes, std::shared_ptr< ordering::transport::OnDemandOsServerGrpc::TransportFactoryType > transaction_factory, std::shared_ptr< shared_model::interface::TransactionBatchParser > batch_parser, std::shared_ptr< shared_model::interface::TransactionBatchFactory > transaction_batch_factory, std::shared_ptr< network::AsyncGrpcClient< google::protobuf::Empty >> async_call, std::shared_ptr< shared_model::interface::UnsafeProposalFactory > proposal_factory, std::shared_ptr< TransportFactoryType > proposal_transport_factory, std::shared_ptr< ametsuchi::TxPresenceCache > tx_cache, std::shared_ptr< ordering::ProposalCreationStrategy > creation_strategy, logger::LoggerManagerTreePtr ordering_log_manager)
Definition: on_demand_ordering_init.cpp:268
std::shared_ptr< LoggerManagerTree > LoggerManagerTreePtr
Definition: logger_manager_fwd.hpp:14
Definition: on_demand_ordering_init.hpp:30
Definition: async_grpc_client.hpp:25
Definition: query_service.hpp:24
std::shared_ptr< ordering::proto::OnDemandOrdering::Service > service
gRPC service for ordering service
Definition: on_demand_ordering_init.hpp:142
rxcpp::subjects::subject< decltype(std::declval< PeerCommunicationService >) .onSynchronization())::value_type > sync_event_notifier
commit notifier from peer communication service
Definition: on_demand_ordering_init.hpp:147
rxcpp::subjects::subject< decltype(std::declval< iroha::ametsuchi::Storage >).on_commit())::value_type > commit_notifier
Definition: on_demand_ordering_init.hpp:150