Algorithm that centrally assigns tasks of incoming material flows to the corresponding centralized participants. Should be implemented by any concrete centralized task assignment algorithm.
More...
#include <centralized_initiator.h>
|
struct | ParticipantInfo |
| Helper that stores all relevant information about the task assignment participants. If more specific information are necessary, use a struct that derives from ParticipantInfo. More...
|
|
|
virtual void | distributeMFTasks (uint32_t index, bool previously_allocated)=0 |
| Perform task assignment for all unassigned tasks of a material flow.
|
|
virtual void | storeParticipant (ParticipantInfo &info)=0 |
| Add a new participant and store it locally.
|
|
|
std::vector< material_flow::MFDLScheduler > | material_flows_ |
| All material flows that have been received to assign their tasks.
|
|
std::vector< AssignmentResponse > | assignment_acceptions_ |
| Responses of task assignments that have been accepted.
|
|
struct { | |
|
util::Duration wait_to_receive_assignment_response = 0.3 | |
| Delay between assigning a task and expecting a response.
|
|
util::Duration wait_to_receive_status_update = 0.3 | |
| Delay between requesting and receiving a status update.
|
|
} | delays_ | |
| Storing all delays in one place. The unit is seconds.
|
|
std::shared_ptr< CppsLoggerNs3 > | logger_ |
| For logging material flow tasks and orders.
|
|
daisi::cpps::common::CppsCommunicatorPtr | communicator_ |
|
Algorithm that centrally assigns tasks of incoming material flows to the corresponding centralized participants. Should be implemented by any concrete centralized task assignment algorithm.
◆ addMaterialFlow()
◆ distributeMFTasks()
virtual void daisi::cpps::logical::CentralizedInitiator::distributeMFTasks |
( |
uint32_t |
index, |
|
|
bool |
previously_allocated |
|
) |
| |
|
protectedpure virtual |
Perform task assignment for all unassigned tasks of a material flow.
- Parameters
-
index | The index position of the material flow in material_flows_. |
previously_allocated | Indicates wether the tasks of the material flow have been assigned to participants before. In that case, only some of them may need to be reassigned. |
◆ storeParticipant()
virtual void daisi::cpps::logical::CentralizedInitiator::storeParticipant |
( |
ParticipantInfo & |
info | ) |
|
|
protectedpure virtual |
Add a new participant and store it locally.
- Parameters
-
info | The necessary information about the new participant. |
The documentation for this class was generated from the following files:
- daisi/src/cpps/logical/algorithms/assignment/centralized_initiator.h
- daisi/src/cpps/logical/algorithms/assignment/centralized_initiator.cpp