Lumiera  0.pre.03
»edit your freedom«
RandomChainPlanFunctor< maxFan > Class Template Reference

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

Description

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

Render JobFunctor to perform chunk wise planning of Node jobs to calculate a complete Chain-Load graph step by step.

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

Public Member Functions

template<class CAL , class DEP , class CON >
 RandomChainPlanFunctor (Node &nodeArray, size_t nodeCnt, CAL &&schedule, DEP &&markDepend, CON &&continuation)
 
string diagnostic () const override
 
void invokeJobOperation (JobParameter param) override
 render job invocation to trigger one batch of scheduling; the installed callback-λ should actually place a job with RandomChainCalcFunctor for each node, and also inform the Scheduler about dependency relations between jobs. More...
 
- Public Member Functions inherited from JobClosure
virtual ~JobClosure ()
 this is an interface More...
 
lib::HashVal hash_value (JobParameter) const
 
- Public Member Functions inherited from JobFunctor
virtual ~JobFunctor ()
 this is an interface More...
 
 operator std::string () const
 

Private Types

using Node = typename TestChainLoad< maxFan >::Node
 

Private Attributes

function< void(size_t, size_t, size_t, bool)> continuation_
 
size_t currIdx_ {0}
 
function< void(Node *, Node *)> markDependency_
 
size_t maxCnt_
 
Node * nodes_
 
function< void(size_t, size_t)> scheduleCalcJob_
 

Additional Inherited Members

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

Member Function Documentation

◆ invokeJobOperation()

void invokeJobOperation ( JobParameter  param)
inlineoverridevirtual

render job invocation to trigger one batch of scheduling; the installed callback-λ should actually place a job with RandomChainCalcFunctor for each node, and also inform the Scheduler about dependency relations between jobs.

Implements ChainFunctor.

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

+ Inheritance diagram for RandomChainPlanFunctor< maxFan >:
+ Collaboration diagram for RandomChainPlanFunctor< maxFan >:

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