A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add prog_ns3 to manifest
[simgrid.git]
/
examples
/
platforms
/
routing_cluster.cpp
diff --git
a/examples/platforms/routing_cluster.cpp
b/examples/platforms/routing_cluster.cpp
index 364d76ed1f94741f8d022b1b22efcb64d2cea175..f3bd3cccacdcdeb6ba596184295679fc8acd9b71 100644
(file)
--- a/
examples/platforms/routing_cluster.cpp
+++ b/
examples/platforms/routing_cluster.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2006-202
1
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-202
3
. 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 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
*/
* @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<std::string>& hosts
,
- const std::string& single_link_host)
+static void create_cluster(
const sg4::NetZone* root, const std::string& cluster_suffix
,
+ const std::
vector<std::string>& hosts, const std::
string& single_link_host)
{
auto* cluster = sg4::create_star_zone("cluster" + cluster_suffix);
cluster->set_parent(root);
/* create the backbone link */
{
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<double>{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 */
/* 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<double>{1e9}
);
+
const sg4::Host* host = cluster->create_host(hostname, 1e9
);
/* create UP link */
/* create UP link */
-
sg4::Link* l_up = cluster->create_link(hostname + "_up", std::vector<double>{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 */
/* create DOWN link, if needed */
- sg4::Link* l_down = l_up;
+
const
sg4::Link* l_down = l_up;
if (hostname != single_link_host) {
if (hostname != single_link_host) {
- l_down = cluster->create_link(hostname + "_down",
std::vector<double>{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 */
/* add link UP and backbone for communications from the host */
- cluster->add_route(host->get_netpoint(), nullptr, nullptr, nullptr,
std::vector<sg4::Link*>{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 */
/* add backbone and link DOWN for communications to the host */
- cluster->add_route(nullptr, host->get_netpoint(), nullptr, nullptr,
std::vector<sg4::Link*>{l_bb, l
_down}, false);
+ cluster->add_route(nullptr, host->get_netpoint(), nullptr, nullptr,
{backbone, link
_down}, false);
}
/* create router */
}
/* 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 */
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<double>{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();
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
+}