Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
RandomChainCalcFunctor< maxFan > Class Template Reference

#include "/Werk/devel/lumi/tests/vault/gear/test-chain-load.hpp"

Description

template<size_t maxFan>
class vault::gear::test::RandomChainCalcFunctor< maxFan >

Render JobFunctor to invoke the calculation of a single Node.

The existing Node connectivity is used to retrieve the hash values from predecessors — so these are expected to be calculated beforehand. For setup, the start of the ChainLoad's Node array is required.

Template Parameters
maxFancontrols expected Node memory layout

Definition at line 1579 of file test-chain-load.hpp.

Public Member Functions

 RandomChainCalcFunctor (Node &startNode, ComputationalLoad *load=nullptr, Watch *watch=nullptr)
 
void invokeJobOperation (JobParameter param) override
 render job invocation to trigger one Node recalculation
 
string diagnostic () const override
 
- Public Member Functions inherited from JobClosure
virtual ~JobClosure ()
 this is an interface
 
lib::HashVal hash_value (JobParameter) const
 
- Public Member Functions inherited from JobFunctor
virtual ~JobFunctor ()
 this is an interface
 
 operator std::string () const
 

Private Types

using Node = TestChainLoad< maxFan >::Node
 
using Watch = lib::IncidenceCount
 

Private Attributes

NodestartNode_
 
ComputationalLoadcompuLoad_
 
Watchwatch_
 

Additional Inherited Members

- Static Public Member Functions inherited from ChainFunctor
static InvocationInstanceID encodeNodeID (size_t idx)
 package the node-index to invoke.
 
static size_t decodeNodeID (InvocationInstanceID invoKey)
 
static Time encodeLevel (size_t level)
 
static size_t decodeLevel (TimeValue nominalTime)
 

Constructor & Destructor Documentation

◆ RandomChainCalcFunctor()

template<size_t maxFan>
RandomChainCalcFunctor ( Node startNode,
ComputationalLoad load = nullptr,
Watch watch = nullptr 
)
inline

Definition at line 1590 of file test-chain-load.hpp.

Member Typedef Documentation

◆ Node

template<size_t maxFan>
using Node = TestChainLoad<maxFan>::Node
private

Definition at line 1582 of file test-chain-load.hpp.

◆ Watch

template<size_t maxFan>
using Watch = lib::IncidenceCount
private

Definition at line 1583 of file test-chain-load.hpp.

Member Function Documentation

◆ invokeJobOperation()

template<size_t maxFan>
void invokeJobOperation ( JobParameter  param)
inlineoverridevirtual

render job invocation to trigger one Node recalculation

Implements ChainFunctor.

Definition at line 1599 of file test-chain-load.hpp.

References RandomChainCalcFunctor< maxFan >::compuLoad_, ChainFunctor::decodeLevel(), ChainFunctor::decodeNodeID(), ComputationalLoad::invoke(), IncidenceCount::markEnter(), IncidenceCount::markLeave(), RandomChainCalcFunctor< maxFan >::startNode_, and RandomChainCalcFunctor< maxFan >::watch_.

+ Here is the call graph for this function:

◆ diagnostic()

template<size_t maxFan>
string diagnostic ( ) const
inlineoverridevirtual

Implements ChainFunctor.

Definition at line 1613 of file test-chain-load.hpp.

References util::showAdr(), and RandomChainCalcFunctor< maxFan >::startNode_.

+ Here is the call graph for this function:

Member Data Documentation

◆ startNode_

template<size_t maxFan>
Node* startNode_
private

◆ compuLoad_

template<size_t maxFan>
ComputationalLoad* compuLoad_
private

◆ watch_

template<size_t maxFan>
Watch* watch_
private
+ Inheritance diagram for RandomChainCalcFunctor< maxFan >:
+ Collaboration diagram for RandomChainCalcFunctor< maxFan >:

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