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

#include "on_demand_ordering_service.hpp"

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

Public Types

using HashesSetType = std::unordered_set< shared_model::crypto::Hash, shared_model::crypto::Hash::Hasher >
 
- Public Types inherited from iroha::ordering::transport::OdOsNotification
using ProposalType = shared_model::interface::Proposal
 
using BatchesSetType = std::unordered_set< std::shared_ptr< shared_model::interface::TransactionBatch >, BatchPointerHasher, shared_model::interface::BatchHashEquality >
 
using TransactionBatchType = std::shared_ptr< shared_model::interface::TransactionBatch >
 
using CollectionType = std::vector< TransactionBatchType >
 

Public Member Functions

virtual void onCollaborationOutcome (consensus::Round round)=0
 
virtual void onTxsCommitted (const HashesSetType &hashes)=0
 
virtual void forCachedBatches (std::function< void(const transport::OdOsNotification::BatchesSetType &)> const &f)=0
 
- Public Member Functions inherited from iroha::ordering::transport::OdOsNotification
virtual void onBatches (CollectionType batches)=0
 
virtual boost::optional< std::shared_ptr< const ProposalType > > onRequestProposal (consensus::Round round)=0
 
virtual ~OdOsNotification ()=default
 

Detailed Description

Ordering Service aka OS which can share proposals by request

Member Typedef Documentation

◆ HashesSetType

Member Function Documentation

◆ forCachedBatches()

virtual void iroha::ordering::OnDemandOrderingService::forCachedBatches ( std::function< void(const transport::OdOsNotification::BatchesSetType &)> const &  f)
pure virtual

Method to get betches under lock

Parameters
f- callback function

◆ onCollaborationOutcome()

virtual void iroha::ordering::OnDemandOrderingService::onCollaborationOutcome ( consensus::Round  round)
pure virtual

Method which should be invoked on outcome of collaboration for round

Parameters
round- proposal round which has started

Implemented in iroha::ordering::OnDemandOrderingServiceImpl.

◆ onTxsCommitted()

virtual void iroha::ordering::OnDemandOrderingService::onTxsCommitted ( const HashesSetType hashes)
pure virtual

Method to be invoked when transactions commited into ledger.

Parameters
hashes- txs list

Implemented in iroha::ordering::OnDemandOrderingServiceImpl.


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