From 9da77e1cea6612786035c7ef879e8bbac3fb3b85 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Tue, 15 Nov 2011 09:36:10 +0100 Subject: [PATCH] simplify _routing_get_route_and_latency wrt latency - remove duplicated asserts about non negative latency routing_get_route_and_latency (w/o _) checks it - give the responsability to initialize it to the caller - streamline the code --- src/surf/surf_routing.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index fb1635603a..7b4427c069 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -507,11 +507,8 @@ static void _get_route_and_latency(const char *src, const char *dst, xbt_assert(e_route, "no route between \"%s\" and \"%s\"", src, dst); *route = e_route->link_list; - if (latency) { - *latency = common_father->get_latency(common_father, src, dst, e_route); - xbt_assert(*latency >= 0.0, - "latency error on route between \"%s\" and \"%s\"", src, dst); - } + if (latency) + *latency += common_father->get_latency(common_father, src, dst, e_route); xbt_free(e_route->src_gateway); xbt_free(e_route->dst_gateway); @@ -556,12 +553,9 @@ static void _get_route_and_latency(const char *src, const char *dst, *route = xbt_dynar_new(global_routing->size_of_link, NULL); if (latency) { - *latency = common_father->get_latency(common_father, + *latency += common_father->get_latency(common_father, src_father->name, dst_father->name, e_route_cnt); - xbt_assert(*latency >= 0.0, - "latency error on route between \"%s\" and \"%s\"", - src_father->name, dst_father->name); } @@ -581,12 +575,8 @@ static void _get_route_and_latency(const char *src, const char *dst, } xbt_dynar_free(&route_src); - if (latency) { - xbt_assert(latency_src >= 0.0, - "latency error on route between \"%s\" and \"%s\"", - src, e_route_cnt->src_gateway); + if (latency) *latency += latency_src; - } } xbt_dynar_foreach(e_route_cnt->link_list, cpt, link) { @@ -609,12 +599,8 @@ static void _get_route_and_latency(const char *src, const char *dst, } xbt_dynar_free(&route_dst); - if (latency) { - xbt_assert(latency_dst >= 0.0, - "latency error on route between \"%s\" and \"%s\"", - e_route_cnt->dst_gateway, dst); + if (latency) *latency += latency_dst; - } } generic_free_route(e_route_cnt); @@ -628,6 +614,7 @@ static void _get_route_and_latency(const char *src, const char *dst, * \param route where to store the list of links. * If *route=NULL, create a short lived dynar. Else, fill the provided dynar * \param latency where to store the latency experienced on the path (or NULL if not interested) + * It is the caller responsability to initialize latency to 0 (we add to provided route) * \pre route!=NULL * * walk through the routing components tree and find a route between hosts -- 2.20.1