-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask.h
More file actions
83 lines (58 loc) · 1.91 KB
/
task.h
File metadata and controls
83 lines (58 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#ifndef TASK_H
#define TASK_H
#include <vector>
enum State{
NOT_READY,
READY,
Scheduled,
};
struct Successor{
int taskIdx = -1;
int communicationTime = -1;
};
struct Processor{
int procIdx = -1;
int startTime = 0;
int endTime = 0;
int currentTaskIdx = -1;
//State state = READY;
};
class Task{
public:
Task();
inline void setTaskIdx(int idx){taskIdx = idx;}
inline int getTaskIdx(){return taskIdx;}
inline void setComputationTime(int time){computationTime = time;}
inline int getComputationTime(){return computationTime;}
inline void setNumberOfPredecessors(int nr){numberOfPredecessors = nr;}
inline int getNumberOfPredecessors(){return numberOfPredecessors;}
inline void setStaticBLevel(int sl){staticBLevel = sl;}
inline int getStaticBLevel(){return staticBLevel;}
inline void addSuccessorIdx(Successor succ){ successor.push_back(succ);}
inline std::vector<Successor> getSuccessors(){return successor;}
inline void addPredecessor(int pred){predecessor.push_back(pred);}
inline std::vector<int> getPredecessors(){return predecessor;}
inline void setProcessor(Processor proc){processor = proc;}
inline Processor getProcessor(){return processor;}
inline void setStartTime(int time){startTime = time;}
inline int getStartTime(){return startTime;}
inline void setEndTime(int time){endTime = time;}
inline int getEndTime(){return endTime;}
inline void changeState(State s){state = s;}
inline State getState(){return state;}
inline void setDl(int dl){dynamicLevel = dl;}
inline int getDl(){return dynamicLevel;}
private:
int taskIdx;
int computationTime;
int numberOfPredecessors;
State state;
int staticBLevel;
Processor processor;
int startTime;
int endTime;
int dynamicLevel;
std::vector<Successor> successor;
std::vector<int> predecessor;
};
#endif //TASK_H