hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
iroha::ordering::transport::OdOsNotification Class Referenceabstract

#include "on_demand_os_transport.hpp"

Inheritance diagram for iroha::ordering::transport::OdOsNotification:
Inheritance graph
Collaboration diagram for iroha::ordering::transport::OdOsNotification:
Collaboration graph

Public Types

using ProposalType = std::unique_ptr< shared_model::interface::Proposal >
 
using TransactionBatchType = std::shared_ptr< shared_model::interface::TransactionBatch >
 
using CollectionType = std::vector< TransactionBatchType >
 

Public Member Functions

virtual void onBatches (consensus::Round round, CollectionType batches)=0
 
virtual boost::optional< ProposalTypeonRequestProposal (consensus::Round round)=0
 
virtual ~OdOsNotification ()=default
 

Detailed Description

Notification interface of on demand ordering service.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual iroha::ordering::transport::OdOsNotification::~OdOsNotification ( )
virtualdefault

Member Function Documentation

virtual void iroha::ordering::transport::OdOsNotification::onBatches ( consensus::Round  round,
CollectionType  batches 
)
pure virtual

Callback on receiving transactions

Parameters
round- expected proposal round
batches- vector of passed transaction batches

Implemented in iroha::ordering::OnDemandConnectionManager, iroha::ordering::OnDemandOrderingServiceImpl, and iroha::ordering::transport::OnDemandOsClientGrpc.

virtual boost::optional<ProposalType> iroha::ordering::transport::OdOsNotification::onRequestProposal ( consensus::Round  round)
pure virtual

Callback on request about proposal

Parameters
round- number of collaboration round. Calculated as block_height + 1
Returns
proposal for requested round

Implemented in iroha::ordering::OnDemandConnectionManager, iroha::ordering::OnDemandOrderingServiceImpl, and iroha::ordering::transport::OnDemandOsClientGrpc.


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