Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/ppe/TaskQueueInfo.h @ 514:2659376067e8
old ball_bound fix...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 20 Oct 2009 21:18:28 +0900 |
parents | eacbcdb23986 |
children | bed529c55eda |
rev | line source |
---|---|
46 | 1 #ifndef INCLUDED_TASK_QUEUE_INFO |
2 #define INCLUDED_TASK_QUEUE_INFO | |
3 | |
307 | 4 #include "TaskQueue.h" |
46 | 5 |
499 | 6 class HTask; |
7 | |
479
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
8 class TaskQueueInfo : public TaskQueue { |
492 | 9 |
10 | |
46 | 11 public: |
12 /* constructor */ | |
475
e083c4ff91c1
BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
366
diff
changeset
|
13 TaskQueueInfo(); |
46 | 14 |
493 | 15 BASE_NEW_DELETE(TaskQueueInfo); |
16 | |
46 | 17 /* functions */ |
499 | 18 TaskQueuePtr create(HTask *task); |
493 | 19 void free_(TaskQueuePtr queue); |
479
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
20 |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
21 void addFirst(TaskQueue* e); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
22 void addLast(TaskQueue* e); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
23 TaskQueue* getFirst(); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
24 TaskQueue* getLast(); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
25 int remove(TaskQueue* e); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
26 TaskQueue* poll(); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
27 void moveToFirst(TaskQueue* e); // or use(); |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
28 TaskQueue* get(int index); |
499 | 29 TaskQueue* find(HTask *task); |
479
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
30 int empty(); |
496
58240647b23b
PS3 double linked TaskQueue worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
495
diff
changeset
|
31 void freePool() ; |
494
ec7b6d89b4e4
Singleton TaskQueue pool
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
32 |
495 | 33 // Iterator |
34 TaskQueue* getNext(TaskQueue* q) ; | |
35 int hasNext(TaskQueue* q); | |
494
ec7b6d89b4e4
Singleton TaskQueue pool
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
36 |
46 | 37 private: |
38 /* variables */ | |
39 | |
494
ec7b6d89b4e4
Singleton TaskQueue pool
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
40 static TaskQueueInfo taskQueuePool; |
479
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
41 TaskQueue* first; |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
42 TaskQueue* last; |
5bda98b0b56d
Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
475
diff
changeset
|
43 |
46 | 44 /* functions */ |
45 int extend_pool(int num); | |
475
e083c4ff91c1
BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
366
diff
changeset
|
46 void destroy(); |
46 | 47 }; |
48 | |
49 #endif |