-/* Copyright (c) 2010-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2010-2020. 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. */
XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_async_waitall, "Messages specific for this s4u example");
class Sender {
- long messages_count; /* - number of tasks */
+ long messages_count; /* - number of messages */
long receivers_count; /* - number of receivers */
- double msg_size; /* - communication cost in bytes */
+ double msg_size; /* - message size in bytes */
public:
explicit Sender(std::vector<std::string> args)
msg_size = std::stod(args[2]);
receivers_count = std::stol(args[3]);
}
- void operator()()
+ void operator()() const
{
/* Vector in which we store all ongoing communications */
std::vector<simgrid::s4u::CommPtr> pending_comms;
/* Start dispatching all messages to receivers, in a round robin fashion */
for (int i = 0; i < messages_count; i++) {
std::string msg_content = std::string("Message ") + std::to_string(i);
- // Copy the data we send: 'msg_content' is not a stable storage location.
+ // 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);