17#ifndef DAISI_CPPS_LOGICAL_ALGORITHMS_ASSIGNMENT_CENTRALIZED_INITIATOR_H_
18#define DAISI_CPPS_LOGICAL_ALGORITHMS_ASSIGNMENT_CENTRALIZED_INITIATOR_H_
20#include "assignment_initiator.h"
21#include "cpps/common/cpps_communicator.h"
31 std::shared_ptr<CppsLoggerNs3> logger);
41 void addMaterialFlow(std::shared_ptr<material_flow::MFDLScheduler> scheduler)
override;
84 void readAmrRequestFuture();
87 std::future<minhton::FindResult> amr_find_result_;
91 bool preparation_finished_ =
false;
Definition amr_static_ability.h:32
Algorithm for assigning tasks from a material flow to fitting AMRs. This algorithm is initiating and ...
Definition assignment_initiator.h:33
Algorithm that centrally assigns tasks of incoming material flows to the corresponding centralized pa...
Definition centralized_initiator.h:28
void addMaterialFlow(std::shared_ptr< material_flow::MFDLScheduler > scheduler) override
Receive a new material flow to assign its tasks to the known participants. Push it into material_flow...
Definition centralized_initiator.cpp:33
virtual void storeParticipant(ParticipantInfo &info)=0
Add a new participant and store it locally.
util::Duration wait_to_receive_status_update
Delay between requesting and receiving a status update.
Definition centralized_initiator.h:78
util::Duration wait_to_receive_assignment_response
Delay between assigning a task and expecting a response.
Definition centralized_initiator.h:76
virtual void distributeMFTasks(uint32_t index, bool previously_allocated)=0
Perform task assignment for all unassigned tasks of a material flow.
struct daisi::cpps::logical::CentralizedInitiator::@0 delays_
Storing all delays in one place. The unit is seconds.
std::vector< AssignmentResponse > assignment_acceptions_
Responses of task assignments that have been accepted.
Definition centralized_initiator.h:71
std::vector< material_flow::MFDLScheduler > material_flows_
All material flows that have been received to assign their tasks.
Definition centralized_initiator.h:68
Modified Round Robin Algorithm that centrally assigns tasks of incoming material flows to the corresp...
Definition algorithm_config.h:22
Helper that stores all relevant information about the task assignment participants....
Definition centralized_initiator.h:46
std::string connection_string
Connection string used to contact the participant.
Definition centralized_initiator.h:48
bool isValid() const
Check wether all entries are initialized correctly.
Definition centralized_initiator.h:54
amr::AmrStaticAbility ability
The participant's ability. Used to check if a task's requirements are met by the AMR.
Definition centralized_initiator.h:51