.. index:: pair: class; DataPackProcessor .. _doxid-class_data_pack_processor: class DataPackProcessor ======================= .. toctree:: :hidden: Overview ~~~~~~~~ Helper class for :ref:`FTILoop ` encapsulating the datapack operations between Engines in a simulation loop. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class DataPackProcessor { public: // typedefs typedef std::vector<:ref:`EngineClientInterfaceSharedPtr`> :target:`engine_interfaces_t`; // construction :target:`DataPackProcessor`(); :target:`DataPackProcessor`(:ref:`SimulationDataManager`* simulationDataManager); // methods virtual void :ref:`init`( const :ref:`jsonSharedPtr`& simConfig, const :ref:`engine_interfaces_t`& engines ) = 0; virtual void :ref:`updateDataPacksFromEngines`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) = 0; virtual void :ref:`compute`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) = 0; virtual void :ref:`sendDataPacksToEngines`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) = 0; virtual void :ref:`postEngineInit`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>&); virtual void :ref:`preEngineReset`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>&); virtual void :ref:`postEngineReset`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>&); void :ref:`datapackCycle`(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines); void :target:`setSimulationTime`(:ref:`SimulationTime` simulationTime); void :target:`setSimulationIteration`(unsigned long simulationIteration); }; // direct descendants struct :ref:`ComputationalGraphHandle`; class :ref:`TFManagerHandle`; .. _details-class_data_pack_processor: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Helper class for :ref:`FTILoop ` encapsulating the datapack operations between Engines in a simulation loop. Methods ------- .. index:: pair: function; init .. _doxid-class_data_pack_processor_1a85eace47761c625f2526e6f0efb51c83: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void init( const :ref:`jsonSharedPtr`& simConfig, const :ref:`engine_interfaces_t`& engines ) = 0 Initializes the handler. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - simConfig - json object containing configuration information to initialize the handler * - engines - list of Engine clients participating in the simulation .. index:: pair: function; updateDataPacksFromEngines .. _doxid-class_data_pack_processor_1a24a4cf8e245dd8526f3b451dcb78cefd: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void updateDataPacksFromEngines(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) = 0 Request datapacks from engines. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Engines that are been synchronize in the current loop .. index:: pair: function; compute .. _doxid-class_data_pack_processor_1a89859a99d685bf7a495b8c3a1e644717: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void compute(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) = 0 Perform computations on datapacks. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Engines that are been synchronize in the current loop .. index:: pair: function; sendDataPacksToEngines .. _doxid-class_data_pack_processor_1ad980b1d73a944d8b3c6faf3777b9b488: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void sendDataPacksToEngines(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) = 0 Send datapacks to engines. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Engines that are been synchronize in the current loop .. index:: pair: function; postEngineInit .. _doxid-class_data_pack_processor_1a625e0d148919bfdc236cd95666817955: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void postEngineInit(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>&) Performs post-engine-initialization :ref:`DataPack ` operations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Vector of engines for which the post-init step should be performed .. index:: pair: function; preEngineReset .. _doxid-class_data_pack_processor_1a3c321bd55b319c53315743eb6535cbb0: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void preEngineReset(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>&) Performs pre-engine-reset :ref:`DataPack ` operations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Vector of engines for which the pre-init step should be performed .. index:: pair: function; postEngineReset .. _doxid-class_data_pack_processor_1af3a9acad49537cf72d35eb021b270be4: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void postEngineReset(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>&) Performs post-engine-reset :ref:`DataPack ` operations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Vector of engines for which the post-reset step should be performed .. index:: pair: function; datapackCycle .. _doxid-class_data_pack_processor_1a63fa2e4c1c411be5a2b2c58ad8507c4e: .. ref-code-block:: cpp :class: doxyrest-title-code-block void datapackCycle(const std::vector<:ref:`EngineClientInterfaceSharedPtr`>& engines) Execute sequentially the update, compute and send operations. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - engines - Engines that are been synchronize in the current loop * - clientData - Extra data coming from the NRP Client, will be passed to the status function