X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a58e259d1637e654feb295098ad879cd7bab8bf2..9464eee80e78ebd7783dfa03dcf777a173a14025:/src/surf/surf_routing_vivaldi.cpp diff --git a/src/surf/surf_routing_vivaldi.cpp b/src/surf/surf_routing_vivaldi.cpp index 2bba1db139..9ac925abf4 100644 --- a/src/surf/surf_routing_vivaldi.cpp +++ b/src/surf/surf_routing_vivaldi.cpp @@ -13,7 +13,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_vivaldi, surf, "Routing part of surf" #define ROUTER_PEER(peername) bprintf("router_%s", peername) #define LINK_PEER(peername) bprintf("link_%s", peername) -static XBT_INLINE double euclidean_dist_comp(int index, xbt_dynar_t src, xbt_dynar_t dst) { +static inline double euclidean_dist_comp(int index, xbt_dynar_t src, xbt_dynar_t dst) { double src_coord, dst_coord; src_coord = xbt_dynar_get_as(src, index, double); @@ -25,7 +25,7 @@ static XBT_INLINE double euclidean_dist_comp(int index, xbt_dynar_t src, xbt_dyn namespace simgrid { namespace surf { AsVivaldi::AsVivaldi(const char *name) - : AsGeneric(name) + : AsRoutedGraph(name) {} void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat) @@ -35,7 +35,7 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]", src->name(), src->id(), dst->name(), dst->id()); - if(src->getRcType() == SURF_NETWORK_ELEMENT_AS) { + if(src->isAS()) { char *src_name = ROUTER_PEER(src->name()); char *dst_name = ROUTER_PEER(dst->name()); route->gw_src = (sg_netcard_t) xbt_lib_get_or_null(as_router_lib, src_name, ROUTING_ASR_LEVEL); @@ -48,13 +48,13 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb xbt_dynar_t src_ctn, dst_ctn; char *tmp_src_name, *tmp_dst_name; - if(src->getRcType() == SURF_NETWORK_ELEMENT_HOST){ + if(src->isHost()){ tmp_src_name = HOST_PEER(src->name()); if ((int)xbt_dynar_length(upDownLinks)>src->id()) { info = xbt_dynar_get_as(upDownLinks, src->id(), s_surf_parsing_link_up_down_t); if(info.link_up) { // link up - xbt_dynar_push_as(route->link_list, void*, info.link_up); + route->link_list->push_back(info.link_up); if (lat) *lat += static_cast(info.link_up)->getLatency(); } @@ -63,7 +63,7 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb if (src_ctn == nullptr) src_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(src->name())->extension(COORD_HOST_LEVEL); } - else if(src->getRcType() == SURF_NETWORK_ELEMENT_ROUTER || src->getRcType() == SURF_NETWORK_ELEMENT_AS){ + else if(src->isRouter() || src->isAS()){ tmp_src_name = ROUTER_PEER(src->name()); src_ctn = (xbt_dynar_t) xbt_lib_get_or_null(as_router_lib, tmp_src_name, COORD_ASR_LEVEL); } @@ -71,13 +71,13 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb THROW_IMPOSSIBLE; } - if(dst->getRcType() == SURF_NETWORK_ELEMENT_HOST){ + if(dst->isHost()){ tmp_dst_name = HOST_PEER(dst->name()); if ((int)xbt_dynar_length(upDownLinks)>dst->id()) { info = xbt_dynar_get_as(upDownLinks, dst->id(), s_surf_parsing_link_up_down_t); if(info.link_down) { // link down - xbt_dynar_push_as(route->link_list,void*,info.link_down); + route->link_list->push_back(info.link_down); if (lat) *lat += static_cast(info.link_down)->getLatency(); } @@ -88,7 +88,7 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb dst_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(dst->name()) ->extension(COORD_HOST_LEVEL); } - else if(dst->getRcType() == SURF_NETWORK_ELEMENT_ROUTER || dst->getRcType() == SURF_NETWORK_ELEMENT_AS){ + else if(dst->isRouter() || dst->isAS()){ tmp_dst_name = ROUTER_PEER(dst->name()); dst_ctn = (xbt_dynar_t) xbt_lib_get_or_null(as_router_lib, tmp_dst_name, COORD_ASR_LEVEL); }