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< TransactionUpdateResult > update (const model::TransactionInfo &transactionInfo)
 
thread::future< CosignatureUpdateResult > update (const model::DetachedCosignature &cosignature)
 

Private Member Functions

thread::future< TransactionUpdateResult > updateImpl (const TransactionUpdateContext &updateContext)
 
CosignatureUpdateResult updateImpl (const model::DetachedCosignature &cosignature)
 
thread::future< TransactionUpdateResult > update (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< CosignersValidationResult > validateCosigners (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::MemoryPtCacheProxy & m_transactionsCache
 
std::unique_ptr< const PtValidator > m_pValidator
 
CompletedTransactionSink m_completedTransactionSink
 
FailedTransactionSink m_failedTransactionSink
 
std::shared_ptr< thread::IoThreadPool > m_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: