Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
10be8fca4a217b26f02c7e8a400c98a715c4328a
[simgrid.git] / examples / cxx / basic / Slave.cxx
1 #include "Slave.hpp"\r
2 #include "FinalizeTask.hpp"\r
3 #include <Host.hpp>\r
4 #include <HostNotFoundException.hpp>\r
5 \r
6 #include <iostream>\r
7 using namespace std;\r
8 \r
9 MSG_IMPLEMENT_DYNAMIC(Slave, Process);\r
10 \r
11 int Slave::main(int argc, char** argv)\r
12 {\r
13         cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl;\r
14         \r
15         while(true) \r
16         { \r
17                 Task* t = Task::get(0); \r
18         \r
19                 if(t->isInstanceOf("FinalizeTask")) \r
20                 {\r
21                         delete t;\r
22                         break;\r
23                 }\r
24                 \r
25                 cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received \"" << t->getName() << "\" " << endl;\r
26         \r
27                 cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Processing \"" << t->getName() <<  "\" " << endl;\r
28 \r
29                 t->execute();\r
30                 \r
31                 cout <<"[" << getName() << ":" << getHost().getName() << "] " << "\"" << t->getName() << "\" done " << endl;\r
32 \r
33                 delete t;\r
34         }\r
35         \r
36         cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
37         \r
38         delete this;\r
39 \r
40         return 0;\r
41 }