X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/98902509dba21a4817edab8fb2a8f69506a461a3..118d3f4ca3b1f74eb632dec688ca5c7dfab7f1ba:/src/kernel/routing/AsFloyd.cpp diff --git a/src/kernel/routing/AsFloyd.cpp b/src/kernel/routing/AsFloyd.cpp index 6aa1816f70..b9d098db3f 100644 --- a/src/kernel/routing/AsFloyd.cpp +++ b/src/kernel/routing/AsFloyd.cpp @@ -5,9 +5,10 @@ #include -#include "xbt/log.h" #include "src/kernel/routing/AsFloyd.hpp" +#include "src/kernel/routing/NetCard.hpp" #include "src/surf/network_interface.hpp" +#include "xbt/log.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_floyd, surf, "Routing part of surf"); @@ -40,7 +41,7 @@ AsFloyd::~AsFloyd(){ xbt_free(costTable_); } -void AsFloyd::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat) +void AsFloyd::getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t route, double* lat) { size_t table_size = vertices_.size(); @@ -48,10 +49,9 @@ void AsFloyd::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbar /* create a result route */ std::vector route_stack; - int pred; unsigned int cur = dst->id(); do { - pred = TO_FLOYD_PRED(src->id(), cur); + int pred = TO_FLOYD_PRED(src->id(), cur); if (pred == -1) THROWF(arg_error, 0, "No route from '%s' to '%s'", src->name().c_str(), dst->name().c_str()); route_stack.push_back(TO_FLOYD_LINK(pred, cur)); @@ -69,7 +69,7 @@ void AsFloyd::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbar route_stack.pop_back(); if (hierarchy_ == RoutingMode::recursive && prev_dst_gw != nullptr && strcmp(prev_dst_gw->name().c_str(), e_route->gw_src->name().c_str())) { - routing_platf->getRouteAndLatency(prev_dst_gw, e_route->gw_src, route->link_list, lat); + getGlobalRoute(prev_dst_gw, e_route->gw_src, route->link_list, lat); } for (auto link: *e_route->link_list) {