#include "on_demand_ordering_service.hpp"


Classes | |
| struct | BatchPointerHasher |
Public Types | |
| 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 > |
| using | HashesSetType = std::unordered_set< shared_model::crypto::Hash, shared_model::crypto::Hash::Hasher > |
Public Member Functions | |
| virtual | ~OnDemandOrderingService ()=default |
| virtual void | onBatches (CollectionType batches)=0 |
| virtual std::optional< std::shared_ptr< const ProposalType > > | onRequestProposal (consensus::Round round)=0 |
| virtual void | onCollaborationOutcome (consensus::Round round)=0 |
| virtual void | onTxsCommitted (const HashesSetType &hashes)=0 |
| virtual void | forCachedBatches (std::function< void(const BatchesSetType &)> const &f) const =0 |
| virtual bool | isEmptyBatchesCache () const =0 |
| virtual bool | hasProposal (consensus::Round round) const =0 |
| virtual void | processReceivedProposal (CollectionType batches)=0 |
Ordering Service aka OS which can share proposals by request
| using iroha::ordering::OnDemandOrderingService::BatchesSetType = std::unordered_set< std::shared_ptr<shared_model::interface::TransactionBatch>, BatchPointerHasher, shared_model::interface::BatchHashEquality> |
| using iroha::ordering::OnDemandOrderingService::CollectionType = std::vector<TransactionBatchType> |
Type of inserted collections
| using iroha::ordering::OnDemandOrderingService::HashesSetType = std::unordered_set<shared_model::crypto::Hash, shared_model::crypto::Hash::Hasher> |
Type of stored proposals
| using iroha::ordering::OnDemandOrderingService::TransactionBatchType = std::shared_ptr<shared_model::interface::TransactionBatch> |
Type of stored transaction batches
|
virtualdefault |
|
pure virtual |
Method to get betches under lock
| f | - callback function |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Callback on receiving transactions
| batches | - vector of passed transaction batches |
Implemented in iroha::ordering::OnDemandOrderingServiceImpl.
|
pure virtual |
Method which should be invoked on outcome of collaboration for round
| round | - proposal round which has started |
Implemented in iroha::ordering::OnDemandOrderingServiceImpl.
|
pure virtual |
Implemented in iroha::ordering::OnDemandOrderingServiceImpl.
|
pure virtual |
Method to be invoked when transactions commited into ledger.
| hashes | - txs list |
Implemented in iroha::ordering::OnDemandOrderingServiceImpl.
|
pure virtual |
Implemented in iroha::ordering::OnDemandOrderingServiceImpl.