X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2abf25f94d9a3fd19a5d85637d6758932be8b047..553f377a24c4530332edc5df6e99dab3ab082529:/examples/cxx/basic/Forwarder.cxx diff --git a/examples/cxx/basic/Forwarder.cxx b/examples/cxx/basic/Forwarder.cxx index 1fa5c2dc3f..368a5e4cab 100644 --- a/examples/cxx/basic/Forwarder.cxx +++ b/examples/cxx/basic/Forwarder.cxx @@ -1,70 +1,69 @@ -#include "Forwarder.hpp" -#include "BasicTask.hpp" -#include "FinalizeTask.hpp" -#include -#include - -#include -using namespace std; - -MSG_IMPLEMENT_DYNAMIC(Forwarder, Process); - - -int Forwarder::main(int argc, char** argv) -{ - cout << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl; - - int slavesCount = argc; - - Host* slaves = new Host[slavesCount]; - - for (int i = 0; i < argc; i++) - { - try - { - slaves[i] = Host::getByName(argv[i]); - } - catch (HostNotFoundException e) - { - cerr << e.toString() << endl; - cerr << "Buggy deployment file" << endl; - exit(1); - } - } - - int taskCount = 0; - - while(true) - { - Task* t = Task::get(0); - - if(t->isInstanceOf("FinalizeTask")) - { - cout << getName() << ":" << getHost().getName() << "All tasks have been dispatched. Let's tell everybody the computation is over." << endl; - - for (int cpt = 0; cpt< slavesCount; cpt++) - { - slaves[cpt].put(0, new FinalizeTask()); - } - - delete t; - - break; - } - - cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received \"" << t->getName() << "\" " << endl; - - cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Sending \"" << t->getName() << "\" to \"" << slaves[taskCount % slavesCount].getName() <<"\"" << endl; - - slaves[taskCount % slavesCount].put(0, t); - - taskCount++; - } - - - cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl; - - delete[] slaves; - - return 0; -} \ No newline at end of file +#include "Forwarder.hpp" +#include "BasicTask.hpp" +#include "FinalizeTask.hpp" +#include +#include + +#include + +MSG_IMPLEMENT_DYNAMIC(Forwarder, Process) + + +int Forwarder::main(int argc, char** argv) +{ + info("Hello"); + + int slavesCount = argc; + + Host* slaves = new Host[slavesCount]; + + for (int i = 0; i < argc; i++) + { + try + { + slaves[i] = Host::getByName(argv[i]); + } + catch (HostNotFoundException e) + { + error(TEXT_(e.toString())); + error("Buggy deployment file"); + exit(1); + } + } + + int taskCount = 0; + + while(true) + { + Task* t = Task::get(0); + + if(t->isInstanceOf("FinalizeTask")) + { + info("All tasks have been dispatched. Let's tell everybody the computation is over."); + + for (int cpt = 0; cpt< slavesCount; cpt++) + slaves[cpt].put(0, new FinalizeTask()); + + delete t; + + break; + } + + info(TEXT_("Received \"") + TEXT_(t->getName()) + TEXT_("\" ")); + + info(TEXT_("Sending \"") + TEXT_(t->getName()) + TEXT_("\" to \"") + TEXT_(slaves[taskCount % slavesCount].getName()) + TEXT_("\"")); + + slaves[taskCount % slavesCount].put(0, t); + + taskCount++; + } + + + info("I'm done. See you!"); + + delete[] slaves; + + delete this; + + return 0; +}