X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/63dae9fee48b67ed8302130aa84c8a54cd42241b..4c753f8d4cabd4104f3f7109823f16be2ebdcce3:/examples/cpp/network-factors/s4u-network-factors.cpp diff --git a/examples/cpp/network-factors/s4u-network-factors.cpp b/examples/cpp/network-factors/s4u-network-factors.cpp index 60018a1d9f..70695f01d3 100644 --- a/examples/cpp/network-factors/s4u-network-factors.cpp +++ b/examples/cpp/network-factors/s4u-network-factors.cpp @@ -1,22 +1,20 @@ -/* Copyright (c) 2010-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-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. */ -/* This example shows how to build set customized communication factors +/* This example shows how to build set custom communication factors * - * It uses the interface provided by NetworkModelIntf to register 2 callbacks that - * are called everytime a communication occurs. + * It uses the netzone interface to register 2 callbacks that are called for every communications. * * These factors are used to change the communication time depending on the message size * and destination. * * This example uses factors obtained by some experiments on dahu cluster in Grid'5000. - * You must change the values according to the calibration of your enviroment. + * You should change the values according to the calibration of your enviroment. */ #include -#include #include namespace sg4 = simgrid::s4u; @@ -75,15 +73,13 @@ static void load_platform() /* create host */ const sg4::Host* host = root->create_host(hostname, 1)->set_core_count(32)->seal(); /* create UP/DOWN link */ - sg4::Link* l = root->create_split_duplex_link(hostname, BW_REMOTE)->set_latency(LATENCY)->seal(); + const sg4::Link* l = root->create_split_duplex_link(hostname, BW_REMOTE)->set_latency(LATENCY)->seal(); /* add link UP/DOWN for communications from the host */ - root->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, - std::vector{{l, sg4::LinkInRoute::Direction::UP}}, true); + root->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, {{l, sg4::LinkInRoute::Direction::UP}}, true); - sg4::Link* loopback = root->create_link(hostname + "_loopback", BW_LOCAL)->set_latency(LATENCY)->seal(); - root->add_route(host->get_netpoint(), host->get_netpoint(), nullptr, nullptr, - std::vector{loopback}); + const sg4::Link* loopback = root->create_link(hostname + "_loopback", BW_LOCAL)->set_latency(LATENCY)->seal(); + root->add_route(host->get_netpoint(), host->get_netpoint(), nullptr, nullptr, {sg4::LinkInRoute(loopback)}); } root->seal(); @@ -94,11 +90,11 @@ static void load_platform() static double get_factor_from_map(const std::map& factors, double size) { double factor = 1.0; - for (auto const& fact : factors) { - if (size < fact.first) { + for (auto const& [factor_size, factor_value] : factors) { + if (size < factor_size) { break; } else { - factor = fact.second; + factor = factor_value; } } return factor; @@ -234,16 +230,14 @@ int main(int argc, char* argv[]) /* create platform */ load_platform(); /* setting network factors callbacks */ - simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model(); - model->set_lat_factor_cb(latency_factor_cb); - model->set_bw_factor_cb(bandwidth_factor_cb); + e.get_netzone_root()->set_latency_factor_cb(latency_factor_cb); + e.get_netzone_root()->set_bandwidth_factor_cb(bandwidth_factor_cb); sg4::Host* host = e.host_by_name("dahu-1.grid5000.fr"); sg4::Host* host_remote = e.host_by_name("dahu-10.grid5000.fr"); - sg4::Actor::create(std::string("receiver-local"), host, Receiver()); - sg4::Actor::create(std::string("receiver-remote"), host_remote, Receiver()); - sg4::Actor::create(std::string("sender") + std::string(host->get_name()), host, - Sender({host, host_remote}, crosstraffic)); + sg4::Actor::create("receiver-local", host, Receiver()); + sg4::Actor::create("receiver-remote", host_remote, Receiver()); + sg4::Actor::create("sender" + host->get_name(), host, Sender({host, host_remote}, crosstraffic)); /* runs the simulation */ e.run();