X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4307004096e8d32385e4cf451a52bbef1a46d95e..a7c05e186c0c2c4555d127909c1898f0668c050c:/src/surf/AsFull.cpp diff --git a/src/surf/AsFull.cpp b/src/surf/AsFull.cpp index 37d3ff7709..07c585119d 100644 --- a/src/surf/AsFull.cpp +++ b/src/surf/AsFull.cpp @@ -36,8 +36,7 @@ void AsFull::seal() { e_route = xbt_new0(s_sg_platf_route_cbarg_t, 1); e_route->gw_src = NULL; e_route->gw_dst = NULL; - e_route->link_list = new std::vector(); - e_route->link_list->push_back(routing_platf->loopback_); + e_route->link_list.push_back(routing_platf->loopback_); TO_ROUTE_FULL(i, i) = e_route; } } @@ -47,15 +46,11 @@ void AsFull::seal() { AsFull::~AsFull(){ if (routingTable_) { int table_size = (int)xbt_dynar_length(vertices_); - int i, j; /* Delete routing table */ - for (i = 0; i < table_size; i++) - for (j = 0; j < table_size; j++) { - if (TO_ROUTE_FULL(i,j)){ - delete TO_ROUTE_FULL(i,j)->link_list; + for (int i = 0; i < table_size; i++) + for (int j = 0; j < table_size; j++) + if (TO_ROUTE_FULL(i,j)) xbt_free(TO_ROUTE_FULL(i,j)); - } - } xbt_free(routingTable_); } } @@ -75,8 +70,8 @@ void AsFull::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg if (e_route) { 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); + for (auto link : e_route->link_list) { + res->link_list.push_back(link); if (lat) *lat += static_cast(link)->getLatency(); } @@ -108,7 +103,7 @@ void AsFull::addRoute(sg_platf_route_cbarg_t route) /* 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_net_elm->id(), dst_net_elm->id())->link_list.shrink_to_fit(); if (route->symmetrical == true && src_net_elm != dst_net_elm) { if (route->gw_dst && route->gw_src) { @@ -125,7 +120,7 @@ void AsFull::addRoute(sg_platf_route_cbarg_t route) "The route between %s and %s already exists. You should not declare the reverse path as symmetrical.", dst,src); 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_net_elm->id(), src_net_elm->id())->link_list.shrink_to_fit(); } }