#include "on_demand_ordering_init.hpp"

Public Types | |
| using | TransportFactoryType = shared_model::interface::AbstractTransportFactory< shared_model::interface::Proposal, iroha::protocol::Proposal > |
Public Member Functions | |
| OnDemandOrderingInit (logger::LoggerPtr log) | |
| ~OnDemandOrderingInit () | |
| 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) |
Public Attributes | |
| std::shared_ptr< ordering::proto::OnDemandOrdering::Service > | service |
| gRPC service for ordering service More... | |
| rxcpp::subjects::subject< decltype(std::declval< PeerCommunicationService >) .onSynchronization())::value_type > | sync_event_notifier |
| commit notifier from peer communication service More... | |
| rxcpp::subjects::subject< decltype(std::declval< iroha::ametsuchi::Storage >).on_commit())::value_type > | commit_notifier |
Encapsulates initialization logic for on-demand ordering gate and service
| using iroha::network::OnDemandOrderingInit::TransportFactoryType = shared_model::interface::AbstractTransportFactory< shared_model::interface::Proposal, iroha::protocol::Proposal> |
| iroha::network::OnDemandOrderingInit::OnDemandOrderingInit | ( | logger::LoggerPtr | log | ) |
Constructor.
| log | - the logger to use for internal messages. |

| iroha::network::OnDemandOrderingInit::~OnDemandOrderingInit | ( | ) |
| std::shared_ptr< iroha::network::OrderingGate > iroha::network::OnDemandOrderingInit::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 | ||
| ) |
Initializes on-demand ordering gate and ordering sevice components
| max_number_of_transactions | maximum number of transactions in a proposal |
| delay | timeout for ordering service response on proposal request |
| initial_hashes | seeds for peer list permutations for first k rounds they are required since hash of block i defines round i + k |
| transaction_factory | transport factory for transactions required by ordering service network endpoint |
| batch_parser | transaction batch parser required by ordering service network endpoint |
| transaction_batch_factory | transport factory for transaction batch candidates produced by parser |
| async_call | asynchronous gRPC client required for sending batches requests to ordering service and processing responses |
| proposal_factory | factory required by ordering service to produce proposals |
| creation_strategy | - provides a strategy for creating proposals in OS |

| rxcpp::subjects::subject<decltype( std::declval<iroha::ametsuchi::Storage>).on_commit())::value_type> iroha::network::OnDemandOrderingInit::commit_notifier |
| std::shared_ptr<ordering::proto::OnDemandOrdering::Service> iroha::network::OnDemandOrderingInit::service |
gRPC service for ordering service
| rxcpp::subjects::subject<decltype(std::declval<PeerCommunicationService>) .onSynchronization())::value_type> iroha::network::OnDemandOrderingInit::sync_event_notifier |
commit notifier from peer communication service