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

Classes

struct  FeePolicy
 Information about a fee policy. More...
 
class  Harvester
 A class that creates new blocks. More...
 
struct  HarvestingConfiguration
 Harvesting configuration settings. More...
 
class  HarvestingUtFacade
 Facade around unconfirmed transactions cache and updater. More...
 
class  HarvestingUtFacadeFactory
 Factory for creating unconfirmed transactions facades. More...
 
class  ScheduledHarvesterTask
 Class that lets a harvester create a block and supplies the block to a consumer. More...
 
struct  ScheduledHarvesterTaskOptions
 Options for the harvesting task. More...
 
class  TransactionFeeMaximizer
 Maximizes fees given a stream of transaction infos. More...
 
struct  TransactionsInfo
 Information about transactions. More...
 
class  UnlockedAccounts
 Container of all unlocked (harvesting candidate) accounts. More...
 
class  UnlockedAccountsModifier
 A write only view on top of unlocked accounts. More...
 
class  UnlockedAccountsView
 A read only view on top of unlocked accounts. More...
 

Typedefs

using BlockGenerator = std::function< std::unique_ptr< model::Block >(const model::BlockHeader &, uint32_t)>
 Generates a block from a seed block header given a maximum number of transactions. More...
 
using TransactionsInfoSupplier = std::function< TransactionsInfo(HarvestingUtFacade &, uint32_t)>
 Supplies a transactions info composed of a maximum number of transactions for a block given a harvesting ut facade. More...
 

Enumerations

enum  UnlockedAccountsAddResult { UnlockedAccountsAddResult::UNLOCKED_ACCOUNTS_ADD_RESULT_LIST }
 Possible results of an add (unlock) operation. More...
 

Functions

BlockGenerator CreateHarvesterBlockGenerator (model::TransactionSelectionStrategy strategy, const HarvestingUtFacadeFactory &utFacadeFactory, const cache::MemoryUtCache &utCache)
 Creates a default block generator around utFacadeFactory and utCache for specified transaction strategy. More...
 
DECLARE_SERVICE_REGISTRAR() Harvesting (const HarvestingConfiguration &config)
 
TransactionsInfoSupplier CreateTransactionsInfoSupplier (model::TransactionSelectionStrategy strategy, const cache::MemoryUtCache &utCache)
 Creates a default transactions info supplier aroundutCache for specified transaction strategy. More...
 
std::ostream & operator<< (std::ostream &out, UnlockedAccountsAddResult value)
 Insertion operator for outputting value to out. More...
 
void ValidateHarvestingConfiguration (const HarvestingConfiguration &config)
 Validates config and throws an exception if it is invalid. More...
 

Typedef Documentation

◆ BlockGenerator

using catapult::harvesting::BlockGenerator = typedef std::function<std::unique_ptr<model::Block> (const model::BlockHeader&, uint32_t)>

Generates a block from a seed block header given a maximum number of transactions.

◆ TransactionsInfoSupplier

Supplies a transactions info composed of a maximum number of transactions for a block given a harvesting ut facade.

Enumeration Type Documentation

◆ UnlockedAccountsAddResult

Possible results of an add (unlock) operation.

Enumerator
UNLOCKED_ACCOUNTS_ADD_RESULT_LIST 

Function Documentation

◆ CreateHarvesterBlockGenerator()

BlockGenerator catapult::harvesting::CreateHarvesterBlockGenerator ( model::TransactionSelectionStrategy  strategy,
const HarvestingUtFacadeFactory utFacadeFactory,
const cache::MemoryUtCache utCache 
)

Creates a default block generator around utFacadeFactory and utCache for specified transaction strategy.

Here is the call graph for this function:

◆ CreateTransactionsInfoSupplier()

TransactionsInfoSupplier catapult::harvesting::CreateTransactionsInfoSupplier ( model::TransactionSelectionStrategy  strategy,
const cache::MemoryUtCache utCache 
)

Creates a default transactions info supplier aroundutCache for specified transaction strategy.

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

◆ Harvesting()

DECLARE_SERVICE_REGISTRAR() catapult::harvesting::Harvesting ( const HarvestingConfiguration config)

Creates a registrar for a harvesting service around config.

Note
This service is responsible for enabling node harvesting.

◆ operator<<()

std::ostream& catapult::harvesting::operator<< ( std::ostream &  out,
UnlockedAccountsAddResult  value 
)

Insertion operator for outputting value to out.

◆ ValidateHarvestingConfiguration()

void catapult::harvesting::ValidateHarvestingConfiguration ( const HarvestingConfiguration config)

Validates config and throws an exception if it is invalid.

Here is the call graph for this function: