3
|
1 #ifndef INCLUDED_FIFO_TASK_MANAGER_IMPL
|
|
2 #define INCLUDED_FIFO_TASK_MANAGER_IMPL
|
|
3
|
307
|
4 #include "TaskManagerImpl.h"
|
|
5 #include "MainScheduler.h"
|
109
|
6
|
3
|
7 class FifoTaskManagerImpl : public TaskManagerImpl {
|
|
8 public:
|
109
|
9 /* constructor */
|
|
10 FifoTaskManagerImpl(int num = 1) : TaskManagerImpl(num) {}
|
|
11 ~FifoTaskManagerImpl(void);
|
|
12
|
|
13 /* variables */
|
|
14 int machineNum;
|
|
15 TaskListPtr mainTaskList;
|
|
16
|
|
17 MailManager *mailManager;
|
|
18 MainScheduler *scheduler;
|
|
19
|
3
|
20 /* functions */
|
109
|
21 // call by system
|
3
|
22 void init(void);
|
109
|
23 void init(MainScheduler*, BufferManager*);
|
3
|
24 void run(void);
|
109
|
25 void mail_check(MailQueuePtr mail_list);
|
|
26 void mail_check(MailQueuePtr mail_list, TaskQueuePtr *waitQueue);
|
|
27 TaskListPtr get_runTaskList(void);
|
|
28 MailQueuePtr schedule(TaskListPtr);
|
|
29
|
|
30 // call by user
|
|
31 int add_data(ListDataPtr, uint32, int);
|
|
32 void* allocate(int size);
|
3
|
33 };
|
|
34
|
109
|
35 #ifndef Cerium_malloc
|
|
36 #define Cerium_malloc(dest, align, size) \
|
|
37 *dest = malloc(size);
|
|
38 #endif /* Cerium_malloc */
|
|
39
|
|
40 #endif /* INCLUDED_FIFO_TASK_MANAGER_IMPL */
|