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