Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / examples / s4u / comm-waitall / s4u-comm-waitall.cpp
index 09610c3..26ada76 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2010-2021. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -22,14 +22,14 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_async_waitall, "Messages specific for this s4u
 class Sender {
   long messages_count;  /* - number of messages */
   long receivers_count; /* - number of receivers */
-  double msg_size;      /* - message size in bytes */
+  long msg_size;        /* - message size in bytes */
 
 public:
   explicit Sender(std::vector<std::string> args)
   {
     xbt_assert(args.size() == 4, "Expecting 3 parameters from the XML deployment file but got %zu", args.size());
     messages_count  = std::stol(args[1]);
-    msg_size        = std::stod(args[2]);
+    msg_size        = std::stol(args[2]);
     receivers_count = std::stol(args[3]);
   }
   void operator()() const
@@ -49,7 +49,7 @@ public:
       std::string msg_content = std::string("Message ") + std::to_string(i);
       // Copy the data we send: the 'msg_content' variable is not a stable storage location.
       // It will be destroyed when this actor leaves the loop, ie before the receiver gets it
-      std::string* payload = new std::string(msg_content);
+      auto* payload = new std::string(msg_content);
 
       XBT_INFO("Send '%s' to '%s'", msg_content.c_str(), mboxes[i % receivers_count]->get_cname());
 
@@ -89,11 +89,10 @@ public:
   {
     XBT_INFO("Wait for my first message");
     for (bool cont = true; cont;) {
-      const std::string* received = static_cast<std::string*>(mbox->get());
+      auto received = mbox->get_unique<std::string>();
       XBT_INFO("I got a '%s'.", received->c_str());
       cont = (*received != "finalize"); // If it's a finalize message, we're done
       // Receiving the message was all we were supposed to do
-      delete received;
     }
   }
 };