-/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2022. 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. */
{
sg4::this_actor::sleep_for(simgrid::xbt::random::uniform_real(0, 1));
for (int i = 0; i < 3; i++) {
- int* data = new int(10 * id + i);
+ auto* data = new int(10 * id + i);
pc->put(data, 1.2125e6); // last for 0.01s
XBT_INFO("data sucessfully put: %d", *data);
sg4::this_actor::sleep_for((3 - i) * simgrid::xbt::random::uniform_real(0, 1));
}
for (int i = 0; i < 3; i++) {
- int* data = new int(10 * id + i);
+ auto* data = new int(10 * id + i);
pc->put_async(data, 1.2125e6); // last for 0.01s
XBT_INFO("data sucessfully put: %d", *data);
sg4::this_actor::sleep_for((i + 3) * simgrid::xbt::random::uniform_real(0, 1));
}
}
-static void retriever(int id, simgrid::plugin::ProducerConsumerPtr<int> pc)
+static void retriever(simgrid::plugin::ProducerConsumerPtr<int> pc)
{
sg4::this_actor::sleep_for(simgrid::xbt::random::uniform_real(0, 1));
for (int i = 0; i < 3; i++) {
const auto* host = cluster->create_host(hostname, "1Gf");
std::string linkname = std::string("cluster") + "_link_" + std::to_string(i);
- auto* link_up = cluster->create_link(linkname + "_UP", "1Gbps");
- auto* link_down = cluster->create_link(linkname + "_DOWN", "1Gbps");
+ const auto* link = cluster->create_split_duplex_link(linkname, "1Gbps");
- cluster->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, std::vector<sg4::Link*>{link_up}, false);
- cluster->add_route(nullptr, host->get_netpoint(), nullptr, nullptr, std::vector<sg4::Link*>{link_down}, false);
+ cluster->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, {{link, sg4::LinkInRoute::Direction::UP}},
+ true);
}
auto* router = cluster->create_router("cluster_router");
for (int i = 0; i < 3; i++) {
std::string hostname = std::string("node-") + std::to_string(i) + ".simgrid.org";
- sg4::Actor::create("ingester-" + std::to_string(i), sg4::Host::by_name(hostname), &ingester, i, pc);
+ sg4::Actor::create("ingester-" + std::to_string(i), e.host_by_name(hostname), &ingester, i, pc);
hostname = std::string("node-") + std::to_string(i + 3) + ".simgrid.org";
- sg4::Actor::create("retriever-" + std::to_string(i), sg4::Host::by_name(hostname), &retriever, i, pc);
+ sg4::Actor::create("retriever-" + std::to_string(i), e.host_by_name(hostname), &retriever, pc);
}
e.run();