annotate TaskManager/kernel/ppe/TaskQueueInfo.h @ 638:671fca057ad3

hmmmm
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 18:18:20 +0900
parents eacbcdb23986
children bed529c55eda
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
307
7075842aa155 clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
4 #include "TaskQueue.h"
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
5
499
eacbcdb23986 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
6 class HTask;
eacbcdb23986 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
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
9522c376a9fe memcpy for param
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
9
9522c376a9fe memcpy for param
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
10
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
11 public:
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
12 /* constructor */
475
e083c4ff91c1 BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 366
diff changeset
13 TaskQueueInfo();
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
14
493
dd091fe6128e fix free conflict.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 492
diff changeset
15 BASE_NEW_DELETE(TaskQueueInfo);
dd091fe6128e fix free conflict.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 492
diff changeset
16
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
17 /* functions */
499
eacbcdb23986 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
18 TaskQueuePtr create(HTask *task);
493
dd091fe6128e fix free conflict.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 492
diff changeset
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
eacbcdb23986 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
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
17319af4ee39 fix wakeup_task
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 494
diff changeset
33 // Iterator
17319af4ee39 fix wakeup_task
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 494
diff changeset
34 TaskQueue* getNext(TaskQueue* q) ;
17319af4ee39 fix wakeup_task
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 494
diff changeset
35 int hasNext(TaskQueue* q);
494
ec7b6d89b4e4 Singleton TaskQueue pool
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 493
diff changeset
36
46
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
37 private:
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
38 /* variables */
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
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
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
44 /* functions */
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
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
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
47 };
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
48
f154d9d07a42 *** empty log message ***
gongo
parents:
diff changeset
49 #endif