NRP Core  1.4.1
DataPackProcessor Class Referenceabstract

Helper class for FTILoop encapsulating the datapack operations between Engines in a simulation loop. More...

#include <datapack_handle.h>

Inheritance diagram for DataPackProcessor:
ComputationalGraphHandle TFManagerHandle

Public Types

using engine_interfaces_t = std::vector< EngineClientInterfaceSharedPtr >
 

Public Member Functions

 DataPackProcessor ()=delete
 
 DataPackProcessor (SimulationDataManager *simulationDataManager)
 
virtual ~DataPackProcessor ()=default
 
virtual void init (const jsonSharedPtr &simConfig, const engine_interfaces_t &engines)=0
 Initializes the handler. More...
 
virtual void updateDataPacksFromEngines (const std::vector< EngineClientInterfaceSharedPtr > &engines)=0
 Request datapacks from engines. More...
 
virtual void compute (const std::vector< EngineClientInterfaceSharedPtr > &engines)=0
 Perform computations on datapacks. More...
 
virtual void sendDataPacksToEngines (const std::vector< EngineClientInterfaceSharedPtr > &engines)=0
 Send datapacks to engines. More...
 
virtual void postEngineInit (const std::vector< EngineClientInterfaceSharedPtr > &)
 Performs post-engine-initialization DataPack operations. More...
 
virtual void preEngineReset (const std::vector< EngineClientInterfaceSharedPtr > &)
 Performs pre-engine-reset DataPack operations. More...
 
virtual void postEngineReset (const std::vector< EngineClientInterfaceSharedPtr > &)
 Performs post-engine-reset DataPack operations. More...
 
void datapackCycle (const std::vector< EngineClientInterfaceSharedPtr > &engines)
 Execute sequentially the update, compute and send operations. More...
 
void setSimulationTime (SimulationTime simulationTime)
 
void setSimulationIteration (unsigned long simulationIteration)
 

Protected Attributes

SimulationDataManager_simulationDataManager
 
SimulationTime _simulationTime = SimulationTime::zero()
 
unsigned long _simulationIteration = 0L
 

Detailed Description

Helper class for FTILoop encapsulating the datapack operations between Engines in a simulation loop.

Member Typedef Documentation

◆ engine_interfaces_t

Constructor & Destructor Documentation

◆ DataPackProcessor() [1/2]

DataPackProcessor::DataPackProcessor ( )
delete

◆ DataPackProcessor() [2/2]

DataPackProcessor::DataPackProcessor ( SimulationDataManager simulationDataManager)
inline

◆ ~DataPackProcessor()

virtual DataPackProcessor::~DataPackProcessor ( )
virtualdefault

Member Function Documentation

◆ compute()

virtual void DataPackProcessor::compute ( const std::vector< EngineClientInterfaceSharedPtr > &  engines)
pure virtual

Perform computations on datapacks.

Parameters
enginesEngines that are been synchronize in the current loop

Implemented in ComputationalGraphHandle, and TFManagerHandle.

◆ datapackCycle()

void DataPackProcessor::datapackCycle ( const std::vector< EngineClientInterfaceSharedPtr > &  engines)
inline

Execute sequentially the update, compute and send operations.

Parameters
enginesEngines that are been synchronize in the current loop
clientDataExtra data coming from the NRP Client, will be passed to the status function

◆ init()

virtual void DataPackProcessor::init ( const jsonSharedPtr simConfig,
const engine_interfaces_t engines 
)
pure virtual

Initializes the handler.

Parameters
simConfigjson object containing configuration information to initialize the handler
engineslist of Engine clients participating in the simulation

Implemented in ComputationalGraphHandle, and TFManagerHandle.

◆ postEngineInit()

virtual void DataPackProcessor::postEngineInit ( const std::vector< EngineClientInterfaceSharedPtr > &  )
inlinevirtual

Performs post-engine-initialization DataPack operations.

Parameters
enginesVector of engines for which the post-init step should be performed

Reimplemented in TFManagerHandle.

◆ postEngineReset()

virtual void DataPackProcessor::postEngineReset ( const std::vector< EngineClientInterfaceSharedPtr > &  )
inlinevirtual

Performs post-engine-reset DataPack operations.

Parameters
enginesVector of engines for which the post-reset step should be performed

Reimplemented in TFManagerHandle.

◆ preEngineReset()

virtual void DataPackProcessor::preEngineReset ( const std::vector< EngineClientInterfaceSharedPtr > &  )
inlinevirtual

Performs pre-engine-reset DataPack operations.

Parameters
enginesVector of engines for which the pre-init step should be performed

Reimplemented in TFManagerHandle.

◆ sendDataPacksToEngines()

virtual void DataPackProcessor::sendDataPacksToEngines ( const std::vector< EngineClientInterfaceSharedPtr > &  engines)
pure virtual

Send datapacks to engines.

Parameters
enginesEngines that are been synchronize in the current loop

Implemented in ComputationalGraphHandle, and TFManagerHandle.

◆ setSimulationIteration()

void DataPackProcessor::setSimulationIteration ( unsigned long  simulationIteration)
inline

◆ setSimulationTime()

void DataPackProcessor::setSimulationTime ( SimulationTime  simulationTime)
inline

◆ updateDataPacksFromEngines()

virtual void DataPackProcessor::updateDataPacksFromEngines ( const std::vector< EngineClientInterfaceSharedPtr > &  engines)
pure virtual

Request datapacks from engines.

Parameters
enginesEngines that are been synchronize in the current loop

Implemented in ComputationalGraphHandle, and TFManagerHandle.

Member Data Documentation

◆ _simulationDataManager

SimulationDataManager* DataPackProcessor::_simulationDataManager
protected

◆ _simulationIteration

unsigned long DataPackProcessor::_simulationIteration = 0L
protected

◆ _simulationTime

SimulationTime DataPackProcessor::_simulationTime = SimulationTime::zero()
protected

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