X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/371d168e21b83e2364c2ac2dbff3847588769c2b..b2852b7c61948f495d7437ffaa7fd9aced12849c:/src/kernel/xml/sg_platf.cpp diff --git a/src/kernel/xml/sg_platf.cpp b/src/kernel/xml/sg_platf.cpp index 0d64feb5ab..d953e005ab 100644 --- a/src/kernel/xml/sg_platf.cpp +++ b/src/kernel/xml/sg_platf.cpp @@ -23,6 +23,7 @@ #include "src/kernel/EngineImpl.hpp" #include "src/kernel/resource/DiskImpl.hpp" #include "src/kernel/resource/HostImpl.hpp" +#include "src/kernel/resource/StandardLinkImpl.hpp" #include "src/kernel/resource/profile/Profile.hpp" #include "src/kernel/xml/platf.hpp" #include "src/kernel/xml/platf_private.hpp" @@ -148,7 +149,7 @@ void sg_platf_new_disk(const simgrid::kernel::routing::DiskCreationArgs* disk) /*************************************************************************************************/ /** @brief Auxiliary function to create hosts */ -static std::pair +static simgrid::s4u::Host* sg_platf_cluster_create_host(const simgrid::kernel::routing::ClusterCreationArgs* cluster, simgrid::s4u::NetZone* zone, const std::vector& /*coord*/, unsigned long id) { @@ -159,11 +160,10 @@ sg_platf_cluster_create_host(const simgrid::kernel::routing::ClusterCreationArgs std::string host_id = cluster->prefix + std::to_string(cluster->radicals[id]) + cluster->suffix; XBT_DEBUG("Cluster: creating host=%s speed=%f", host_id.c_str(), cluster->speeds.front()); - const simgrid::s4u::Host* host = zone->create_host(host_id, cluster->speeds) - ->set_core_count(cluster->core_amount) - ->set_properties(cluster->properties) - ->seal(); - return std::make_pair(host->get_netpoint(), nullptr); + simgrid::s4u::Host* host = zone->create_host(host_id, cluster->speeds) + ->set_core_count(cluster->core_amount) + ->set_properties(cluster->properties); + return host; } /** @brief Auxiliary function to create loopback links */ @@ -209,7 +209,8 @@ static void sg_platf_new_cluster_hierarchical(const simgrid::kernel::routing::Cl using simgrid::kernel::routing::FatTreeZone; using simgrid::kernel::routing::TorusZone; - auto set_host = std::bind(sg_platf_cluster_create_host, cluster, _1, _2, _3); + std::function set_host = + std::bind(sg_platf_cluster_create_host, cluster, _1, _2, _3); std::function set_loopback{}; std::function set_limiter{}; @@ -292,8 +293,7 @@ static void sg_platf_new_cluster_flat(simgrid::kernel::routing::ClusterCreationA ->set_latency(cluster->loopback_lat) ->seal(); - zone->add_route(host->get_netpoint(), host->get_netpoint(), nullptr, nullptr, - {simgrid::s4u::LinkInRoute(loopback)}); + zone->add_route(host, host, {simgrid::s4u::LinkInRoute(loopback)}); } // add a limiter link (shared link to account for maximal bandwidth of the node) @@ -321,7 +321,7 @@ static void sg_platf_new_cluster_flat(simgrid::kernel::routing::ClusterCreationA if (backbone) links.emplace_back(backbone); - zone->add_route(host->get_netpoint(), nullptr, nullptr, nullptr, links, true); + zone->add_route(host, nullptr, links, true); } // Add a router. @@ -329,8 +329,7 @@ static void sg_platf_new_cluster_flat(simgrid::kernel::routing::ClusterCreationA XBT_DEBUG("", cluster->router_id.c_str()); if (cluster->router_id.empty()) cluster->router_id = cluster->prefix + cluster->id + "_router" + cluster->suffix; - auto* router = zone->create_router(cluster->router_id); - zone->add_route(router, nullptr, nullptr, nullptr, {}); + zone->create_router(cluster->router_id); simgrid::kernel::routing::on_cluster_creation(*cluster); }