Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Corrected file.
[simgrid.git] / examples / msg / ping_pong.c
index 2bb15a2..a89b363 100644 (file)
@@ -6,7 +6,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "xbt/sysdep.h" /* calloc */
 
 
 /* Create a log channel to have nice outputs. */
@@ -25,12 +25,12 @@ typedef enum
     MAX_CHANNEL
   } channel_t;
 
-double task_comm_size_lat = 0;
+double task_comm_size_lat = 1;
 double task_comm_size_bw = 100000000;
 
 /** Emitter function  */
 int sender(int argc,char *argv[] )
-{INFO0("sender");
+{
   int nbr = 0;
   m_host_t *hosts = NULL; 
   int i;
@@ -38,6 +38,8 @@ int sender(int argc,char *argv[] )
   double task_comp_size = 0;
   m_task_t task=NULL;
   char sprintf_buffer[64];
+
+  INFO0("sender");
  
   nbr = argc - 1;
  hosts = calloc(nbr, sizeof(m_host_t));
@@ -55,15 +57,15 @@ int sender(int argc,char *argv[] )
 
   for (i = 0; i < nbr; i++) 
     { 
-      /* Latency */
-      /* time=MSG_get_clock(); */
-/*       task = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size_lat, NULL); */
-/* INFO1("task = %p",task); */
-/*       task->data=xbt_new0(double,1); */
-/*       *(double*)(task->data)=time; */
-/* INFO1("task->data = %le", *(double*)(task->data)); */
-/* INFO2("host [%d]=%s ",i, argv[i+1]); */
-/*       MSG_task_put(task, hosts[i],PORT_22);    */
+/* Latency */
+ time=MSG_get_clock(); 
+       task = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size_lat, NULL); 
+ INFO1("task = %p",task); 
+       task->data=xbt_new0(double,1); 
+       *(double*)(task->data)=time; 
+ INFO1("task->data = %le", *(double*)(task->data)); 
+ INFO2("host [%d]=%s ",i, argv[i+1]); 
+       MSG_task_put(task, hosts[i],PORT_22);    
 
       /* Bandwidth */
       time=MSG_get_clock();
@@ -81,8 +83,10 @@ int sender(int argc,char *argv[] )
 /** Receiver function  */
 int receiver(int argc, char *argv[])
 {
- INFO0("receiver");
+
   double communication_time=0;
+
+  INFO0("receiver");
   while(1) 
     {
       double time, time1, sender_time;
@@ -97,10 +101,10 @@ int receiver(int argc, char *argv[])
       time1=MSG_get_clock();
       sender_time=(*(double*)(task->data));
      
-      if (sender_time > time) 
+/*      if (sender_time > time) */
        time=sender_time;
       communication_time=time1-time;
-      INFO1("Communic. time %le",communication_time);
+      INFO1("Communic. time %.35f",communication_time);
       MSG_task_destroy(task);
       INFO1("Communic. time %le",communication_time);
 
@@ -119,8 +123,10 @@ int receiver(int argc, char *argv[])
 MSG_error_t test_all(const char *platform_file,
                            const char *application_file)
 {
-  INFO0("test_all");
-  MSG_error_t res = MSG_OK; 
+
+  MSG_error_t res = MSG_OK;
+
+  INFO0("test_all"); 
                                /*  Simulation setting */
     MSG_set_channel_number(MAX_CHANNEL);
     MSG_paje_output("msg_test.trace");
@@ -145,8 +151,8 @@ int main(int argc, char *argv[])
   MSG_global_init(&argc,argv);
   if (argc < 3) 
 {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     printf ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
+     CRITICAL1 ("Usage: %s platform_file deployment_file\n",argv[0]);
+     CRITICAL1 ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
      exit(1);
   }
   res = test_all(argv[1],argv[2]);