Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Value stored to 'time' is never read.
[simgrid.git] / examples / msg / sendrecv / sendrecv.c
index 97f162d..e2e7d3f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2007-2013. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 
+/** @addtogroup MSG_examples
+ *
+ *  - <b>sendrecv/sendrecv.c: Ping-pong example</b>. It's hard to
+ *    think of a simpler example. The tesh files laying in the
+ *    directory are instructive concerning the way to pass options to the simulators (as described in \ref options).
+ */
+
 XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
                              "Messages specific for this msg example");
 
 int sender(int argc, char *argv[]);
 int receiver(int argc, char *argv[]);
 
-MSG_error_t test_all(const char *platform_file,
+msg_error_t test_all(const char *platform_file,
                      const char *application_file);
 
-typedef enum {
-  PORT_22 = 0,
-  MAX_CHANNEL
-} channel_t;
-
 double task_comm_size_lat = 10e0;
 double task_comm_size_bw = 10e8;
 
 /** Emitter function  */
 int sender(int argc, char *argv[])
 {
-  m_host_t host = NULL;
+  msg_host_t host = NULL;
   double time;
-  m_task_t task_la = NULL;
-  m_task_t task_bw = NULL;
+  msg_task_t task_la = NULL;
+  msg_task_t task_bw = NULL;
   char sprintf_buffer_la[64];
   char sprintf_buffer_bw[64];
 
   XBT_INFO("sender");
 
-  /*host = xbt_new0(m_host_t,1); */
+  /*host = xbt_new0(msg_host_t,1); */
 
   XBT_INFO("host = %s", argv[1]);
 
@@ -61,7 +63,7 @@ int sender(int argc, char *argv[])
   task_la->data = xbt_new(double, 1);
   *(double *) task_la->data = time;
   XBT_INFO("task_la->data = %le", *((double *) task_la->data));
-  MSG_task_put(task_la, host, PORT_22);
+  MSG_task_send(task_la, argv[1]);
 
   /* Bandwidth */
   time = MSG_get_clock();
@@ -71,7 +73,7 @@ int sender(int argc, char *argv[])
   task_bw->data = xbt_new(double, 1);
   *(double *) task_bw->data = time;
   XBT_INFO("task_bw->data = %le", *((double *) task_bw->data));
-  MSG_task_put(task_bw, host, PORT_22);
+  MSG_task_send(task_bw, argv[1]);
 
   return 0;
 }                               /* end_of_client */
@@ -80,17 +82,15 @@ int sender(int argc, char *argv[])
 int receiver(int argc, char *argv[])
 {
   double time, time1, sender_time;
-  m_task_t task_la = NULL;
-  m_task_t task_bw = NULL;
+  msg_task_t task_la = NULL;
+  msg_task_t task_bw = NULL;
   int a;
   double communication_time = 0;
 
   XBT_INFO("receiver");
 
-  time = MSG_get_clock();
-
   /* Get Latency */
-  a = MSG_task_get(&task_la, PORT_22);
+  a = MSG_task_receive(&task_la,MSG_host_get_name(MSG_host_self()));
   if (a == MSG_OK) {
     time1 = MSG_get_clock();
     sender_time = *((double *) (task_la->data));
@@ -102,12 +102,11 @@ int receiver(int argc, char *argv[])
     XBT_INFO("Communic. time %le", communication_time);
     XBT_INFO("--- la %f ----", communication_time);
   } else {
-    xbt_assert0(0, "Unexpected behavior");
+    xbt_die("Unexpected behavior");
   }
 
-
   /* Get Bandwidth */
-  a = MSG_task_get(&task_bw, PORT_22);
+  a = MSG_task_receive(&task_bw,MSG_host_get_name(MSG_host_self()));
   if (a == MSG_OK) {
     time1 = MSG_get_clock();
     sender_time = *((double *) (task_bw->data));
@@ -119,7 +118,7 @@ int receiver(int argc, char *argv[])
     XBT_INFO("Communic. time %le", communication_time);
     XBT_INFO("--- bw %f ----", task_comm_size_bw / communication_time);
   } else {
-    xbt_assert0(0, "Unexpected behavior");
+    xbt_die("Unexpected behavior");
   }
 
 
@@ -128,18 +127,14 @@ int receiver(int argc, char *argv[])
 
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
+msg_error_t test_all(const char *platform_file,
                      const char *application_file)
 {
-
-  MSG_error_t res = MSG_OK;
-
-
+  msg_error_t res = MSG_OK;
 
   XBT_INFO("test_all");
 
   /*  Simulation setting */
-  MSG_set_channel_number(MAX_CHANNEL);
   MSG_create_environment(platform_file);
 
   /*   Application deployment */
@@ -157,15 +152,14 @@ MSG_error_t test_all(const char *platform_file,
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_error_t res = MSG_OK;
+  msg_error_t res = MSG_OK;
 
 #ifdef _MSC_VER
   unsigned int prev_exponent_format =
       _set_output_format(_TWO_DIGIT_EXPONENT);
 #endif
 
-  MSG_global_init(&argc, argv);
-
+  MSG_init(&argc, argv);
 
   if (argc != 3) {
     XBT_CRITICAL("Usage: %s platform_file deployment_file <model>\n",
@@ -189,8 +183,6 @@ int main(int argc, char *argv[])
 
   XBT_INFO("Total simulation time: %le", MSG_get_clock());
 
-  MSG_clean();
-
 #ifdef _MSC_VER
   _set_output_format(prev_exponent_format);
 #endif