X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/831de10adaaf8910940aa280e2ac2dd075b5ffe5..9a02e3654bd28c13ac053247383566f54fa4498a:/src/kernel/routing/AsVivaldi.cpp diff --git a/src/kernel/routing/AsVivaldi.cpp b/src/kernel/routing/AsVivaldi.cpp index 964ee76c36..57c48cb4cd 100644 --- a/src/kernel/routing/AsVivaldi.cpp +++ b/src/kernel/routing/AsVivaldi.cpp @@ -13,6 +13,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_vivaldi, surf, "Routing part of surf"); namespace simgrid { +namespace kernel { namespace routing { static inline double euclidean_dist_comp(int index, xbt_dynar_t src, xbt_dynar_t dst) { double src_coord = xbt_dynar_get_as(src, index, double); @@ -27,7 +28,7 @@ namespace routing { char *tmp_name; if(nc->isHost()){ - tmp_name = bprintf("peer_%s", nc->name()); + tmp_name = bprintf("peer_%s", nc->name().c_str()); simgrid::s4u::Host *host = simgrid::s4u::Host::by_name_or_null(tmp_name); if (host == nullptr) host = simgrid::s4u::Host::by_name_or_null(nc->name()); @@ -35,7 +36,7 @@ namespace routing { res = (xbt_dynar_t) host->extension(COORD_HOST_LEVEL); } else if(nc->isRouter() || nc->isAS()){ - tmp_name = bprintf("router_%s", nc->name()); + tmp_name = bprintf("router_%s", nc->name().c_str()); res = (xbt_dynar_t) xbt_lib_get_or_null(as_router_lib, tmp_name, COORD_ASR_LEVEL); } else{ @@ -47,40 +48,40 @@ namespace routing { return res; } - AsVivaldi::AsVivaldi(const char *name) - : AsCluster(name) + AsVivaldi::AsVivaldi(As* father, const char* name) : AsCluster(father, name) {} AsVivaldi::~AsVivaldi() {} void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat) { - XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]", src->name(), src->id(), dst->name(), dst->id()); + XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]", src->name().c_str(), src->id(), dst->name().c_str(), + dst->id()); if(src->isAS()) { - char *src_name = bprintf("router_%s",src->name()); - char *dst_name = bprintf("router_%s",dst->name()); - route->gw_src = (sg_netcard_t) xbt_lib_get_or_null(as_router_lib, src_name, ROUTING_ASR_LEVEL); - route->gw_dst = (sg_netcard_t) xbt_lib_get_or_null(as_router_lib, dst_name, ROUTING_ASR_LEVEL); - xbt_free(src_name); - xbt_free(dst_name); + char* srcName = bprintf("router_%s", src->name().c_str()); + char* dstName = bprintf("router_%s", dst->name().c_str()); + route->gw_src = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib, srcName, ROUTING_ASR_LEVEL); + route->gw_dst = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib, dstName, ROUTING_ASR_LEVEL); + xbt_free(srcName); + xbt_free(dstName); } /* Retrieve the private links */ - if ((int)xbt_dynar_length(privateLinks_) > src->id()) { - s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, src->id(), s_surf_parsing_link_up_down_t); + if (privateLinks_.size() > src->id()) { + s_surf_parsing_link_up_down_t info = privateLinks_.at(src->id()); if(info.linkUp) { route->link_list->push_back(info.linkUp); if (lat) - *lat += info.linkUp->getLatency(); + *lat += info.linkUp->latency(); } } - if ((int)xbt_dynar_length(privateLinks_)>dst->id()) { - s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, dst->id(), s_surf_parsing_link_up_down_t); + if (privateLinks_.size() >dst->id()) { + s_surf_parsing_link_up_down_t info = privateLinks_.at(dst->id()); if(info.linkDown) { route->link_list->push_back(info.linkDown); if (lat) - *lat += info.linkDown->getLatency(); + *lat += info.linkDown->latency(); } } @@ -97,5 +98,4 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb } } -} -} +}}}