CatapultServer  v0.5.0.1 (Elephant)
ImportanceCalculator.h
Go to the documentation of this file.
1 
21 #pragma once
23 #include "catapult/types.h"
24 #include <memory>
25 
26 namespace catapult {
27  namespace cache { class AccountStateCacheDelta; }
28  namespace model { struct BlockChainConfiguration; }
29 }
30 
31 namespace catapult { namespace importance {
32 
35  public:
36  virtual ~ImportanceCalculator() = default;
37 
38  public:
41  virtual void recalculate(model::ImportanceHeight importanceHeight, cache::AccountStateCacheDelta& cache) const = 0;
42  };
43 
45  std::unique_ptr<ImportanceCalculator> CreateImportanceCalculator(const model::BlockChainConfiguration& config);
46 
48  std::unique_ptr<ImportanceCalculator> CreateRestoreImportanceCalculator();
49 }}
ImportanceHeight.h
catapult::model::BlockChainConfiguration
Block chain configuration settings.
Definition: BlockChainConfiguration.h:33
catapult::importance::ImportanceCalculator::~ImportanceCalculator
virtual ~ImportanceCalculator()=default
catapult::importance::CreateRestoreImportanceCalculator
std::unique_ptr< ImportanceCalculator > CreateRestoreImportanceCalculator()
Creates a restore importance calculator.
Definition: RestoreImportanceCalculator.cpp:47
catapult::utils::BaseValue< Height::ValueType, ImportanceHeight_tag >
catapult::cache::AccountStateCacheDelta
Delta on top of the account state cache.
Definition: AccountStateCacheDelta.h:179
catapult::importance::ImportanceCalculator::recalculate
virtual void recalculate(model::ImportanceHeight importanceHeight, cache::AccountStateCacheDelta &cache) const =0
types.h
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::importance::CreateImportanceCalculator
std::unique_ptr< ImportanceCalculator > CreateImportanceCalculator(const model::BlockChainConfiguration &config)
Creates an importance calculator for the block chain described by config.
Definition: PosImportanceCalculator.cpp:121
catapult::importance::ImportanceCalculator
Base class for all importance calculators.
Definition: ImportanceCalculator.h:34