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