X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/05eead638cfd02a6d5a218939e226eb1700fd8a5..3b56ba0e1914362b1c7e6b7d84bf72e2fe88f3c2:/examples/platforms/routing_cluster.cpp diff --git a/examples/platforms/routing_cluster.cpp b/examples/platforms/routing_cluster.cpp index 364d76ed1f..f3bd3cccac 100644 --- a/examples/platforms/routing_cluster.cpp +++ b/examples/platforms/routing_cluster.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2006-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2006-2023. 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. */ @@ -16,32 +16,34 @@ namespace sg4 = simgrid::s4u; * @param host List of hostname inside the cluster * @param single_link_host Hostname of "special" node */ -static void create_cluster(sg4::NetZone* root, const std::string& cluster_suffix, const std::vector& hosts, - const std::string& single_link_host) +static void create_cluster(const sg4::NetZone* root, const std::string& cluster_suffix, + const std::vector& hosts, const std::string& single_link_host) { auto* cluster = sg4::create_star_zone("cluster" + cluster_suffix); cluster->set_parent(root); /* create the backbone link */ - sg4::Link* l_bb = - cluster->create_link("backbone" + cluster_suffix, std::vector{2.25e9})->set_latency(5e-4)->seal(); + const sg4::Link* l_bb = cluster->create_link("backbone" + cluster_suffix, 2.25e9)->set_latency(5e-4)->seal(); /* create all hosts and connect them to outside world */ for (const auto& hostname : hosts) { /* create host */ - sg4::Host* host = cluster->create_host(hostname, std::vector{1e9}); + const sg4::Host* host = cluster->create_host(hostname, 1e9); /* create UP link */ - sg4::Link* l_up = cluster->create_link(hostname + "_up", std::vector{1.25e8})->set_latency(0.0001)->seal(); + const sg4::Link* l_up = cluster->create_link(hostname + "_up", 1.25e8)->set_latency(0.0001)->seal(); /* create DOWN link, if needed */ - sg4::Link* l_down = l_up; + const sg4::Link* l_down = l_up; if (hostname != single_link_host) { - l_down = cluster->create_link(hostname + "_down", std::vector{1.25e8})->set_latency(0.0001)->seal(); + l_down = cluster->create_link(hostname + "_down", 1.25e8)->set_latency(0.0001)->seal(); } + sg4::LinkInRoute backbone{l_bb}; + sg4::LinkInRoute link_up{l_up}; + sg4::LinkInRoute link_down{l_down}; /* add link UP and backbone for communications from the host */ - cluster->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, std::vector{l_up, l_bb}, false); + cluster->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, {link_up, backbone}, false); /* add backbone and link DOWN for communications to the host */ - cluster->add_route(nullptr, host->get_netpoint(), nullptr, nullptr, std::vector{l_bb, l_down}, false); + cluster->add_route(nullptr, host->get_netpoint(), nullptr, nullptr, {backbone, link_down}, false); } /* create router */ @@ -79,9 +81,10 @@ void load_platform(const sg4::Engine& e) create_cluster(root, "2", {"host4", "host5", "host6"}, "host6"); /* connect both cluster through their respective routers */ - sg4::Link* link = root->create_link("link1-2", std::vector{2.25e9})->set_latency(5e-4)->seal(); + const sg4::Link* l = root->create_link("link1-2", 2.25e9)->set_latency(5e-4)->seal(); + sg4::LinkInRoute link{l}; root->add_route(e.netpoint_by_name_or_null("cluster1"), e.netpoint_by_name_or_null("cluster2"), e.netpoint_by_name_or_null("router1"), e.netpoint_by_name_or_null("router2"), {link}); root->seal(); -} \ No newline at end of file +}