1 #include "Forwarder.hpp"
\r
2 #include "BasicTask.hpp"
\r
3 #include "FinalizeTask.hpp"
\r
6 #include <HostNotFoundException.hpp>
\r
10 MSG_IMPLEMENT_DYNAMIC(Forwarder, Process);
\r
12 int Forwarder::main(int argc, char** argv)
\r
16 int aliasCount = argc;
\r
22 BasicTask* basicTask;
\r
26 taskReceived = Task::receive();
\r
28 if(taskReceived->isInstanceOf("FinalizeTask"))
\r
30 info("All tasks have been dispatched. Let's tell everybody the computation is over.");
\r
32 for (int i = 0; i < aliasCount; i++)
\r
34 finalizeTask = new FinalizeTask();
\r
35 finalizeTask->send(argv[i]);
\r
38 delete taskReceived;
\r
43 basicTask = reinterpret_cast<BasicTask*>(taskReceived);
\r
45 info(TEXT_("Received \"") + TEXT_(basicTask->getName()) + TEXT_("\" "));
\r
47 info(TEXT_("Sending \"") + TEXT_(basicTask->getName()) + TEXT_("\" to \"") + TEXT_(argv[taskCount % aliasCount]));
\r
49 basicTask->send(argv[taskCount % aliasCount]);
\r
55 info("I'm done. See you!");
\r