hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
iroha::ordering::OnDemandOrderingGate Class Reference

#include "on_demand_ordering_gate.hpp"

Inheritance diagram for iroha::ordering::OnDemandOrderingGate:
Inheritance graph
Collaboration diagram for iroha::ordering::OnDemandOrderingGate:
Collaboration graph

Public Member Functions

 OnDemandOrderingGate (std::shared_ptr< OnDemandOrderingService > ordering_service, std::shared_ptr< transport::OdOsNotification > network_client, std::shared_ptr< shared_model::interface::UnsafeProposalFactory > factory, std::shared_ptr< ametsuchi::TxPresenceCache > tx_cache, size_t transaction_limit, logger::LoggerPtr log)
 
 ~OnDemandOrderingGate () override
 
void propagateBatch (std::shared_ptr< shared_model::interface::TransactionBatch > batch) override
 
void processRoundSwitch (RoundSwitch const &event)
 
std::optional< network::OrderingEventprocessProposalRequest (ProposalEvent const &event) const
 
void stop () override
 Prevent any new outgoing network activity. Be passive. More...
 
- Public Member Functions inherited from iroha::network::OrderingGate
virtual ~OrderingGate ()=default
 

Detailed Description

Ordering gate which requests proposals from the ordering service votes for proposals, and passes committed proposals to the pipeline

Constructor & Destructor Documentation

◆ OnDemandOrderingGate()

OnDemandOrderingGate::OnDemandOrderingGate ( std::shared_ptr< OnDemandOrderingService ordering_service,
std::shared_ptr< transport::OdOsNotification network_client,
std::shared_ptr< shared_model::interface::UnsafeProposalFactory factory,
std::shared_ptr< ametsuchi::TxPresenceCache tx_cache,
size_t  transaction_limit,
logger::LoggerPtr  log 
)

◆ ~OnDemandOrderingGate()

OnDemandOrderingGate::~OnDemandOrderingGate ( )
override
Here is the call graph for this function:

Member Function Documentation

◆ processProposalRequest()

std::optional< iroha::network::OrderingEvent > OnDemandOrderingGate::processProposalRequest ( ProposalEvent const &  event) const

Handle an incoming proposal from ordering service

Here is the call graph for this function:

◆ processRoundSwitch()

void OnDemandOrderingGate::processRoundSwitch ( RoundSwitch const &  event)

◆ propagateBatch()

void OnDemandOrderingGate::propagateBatch ( std::shared_ptr< shared_model::interface::TransactionBatch batch)
overridevirtual

Propagate a transaction batch for further processing

Parameters
batch

Implements iroha::network::OrderingGate.

◆ stop()

void OnDemandOrderingGate::stop ( )
overridevirtual

Prevent any new outgoing network activity. Be passive.

Implements iroha::network::OrderingGate.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: