CatapultServer  v0.5.0.1 (Elephant)
catapult::chain::PtUpdater::Impl Class Referencefinal
Inheritance diagram for catapult::chain::PtUpdater::Impl:
Collaboration diagram for catapult::chain::PtUpdater::Impl:

Classes

struct  TransactionUpdateContext
 

Public Member Functions

 Impl (cache::MemoryPtCacheProxy &transactionsCache, std::unique_ptr< const PtValidator > &&pValidator, const CompletedTransactionSink &completedTransactionSink, const FailedTransactionSink &failedTransactionSink, const std::shared_ptr< thread::IoThreadPool > &pPool)
 
thread::future< TransactionUpdateResultupdate (const model::TransactionInfo &transactionInfo)
 
thread::future< CosignatureUpdateResultupdate (const model::DetachedCosignature &cosignature)
 

Private Member Functions

thread::future< TransactionUpdateResultupdateImpl (const TransactionUpdateContext &updateContext)
 
CosignatureUpdateResult updateImpl (const model::DetachedCosignature &cosignature)
 
thread::future< TransactionUpdateResultupdate (const DetachedCosignatures &cosignatures, TransactionUpdateResult::UpdateType updateType)
 
CosignatureUpdateResult addCosignature (const model::DetachedCosignature &cosignature)
 
CosignatureUpdateResult checkCompleteness (const Hash256 &aggregateHash)
 
bool isValid (const model::Transaction &transaction, const Hash256 &aggregateHash) const
 
CheckEligibilityResult checkEligibility (const model::DetachedCosignature &cosignature) const
 
void refreshStaleCacheEntry (const StaleTransactionInfo &staleTransactionInfo)
 
PtValidator::Result< CosignersValidationResultvalidateCosigners (const model::WeakCosignedTransactionInfo &transactionInfo, const std::vector< model::Cosignature > &cosignatures) const
 
bool isComplete (const model::WeakCosignedTransactionInfo &transactionInfo) const
 
void handleComplete (const model::WeakCosignedTransactionInfo &transactionInfo)
 
model::DetachedTransactionInfo remove (const Hash256 &aggregateHash)
 

Private Attributes

cache::MemoryPtCacheProxym_transactionsCache
 
std::unique_ptr< const PtValidatorm_pValidator
 
CompletedTransactionSink m_completedTransactionSink
 
FailedTransactionSink m_failedTransactionSink
 
std::shared_ptr< thread::IoThreadPoolm_pPool
 

Constructor & Destructor Documentation

◆ Impl()

catapult::chain::PtUpdater::Impl::Impl ( cache::MemoryPtCacheProxy transactionsCache,
std::unique_ptr< const PtValidator > &&  pValidator,
const CompletedTransactionSink completedTransactionSink,
const FailedTransactionSink failedTransactionSink,
const std::shared_ptr< thread::IoThreadPool > &  pPool 
)
inline

Member Function Documentation

◆ addCosignature()

CosignatureUpdateResult catapult::chain::PtUpdater::Impl::addCosignature ( const model::DetachedCosignature cosignature)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkCompleteness()

CosignatureUpdateResult catapult::chain::PtUpdater::Impl::checkCompleteness ( const Hash256 aggregateHash)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkEligibility()

CheckEligibilityResult catapult::chain::PtUpdater::Impl::checkEligibility ( const model::DetachedCosignature cosignature) const
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleComplete()

void catapult::chain::PtUpdater::Impl::handleComplete ( const model::WeakCosignedTransactionInfo transactionInfo)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isComplete()

bool catapult::chain::PtUpdater::Impl::isComplete ( const model::WeakCosignedTransactionInfo transactionInfo) const
inlineprivate
Here is the caller graph for this function:

◆ isValid()

bool catapult::chain::PtUpdater::Impl::isValid ( const model::Transaction transaction,
const Hash256 aggregateHash 
) const
inlineprivate
Here is the caller graph for this function:

◆ refreshStaleCacheEntry()

void catapult::chain::PtUpdater::Impl::refreshStaleCacheEntry ( const StaleTransactionInfo staleTransactionInfo)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove()

model::DetachedTransactionInfo catapult::chain::PtUpdater::Impl::remove ( const Hash256 aggregateHash)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update() [1/3]

thread::future<TransactionUpdateResult> catapult::chain::PtUpdater::Impl::update ( const DetachedCosignatures &  cosignatures,
TransactionUpdateResult::UpdateType  updateType 
)
inlineprivate
Here is the call graph for this function:

◆ update() [2/3]

thread::future<CosignatureUpdateResult> catapult::chain::PtUpdater::Impl::update ( const model::DetachedCosignature cosignature)
inline

◆ update() [3/3]

thread::future<TransactionUpdateResult> catapult::chain::PtUpdater::Impl::update ( const model::TransactionInfo transactionInfo)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateImpl() [1/2]

CosignatureUpdateResult catapult::chain::PtUpdater::Impl::updateImpl ( const model::DetachedCosignature cosignature)
inlineprivate
Here is the call graph for this function:

◆ updateImpl() [2/2]

thread::future<TransactionUpdateResult> catapult::chain::PtUpdater::Impl::updateImpl ( const TransactionUpdateContext updateContext)
inlineprivate
Here is the call graph for this function:

◆ validateCosigners()

PtValidator::Result<CosignersValidationResult> catapult::chain::PtUpdater::Impl::validateCosigners ( const model::WeakCosignedTransactionInfo transactionInfo,
const std::vector< model::Cosignature > &  cosignatures 
) const
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_completedTransactionSink

CompletedTransactionSink catapult::chain::PtUpdater::Impl::m_completedTransactionSink
private

◆ m_failedTransactionSink

FailedTransactionSink catapult::chain::PtUpdater::Impl::m_failedTransactionSink
private

◆ m_pPool

std::shared_ptr<thread::IoThreadPool> catapult::chain::PtUpdater::Impl::m_pPool
private

◆ m_pValidator

std::unique_ptr<const PtValidator> catapult::chain::PtUpdater::Impl::m_pValidator
private

◆ m_transactionsCache

cache::MemoryPtCacheProxy& catapult::chain::PtUpdater::Impl::m_transactionsCache
private

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