#include "simgrid/s4u/Engine.hpp"
#include "simgrid/s4u/Host.hpp"
#include "src/surf/network_interface.hpp"
-#include "src/surf/xml/platf_private.hpp"
#include "surf/surf.hpp"
#include <boost/algorithm/string.hpp>
return (src_coord - dst_coord) * (src_coord - dst_coord);
}
-static const std::vector<double>& netpoint_get_coords(NetPoint* np)
+static const std::vector<double>& netpoint_get_coords(const NetPoint* np)
{
- auto* coords = np->extension<vivaldi::Coords>();
+ const auto* coords = np->extension<vivaldi::Coords>();
xbt_assert(coords, "Please specify the Vivaldi coordinates of %s %s (%p)",
(np->is_netzone() ? "Netzone" : (np->is_host() ? "Host" : "Router")), np->get_cname(), np);
return coords->coords;
std::string link_up = "link_" + netpoint->get_name() + "_UP";
std::string link_down = "link_" + netpoint->get_name() + "_DOWN";
- auto* linkUp = create_link(link_up, std::vector<double>{bw_out})->seal();
- auto* linkDown = create_link(link_down, std::vector<double>{bw_in})->seal();
- add_route(netpoint, nullptr, nullptr, nullptr, {linkUp->get_impl()}, false);
- add_route(nullptr, netpoint, nullptr, nullptr, {linkDown->get_impl()}, false);
+ const auto* linkUp = create_link(link_up, {bw_out})->seal();
+ const auto* linkDown = create_link(link_down, {bw_in})->seal();
+ add_route(netpoint, nullptr, nullptr, nullptr, {s4u::LinkInRoute(linkUp)}, false);
+ add_route(nullptr, netpoint, nullptr, nullptr, {s4u::LinkInRoute(linkDown)}, false);
}
-void VivaldiZone::get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* route, double* lat)
+void VivaldiZone::get_local_route(const NetPoint* src, const NetPoint* dst, Route* route, double* lat)
{
XBT_DEBUG("vivaldi getLocalRoute from '%s'[%u] '%s'[%u]", src->get_cname(), src->id(), dst->get_cname(), dst->id());
if (src->is_netzone()) {
std::string srcName = "router_" + src->get_name();
std::string dstName = "router_" + dst->get_name();
- route->gw_src = s4u::Engine::get_instance()->netpoint_by_name_or_null(srcName);
- route->gw_dst = s4u::Engine::get_instance()->netpoint_by_name_or_null(dstName);
+ route->gw_src_ = s4u::Engine::get_instance()->netpoint_by_name_or_null(srcName);
+ route->gw_dst_ = s4u::Engine::get_instance()->netpoint_by_name_or_null(dstName);
}
StarZone::get_local_route(src, dst, route, lat);