Go to the documentation of this file.
22 #ifndef DATAPACK_HANDLE_H
23 #define DATAPACK_HANDLE_H
67 virtual void compute(
const std::vector<EngineClientInterfaceSharedPtr> &engines) = 0;
81 virtual void postEngineInit(
const std::vector<EngineClientInterfaceSharedPtr> &)
89 virtual void preEngineReset(
const std::vector<EngineClientInterfaceSharedPtr> &)
106 void datapackCycle(
const std::vector<EngineClientInterfaceSharedPtr> &engines)
134 #endif // DATAPACK_HANDLE_H
void startNewIteration()
Performs bookkeeping at start of the simulation iteration.
Definition: simulation_data_manager.cpp:172
virtual void init(const jsonSharedPtr &simConfig, const engine_interfaces_t &engines)=0
Initializes the handler.
virtual void postEngineInit(const std::vector< EngineClientInterfaceSharedPtr > &)
Performs post-engine-initialization DataPack operations.
Definition: datapack_handle.h:81
virtual void updateDataPacksFromEngines(const std::vector< EngineClientInterfaceSharedPtr > &engines)=0
Request datapacks from engines.
DataPackProcessor(SimulationDataManager *simulationDataManager)
Definition: datapack_handle.h:41
DataPackProcessor()=delete
#define NRP_LOG_TIME(filename)
Definition: time_utils.h:165
SimulationDataManager * _simulationDataManager
Definition: datapack_handle.h:129
std::shared_ptr< nlohmann::json > jsonSharedPtr
Definition: json_schema_utils.h:35
Helper class for FTILoop encapsulating the datapack operations between Engines in a simulation loop.
Definition: datapack_handle.h:34
virtual void preEngineReset(const std::vector< EngineClientInterfaceSharedPtr > &)
Performs pre-engine-reset DataPack operations.
Definition: datapack_handle.h:89
unsigned long _simulationIteration
Definition: datapack_handle.h:131
Manages all simulation data.
Definition: simulation_data_manager.h:53
void setSimulationTime(SimulationTime simulationTime)
Definition: datapack_handle.h:117
virtual void sendDataPacksToEngines(const std::vector< EngineClientInterfaceSharedPtr > &engines)=0
Send datapacks to engines.
virtual ~DataPackProcessor()=default
void setSimulationIteration(unsigned long simulationIteration)
Definition: datapack_handle.h:122
virtual void postEngineReset(const std::vector< EngineClientInterfaceSharedPtr > &)
Performs post-engine-reset DataPack operations.
Definition: datapack_handle.h:97
void datapackCycle(const std::vector< EngineClientInterfaceSharedPtr > &engines)
Execute sequentially the update, compute and send operations.
Definition: datapack_handle.h:106
virtual void compute(const std::vector< EngineClientInterfaceSharedPtr > &engines)=0
Perform computations on datapacks.
std::chrono::nanoseconds SimulationTime
Definition: time_utils.h:31
SimulationTime _simulationTime
Definition: datapack_handle.h:130
std::vector< EngineClientInterfaceSharedPtr > engine_interfaces_t
Definition: datapack_handle.h:38