Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
change consecutive to the renaming of the C++ wrappers
[simgrid.git] / examples / cxx / comm_time / Master.cxx
index 7ab27b6..6eee1bb 100644 (file)
@@ -1,89 +1,83 @@
-#include "Master.hpp"\r
-#include "CommTimeTask.hpp"\r
-#include "FinalizeTask.hpp"\r
-#include <Host.hpp>\r
-#include <HostNotFoundException.hpp>\r
-#include <Msg.hpp>\r
-\r
-#include <iostream>\r
-using namespace std;\r
-\r
-\r
-#ifndef BUFFMAX\r
-#define BUFFMAX 260\r
-#endif\r
-\r
-MSG_IMPLEMENT_DYNAMIC(Master, Process);\r
-\r
-int Master::main(int argc, char** argv)\r
-{\r
-       int channel = 0;\r
-       char buff[BUFFMAX + 1] = {0};\r
-       int numberOfTasks;              \r
-       double taskComputeSize;         \r
-       double taskCommunicateSize;\r
-\r
-       if (argc < 3) \r
-       {\r
-               cerr <<"Master needs 3 arguments" << endl;\r
-               exit(1);\r
-       }\r
-       \r
-       cout << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl;\r
-       \r
-       int slaveCount = 0;\r
-       Host* slaves = NULL;\r
-       \r
-       sscanf(argv[0],"%d", &numberOfTasks);\r
-       \r
-       sscanf(argv[1],"%lg", &taskComputeSize);\r
-       \r
-       sscanf(argv[2],"%lg", &taskCommunicateSize);\r
-       \r
-       \r
-       slaveCount = argc - 3;\r
-       slaves = new Host[slaveCount];\r
-       \r
-       for(int i = 3; i < argc ; i++)  \r
-       {\r
-               try \r
-               {\r
-                       slaves[i-3] = Host::getByName(argv[i]);\r
-               }\r
-               \r
-               catch(HostNotFoundException e) \r
-               {\r
-                       cerr << e.toString() <<". Stopping Now!" << endl;\r
-                       exit(1);\r
-               }\r
-       }\r
-       \r
-       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Got slave(s) :"  << slaveCount << endl;\r
-                       \r
-       for (int i = 0; i < slaveCount; i++)\r
-               cout <<"[" << getName() << ":" << getHost().getName() << "] " << "\t" << slaves[i].getName() << endl;\r
-       \r
-       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Got " << numberOfTasks << " task to process." << endl;\r
-       \r
-       \r
-       for (int i = 0; i < numberOfTasks; i++) \r
-       {                       \r
-               sprintf(buff,"Task_%d",i);\r
-               CommTimeTask* task = new CommTimeTask(buff, taskComputeSize, taskCommunicateSize);\r
-               task->setTime(getClock());\r
-               slaves[i % slaveCount].put(0, task);\r
-               memset(buff, 0 , BUFFMAX + 1);\r
-       }\r
-       \r
-       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "All tasks have been dispatched. Let's tell everybody the computation is over." << endl;\r
-       \r
-       for (int i = 0; i < slaveCount; i++) \r
-       { \r
-               cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Finalize host " << slaves[i].getName() <<  " [" <<  i  << "]" << endl;\r
-               slaves[i].put(0, new FinalizeTask());\r
-       }\r
-       \r
-       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "All finalize messages have been dispatched. Goodbye now!" << endl;\r
-       \r
-       return 0;\r
-}
\ No newline at end of file
+#include "Master.hpp"
+#include "CommTimeTask.hpp"
+#include "FinalizeTask.hpp"
+#include <MsgHost.hpp>
+#include <HostNotFoundException.hpp>
+#include <Msg.hpp>
+
+#include <Msg.hpp>
+
+MSG_IMPLEMENT_DYNAMIC(Master, Process)
+
+int Master::main(int argc, char** argv)
+{
+       int numberOfTasks;              
+       double taskComputeSize;         
+       double taskCommunicateSize;
+
+       if (argc < 3) 
+       {
+               error("Master needs 3 arguments");
+               exit(1);
+       }
+       
+       info("Hello");
+       
+       int slaveCount = 0;
+       Host* slaves = NULL;
+       
+       sscanf(argv[0],"%d", &numberOfTasks);
+       
+       sscanf(argv[1],"%lg", &taskComputeSize);
+       
+       sscanf(argv[2],"%lg", &taskCommunicateSize);
+       
+       
+       slaveCount = argc - 3;
+       slaves = new Host[slaveCount];
+       
+       for(int i = 3; i < argc ; i++)  
+       {
+               try 
+               {
+                       slaves[i-3] = Host::getByName(argv[i]);
+               }
+               
+               catch(HostNotFoundException e) 
+               {
+                       error(TEXT_(e.toString()) + TEXT_(". Stopping Now!"));
+                       exit(1);
+               }
+       }
+       
+       info(TEXT_("Got slave(s) :" ) + TEXT_(slaveCount));
+                       
+       for (int i = 0; i < slaveCount; i++)
+               info(TEXT_("\t") + TEXT_(slaves[i].getName()));
+       
+       info(TEXT_("Got ") + TEXT_(numberOfTasks) + TEXT_(" task to process."));
+       
+       
+       for (int i = 0; i < numberOfTasks; i++) 
+       {                       
+               CommTimeTask* task = new CommTimeTask(TEXT_("Task_") + TEXT_(i), taskComputeSize, taskCommunicateSize);
+               task->setTime(getClock());
+               slaves[i % slaveCount].put(0, task);
+               
+       }
+       
+       info("All tasks have been dispatched. Let's tell everybody the computation is over.");
+       
+       for (int i = 0; i < slaveCount; i++) 
+       { 
+               info(TEXT_("Finalize host ") + TEXT_(slaves[i].getName()) + TEXT_(" [") + TEXT_(i) + TEXT_("]"));
+               slaves[i].put(0, new FinalizeTask());
+       }
+       
+       info("All finalize messages have been dispatched. Goodbye now!");
+       
+
+       delete[] slaves;
+       delete this;
+       return 0;
+}