17#ifndef DAISI_CPPS_MATERIAL_FLOW_MATERIAL_FLOW_LOGICAL_AGENT_H_
18#define DAISI_CPPS_MATERIAL_FLOW_MATERIAL_FLOW_LOGICAL_AGENT_H_
20#include "cpps/logical/logical_agent.h"
21#include "material_flow/model/material_flow.h"
22#include "solanet/network_udp/message.h"
38 void start()
override;
54 bool isFinished()
const;
76 std::shared_ptr<daisi::material_flow::MFDLScheduler> material_flow_;
79 bool waiting_for_start_ =
false;
82 uint16_t execution_counter_ = 0;
Definition logical_agent.h:32
Definition material_flow_logical_agent.h:26
void setServices()
make the mf agent discoverable for findService queries
Definition material_flow_logical_agent.cpp:98
void initAlgorithms() override
Initializing algorithm interfaces depending on information from algorithm_config_....
Definition material_flow_logical_agent.cpp:59
virtual void init()
Method called by the container on start. Initializing components such as Sola.
Definition material_flow_logical_agent.cpp:52
void messageReceiveFunction(const solanet::Message &m) override
Method being called by solanet when we receive a 1-to-1 message. Here, logging of the messages will b...
Definition material_flow_logical_agent.cpp:78
virtual void addMaterialFlow(std::string mfdl_program)
Adding a material flow in the form of the pure string. Processing can be started as soon as the mfdl ...
Definition material_flow_logical_agent.cpp:109
bool isBusy() const
Checking whether the agent is currently handling a material flow or running idle instead.
Definition material_flow_logical_agent.cpp:90
void setWaitingForStart()
Setting a flag that the agent is currently waiting for other processes to finish before the handling ...
Definition material_flow_logical_agent.cpp:88
void topicMessageReceiveFunction(const sola::TopicMessage &m) override
Method being called by sola when we receive a message via a topic. Here, logging of the messages will...
Definition material_flow_logical_agent.cpp:83
void start() override
Starting operations by initalizing components which require the finished initialization of Sola.
Definition material_flow_logical_agent.cpp:54
~MaterialFlowLogicalAgent() override=default
Includes leaving Sola.
Modified Round Robin Algorithm that centrally assigns tasks of incoming material flows to the corresp...
Definition algorithm_config.h:22
Definition algorithm_config.h:31