Mercurial > hg > Game > Cerium
annotate TaskManager/kernel/ppe/MailManager.h @ 2054:2e7a6f40672f draft
add param(4) in FileMapReduce.cc
author | masa |
---|---|
date | Fri, 29 Jan 2016 15:56:28 +0900 |
parents | 5238ca826d6e |
children |
rev | line source |
---|---|
3 | 1 #ifndef INCLUDED_MAIL_MANAGER |
2 #define INCLUDED_MAIL_MANAGER | |
3 | |
605
0bfab105a770
working on 32 bit compiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
4 #include "types.h" |
1884
d28f0c5489c3
ppe conditional wait done.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
1189
diff
changeset
|
5 #include "Sem.h" |
605
0bfab105a770
working on 32 bit compiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
6 |
3 | 7 class MailManager { |
8 public: | |
19 | 9 /* constructor */ |
647
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
10 MailManager(unsigned int qsize = 32) ; |
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
11 |
1189 | 12 virtual ~MailManager(); |
19 | 13 |
3 | 14 /* functions */ |
1189 | 15 virtual void send(memaddr data); |
16 virtual memaddr recv(); | |
17 virtual int count(); | |
1888 | 18 virtual void set_waiter(SemPtr w); |
3 | 19 |
20 private: | |
21 /* variables */ | |
647
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
22 memaddr *queue; |
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
23 unsigned int size; |
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
24 unsigned int read; |
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
25 unsigned int write; |
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
26 unsigned int mask; |
50 | 27 |
647
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
28 void calc_mask(unsigned int qsize); |
651 | 29 void extend(); |
899 | 30 } ; |
3 | 31 |
647
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
32 typedef MailManager *MailManagerPtr; |
7ba4ad4538b1
MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
643
diff
changeset
|
33 |
3 | 34 #endif |