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