annotate TaskManager/kernel/ppe/TaskQueueInfo.h @ 479:5bda98b0b56d

Double Linked List base TaskQueue
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 05 Oct 2009 10:36:37 +0900
parents e083c4ff91c1
children 46464727d825
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
1 #ifndef INCLUDED_TASK_QUEUE_INFO
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
2 #define INCLUDED_TASK_QUEUE_INFO
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
3
479
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
4 #include "Task.h"
307
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
5 #include "TaskQueue.h"
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
6
479
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
7 class TaskQueueInfo : public TaskQueue {
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
8 public:
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
9 /* constructor */
475
e083c4ff91c1 BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
10 TaskQueueInfo();
e083c4ff91c1 BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
11 ~TaskQueueInfo();
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
12
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
13 /* functions */
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
14 int init(int num);
479
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
15 TaskQueuePtr create(Task *task);
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
16 void free(TaskQueuePtr queue);
479
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
17
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
18 void addFirst(TaskQueue* e);
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
19 void addLast(TaskQueue* e);
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
20 TaskQueue* getFirst();
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
21 TaskQueue* getLast();
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
22 int remove(TaskQueue* e);
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
23 TaskQueue* poll();
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
24 void moveToFirst(TaskQueue* e); // or use();
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
25 TaskQueue* get(int index);
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
26 TaskQueue* find(Task *task);
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
27 int empty();
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
28
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
29 private:
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
30 /* variables */
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
31 TaskQueuePtr taskQueuePool;
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
32 TaskQueuePtr freeTaskQueue;
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
33
479
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
34 TaskQueue* first;
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
35 TaskQueue* last;
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
36
5bda98b0b56d Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
37
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
38 /* functions */
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
39 int extend_pool(int num);
475
e083c4ff91c1 BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
40 void destroy();
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
41 };
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
42
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
43 #endif