RecoSim  1.0
 All Classes Files Functions Variables Enumerations
scheduler_request.h
Go to the documentation of this file.
1 
21 #ifndef SCHEDULER_REQUEST_H
22 #define SCHEDULER_REQUEST_H
23 
24 #include "manager_interface.h"
25 
26 /* Pass parameters to Algo (preemption) */
28 
29 RZ* current_rz;
30 RZ_config& rz_config;
31 
32 public:
33 
34  Algorithm_Parameters(RZ* _current_rz, RZ_config& _rz_config) : current_rz(_current_rz), rz_config(_rz_config) {
35  }
36 
37  RZ& getCurrentRZ() {
38  return *current_rz;
39  }
40 
41  RZ_config& getRZConfig() {
42  return rz_config;
43  }
44 
45 };
46 
48 
49 private:
50  Manager_interface * taskToMap;
51  int requestOwner;
52 
53 public:
54  SchedulerRequest(Manager_interface *task, int owner) : taskToMap(task), requestOwner(owner) {}
55 
56  int get_request_owner(void) const;
57 
58  // Task_priority_comparator_interface
59  sc_time get_deadline_time(void) const;
60  sc_time get_task_deadline(void) const;
61  sc_time get_task_period(void) const;
62  sc_time get_task_offset(void) const;
63  int get_task_priority(void) const;
64  sc_time get_new_period_start_time(void) const;
65  void set_task_priority(int);
66 
67  // Task_to_schedule_interface
69  bool fits(RZ *rz);
70  string getName(void) const;
71  bool has_current_implementation(void);
73  vector<int> getFollowingList(void) const;
74  vector<int> getPrecedingList(void) const;
75 };
76 
77 #endif
int get_task_priority(void) const
Return task priority.
Definition: scheduler_request.cpp:45
sc_time get_task_offset(void) const
Return task offset.
Definition: scheduler_request.cpp:41
Definition: task_to_schedule_interface.h:28
string getName(void) const
Return module name.
Definition: scheduler_request.cpp:58
void set_task_priority(int)
Change the task priority.
Definition: scheduler_request.cpp:66
sc_time get_task_deadline(void) const
Get task deadline (absolute time representation)
Definition: scheduler_request.cpp:33
bool has_implementation(TaskImplementation &) const
Check if task has the implementation passed as parameter.
Definition: scheduler_request.cpp:50
bool has_current_implementation(void)
Check if exist a current implementation.
Definition: scheduler_request.cpp:74
Definition: module_implementation.h:37
Definition: reconfigurable_zone.h:62
sc_time get_deadline_time(void) const
Get task deadline (as the maximum acceptable time for one task execution)
Definition: scheduler_request.cpp:29
Definition: rz_config.h:36
Definition: scheduler_request.h:27
vector< int > getPrecedingList(void) const
Get a list of tasks preceding this one in the block diagram. If an ID of vector is -1...
Definition: scheduler_request.cpp:82
ModuleImplementation get_current_implementation(void)
Get the current implementation.
Definition: scheduler_request.cpp:70
sc_time get_task_period(void) const
Return task period.
Definition: scheduler_request.cpp:37
Definition: scheduler_request.h:47
vector< int > getFollowingList(void) const
Get a list of tasks following this one in the block diagram. If an ID of vector is -1...
Definition: scheduler_request.cpp:78
Definition: manager_interface.h:28
bool fits(RZ *rz)
Check if task fits a reconfigurable zone (verifying every hardware implementations defined for the mo...
Definition: scheduler_request.cpp:54
Definition: task_implementation.h:46
sc_time get_new_period_start_time(void) const
Retrieve time of the beginning for next period.
Definition: scheduler_request.cpp:62