CatapultServer  v0.5.0.1 (Elephant)
catapult::partialtransaction Namespace Reference

Classes

struct  PtConfiguration
 Partial transactions configuration settings. More...
 
class  PtServerHooks
 Hooks for the partial transactions subsystem. More...
 

Typedefs

using PtCacheSupplier = supplier< std::unique_ptr< cache::MemoryPtCacheProxy > >
 Partial transactions cache supplier. More...
 
using CosignedTransactionInfos = std::vector< model::CosignedTransactionInfo >
 A vector of cosigned (partial) transaction infos. More...
 
using CosignedTransactionInfosRetriever = std::function< CosignedTransactionInfos(const cache::ShortHashPairMap &)>
 Prototype for a function that retrieves partial transaction infos given a set of short hash pairs. More...
 
using CosignedTransactionInfosConsumer = consumer< CosignedTransactionInfos && >
 Function signature for consuming a vector of cosigned transaction infos. More...
 
using ShortHashPairsSupplier = supplier< cache::ShortHashPairRange >
 Function signature for supplying a range of short hash pairs. More...
 

Functions

DECLARE_SERVICE_REGISTRAR() PtBootstrapper (const PtCacheSupplier &ptCacheSupplier)
 
PtCache & GetMemoryPtCache (const extensions::ServiceLocator &locator)
 Gets the memory partial transactions cache stored in locator. More...
 
PtServerHooksGetPtServerHooks (const extensions::ServiceLocator &locator)
 Gets the partial transactions server hooks stored in locator. More...
 
std::unique_ptr< ServiceRegistrarCreatePtDispatcherServiceRegistrar ()
 
DECLARE_SERVICE_REGISTRAR() PtDispatcher ()
 Creates a registrar for a partial transaction dispatcher service. More...
 
DECLARE_SERVICE_REGISTRAR() Pt ()
 
DECLARE_SERVICE_REGISTRAR() PtSyncSource ()
 
std::unique_ptr< model::TransactionStitchAggregate (const model::WeakCosignedTransactionInfo &transactionInfo)
 Stitches a weak cosigned transaction info into a full aggregate transaction. More...
 
void SplitCosignedTransactionInfos (CosignedTransactionInfos &&transactionInfos, const consumer< model::TransactionRange && > &transactionRangeConsumer, const consumer< model::DetachedCosignature && > &cosignatureConsumer)
 

Typedef Documentation

◆ CosignedTransactionInfos

A vector of cosigned (partial) transaction infos.

◆ CosignedTransactionInfosConsumer

Function signature for consuming a vector of cosigned transaction infos.

◆ CosignedTransactionInfosRetriever

Prototype for a function that retrieves partial transaction infos given a set of short hash pairs.

◆ PtCacheSupplier

Partial transactions cache supplier.

◆ ShortHashPairsSupplier

Function signature for supplying a range of short hash pairs.

Function Documentation

◆ CreatePtDispatcherServiceRegistrar()

std::unique_ptr<ServiceRegistrar> catapult::partialtransaction::CreatePtDispatcherServiceRegistrar ( )

◆ GetMemoryPtCache()

cache::MemoryPtCacheProxy & catapult::partialtransaction::GetMemoryPtCache ( const extensions::ServiceLocator locator)

Gets the memory partial transactions cache stored in locator.

Here is the call graph for this function:

◆ GetPtServerHooks()

PtServerHooks & catapult::partialtransaction::GetPtServerHooks ( const extensions::ServiceLocator locator)

Gets the partial transactions server hooks stored in locator.

Here is the call graph for this function:

◆ Pt()

DECLARE_SERVICE_REGISTRAR() catapult::partialtransaction::Pt ( )

Creates a registrar for a partial transactions service.

Note
This service is responsible for sending partial transactions between api nodes.

◆ PtBootstrapper()

DECLARE_SERVICE_REGISTRAR() catapult::partialtransaction::PtBootstrapper ( const PtCacheSupplier ptCacheSupplier)

Creates a registrar for a partial transactions bootstrapper service given the cache supplier ptCacheSupplier.

Note
This service is responsible for registering root partial transactions services.
Cache supplier needs to be passed instead of cache in order to allow all other extensions to register subscriptions first since subscriptions are bound when cache is created.

◆ PtDispatcher()

DECLARE_SERVICE_REGISTRAR() catapult::partialtransaction::PtDispatcher ( )

Creates a registrar for a partial transaction dispatcher service.

◆ PtSyncSource()

DECLARE_SERVICE_REGISTRAR() catapult::partialtransaction::PtSyncSource ( )

Creates a registrar for a partial transaction sync source service.

Note
This service is responsible for making the node a partial transaction sync partner.

◆ SplitCosignedTransactionInfos()

void catapult::partialtransaction::SplitCosignedTransactionInfos ( CosignedTransactionInfos &&  transactionInfos,
const consumer< model::TransactionRange && > &  transactionRangeConsumer,
const consumer< model::DetachedCosignature && > &  cosignatureConsumer 
)

Splits up cosigned transaction infos (transactionInfos) and forwards transactions as a single range to transactionRangeConsumer and cosignatures individually to cosignatureConsumer.

Here is the call graph for this function:

◆ StitchAggregate()

std::unique_ptr< model::Transaction > catapult::partialtransaction::StitchAggregate ( const model::WeakCosignedTransactionInfo transactionInfo)

Stitches a weak cosigned transaction info into a full aggregate transaction.

Here is the call graph for this function:
Here is the caller graph for this function: