X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/aa3426ffe35e9f09e17b5f09ee1264263b0a61b4..b2f3150048cd87c9e16e251fea65c40221fd56ea:/src/kernel/routing/AsFull.cpp diff --git a/src/kernel/routing/AsFull.cpp b/src/kernel/routing/AsFull.cpp index ac5bf96da2..95f8f72b40 100644 --- a/src/kernel/routing/AsFull.cpp +++ b/src/kernel/routing/AsFull.cpp @@ -29,7 +29,7 @@ void AsFull::seal() { routingTable_ = xbt_new0(sg_platf_route_cbarg_t, table_size * table_size); /* Add the loopback if needed */ - if (routing_platf->loopback_ && hierarchy_ == RoutingMode::base) { + if (surf_network_model->loopback_ && hierarchy_ == RoutingMode::base) { for (i = 0; i < table_size; i++) { e_route = TO_ROUTE_FULL(i, i); if (!e_route) { @@ -37,7 +37,7 @@ void AsFull::seal() { e_route->gw_src = nullptr; e_route->gw_dst = nullptr; e_route->link_list = new std::vector(); - e_route->link_list->push_back(routing_platf->loopback_); + e_route->link_list->push_back(surf_network_model->loopback_); TO_ROUTE_FULL(i, i) = e_route; } } @@ -59,35 +59,30 @@ AsFull::~AsFull(){ } } -void AsFull::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t res, double *lat) +void AsFull::getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t res, double* lat) { - XBT_DEBUG("full_get_route_and_latency from %s[%d] to %s[%d]", - src->name(), src->id(), dst->name(), dst->id()); + XBT_DEBUG("full getLocalRoute from %s[%d] to %s[%d]", src->name().c_str(), src->id(), dst->name().c_str(), dst->id()); - /* set utils vars */ size_t table_size = vertices_.size(); + sg_platf_route_cbarg_t e_route = TO_ROUTE_FULL(src->id(), dst->id()); - sg_platf_route_cbarg_t e_route = nullptr; - - e_route = TO_ROUTE_FULL(src->id(), dst->id()); - - if (e_route) { + if (e_route != nullptr) { res->gw_src = e_route->gw_src; res->gw_dst = e_route->gw_dst; for (auto link : *e_route->link_list) { res->link_list->push_back(link); if (lat) - *lat += static_cast(link)->getLatency(); + *lat += link->latency(); } } } void AsFull::addRoute(sg_platf_route_cbarg_t route) { - NetCard *src_net_elm = route->src; - NetCard *dst_net_elm = route->dst; - const char *src = src_net_elm->name(); - const char *dst = dst_net_elm->name(); + NetCard* src = route->src; + NetCard* dst = route->dst; + const char* srcName = src->name().c_str(); + const char* dstName = dst->name().c_str(); addRouteCheckParams(route); @@ -98,33 +93,35 @@ void AsFull::addRoute(sg_platf_route_cbarg_t route) /* Check that the route does not already exist */ if (route->gw_dst) // AS route (to adapt the error message, if any) - xbt_assert(nullptr == TO_ROUTE_FULL(src_net_elm->id(), dst_net_elm->id()), - "The route between %s@%s and %s@%s already exists (Rq: routes are symmetrical by default).", - src,route->gw_src->name(),dst,route->gw_dst->name()); + xbt_assert(nullptr == TO_ROUTE_FULL(src->id(), dst->id()), + "The route between %s@%s and %s@%s already exists (Rq: routes are symmetrical by default).", srcName, + route->gw_src->name().c_str(), dstName, route->gw_dst->name().c_str()); else - xbt_assert(nullptr == TO_ROUTE_FULL(src_net_elm->id(), dst_net_elm->id()), - "The route between %s and %s already exists (Rq: routes are symmetrical by default).", src,dst); + xbt_assert(nullptr == TO_ROUTE_FULL(src->id(), dst->id()), + "The route between %s and %s already exists (Rq: routes are symmetrical by default).", srcName, dstName); /* Add the route to the base */ - TO_ROUTE_FULL(src_net_elm->id(), dst_net_elm->id()) = newExtendedRoute(hierarchy_, route, 1); - TO_ROUTE_FULL(src_net_elm->id(), dst_net_elm->id())->link_list->shrink_to_fit(); + TO_ROUTE_FULL(src->id(), dst->id()) = newExtendedRoute(hierarchy_, route, 1); + TO_ROUTE_FULL(src->id(), dst->id())->link_list->shrink_to_fit(); - if (route->symmetrical == true && src_net_elm != dst_net_elm) { + if (route->symmetrical == true && src != dst) { if (route->gw_dst && route->gw_src) { NetCard* gw_tmp = route->gw_src; route->gw_src = route->gw_dst; route->gw_dst = gw_tmp; } if (route->gw_dst) // AS route (to adapt the error message, if any) - xbt_assert(nullptr == TO_ROUTE_FULL(dst_net_elm->id(), src_net_elm->id()), + xbt_assert( + nullptr == TO_ROUTE_FULL(dst->id(), src->id()), "The route between %s@%s and %s@%s already exists. You should not declare the reverse path as symmetrical.", - dst,route->gw_dst->name(),src,route->gw_src->name()); + dstName, route->gw_dst->name().c_str(), srcName, route->gw_src->name().c_str()); else - xbt_assert(nullptr == TO_ROUTE_FULL(dst_net_elm->id(), src_net_elm->id()), - "The route between %s and %s already exists. You should not declare the reverse path as symmetrical.", dst,src); + xbt_assert(nullptr == TO_ROUTE_FULL(dst->id(), src->id()), + "The route between %s and %s already exists. You should not declare the reverse path as symmetrical.", + dstName, srcName); - TO_ROUTE_FULL(dst_net_elm->id(), src_net_elm->id()) = newExtendedRoute(hierarchy_, route, 0); - TO_ROUTE_FULL(dst_net_elm->id(), src_net_elm->id())->link_list->shrink_to_fit(); + TO_ROUTE_FULL(dst->id(), src->id()) = newExtendedRoute(hierarchy_, route, 0); + TO_ROUTE_FULL(dst->id(), src->id())->link_list->shrink_to_fit(); } }