-/* 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. */
static void commTX()
{
XBT_INFO(" Start TX");
- std::string* payload = new std::string("COMM");
+ auto* payload = new std::string("COMM");
simgrid::s4u::Mailbox::by_name("comm")->put_init(payload, 100000000)->detach();
// We should wait a bit (if not the process will end before the communication, hence an exception on the other side).
try {
static void commRX()
{
- const std::string* payload = nullptr;
XBT_INFO(" Start RX");
try {
- payload = static_cast<std::string*>(simgrid::s4u::Mailbox::by_name("comm")->get());
+ auto payload = simgrid::s4u::Mailbox::by_name("comm")->get_unique<std::string>();
XBT_INFO(" Receive message: %s", payload->c_str());
} catch (const simgrid::HostFailureException&) {
XBT_INFO(" Receive message: HOST_FAILURE");
XBT_INFO(" Receive message: TRANSFER_FAILURE");
}
- delete payload;
XBT_INFO(" RX Done");
}
int main(int argc, char* argv[])
{
simgrid::s4u::Engine e(&argc, argv);
- xbt_assert(argc == 3, "Usage: %s platform_file test_number\n\tExample: %s msg_platform.xml 1\n", argv[0], argv[0]);
+ xbt_assert(argc == 3, "Usage: %s platform_file test_number\n\tExample: %s platform.xml 1\n", argv[0], argv[0]);
e.load_platform(argv[1]);
- simgrid::s4u::Actor::create("test_launcher", simgrid::s4u::Host::by_name("Tremblay"), test_launcher,
- std::stoi(argv[2]));
+ simgrid::s4u::Actor::create("test_launcher", e.host_by_name("Tremblay"), test_launcher, std::stoi(argv[2]));
e.run();
- XBT_INFO("Simulation time %g", e.get_clock());
+ XBT_INFO("Simulation time %g", simgrid::s4u::Engine::get_clock());
return 0;
}