#include "on_demand_ordering_service_impl.hpp"


Public Member Functions | |
| OnDemandOrderingServiceImpl (size_t transaction_limit, std::shared_ptr< shared_model::interface::UnsafeProposalFactory > proposal_factory, std::shared_ptr< ametsuchi::TxPresenceCache > tx_cache, std::shared_ptr< ProposalCreationStrategy > proposal_creation_strategy, logger::LoggerPtr log, size_t number_of_proposals=3) | |
| void | onCollaborationOutcome (consensus::Round round) override |
| void | onTxsCommitted (const HashesSetType &hashes) override |
| void | onBatches (CollectionType batches) override |
| boost::optional< std::shared_ptr< const ProposalType > > | onRequestProposal (consensus::Round round) override |
Public Member Functions inherited from iroha::ordering::transport::OdOsNotification | |
| virtual | ~OdOsNotification ()=default |
Additional Inherited Members | |
Public Types inherited from iroha::ordering::OnDemandOrderingService | |
| 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 > |
| OnDemandOrderingServiceImpl::OnDemandOrderingServiceImpl | ( | size_t | transaction_limit, |
| std::shared_ptr< shared_model::interface::UnsafeProposalFactory > | proposal_factory, | ||
| std::shared_ptr< ametsuchi::TxPresenceCache > | tx_cache, | ||
| std::shared_ptr< ProposalCreationStrategy > | proposal_creation_strategy, | ||
| logger::LoggerPtr | log, | ||
| size_t | number_of_proposals = 3 |
||
| ) |
Create on_demand ordering service with following options:
| transaction_limit | - number of maximum transactions in one proposal |
| proposal_factory | - used to generate proposals |
| tx_cache | - cache of transactions |
| log | to print progress |
| number_of_proposals | - number of stored proposals, older will be removed. Default value is 3 |
| creation_strategy | - provides a strategy for creating proposals |
|
overridevirtual |
Callback on receiving transactions
| batches | - vector of passed transaction batches |
Implements iroha::ordering::transport::OdOsNotification.
|
overridevirtual |
Method which should be invoked on outcome of collaboration for round
| round | - proposal round which has started |
Implements iroha::ordering::OnDemandOrderingService.
|
overridevirtual |
Callback on request about proposal
| round | - number of collaboration round. Calculated as block_height + 1 |
Implements iroha::ordering::transport::OdOsNotification.

|
inlineoverridevirtual |
Method to be invoked when transactions commited into ledger.
| hashes | - txs list |
Implements iroha::ordering::OnDemandOrderingService.