}
#ifdef HAVE_TRACING
if (TRACE_is_enabled()) {
- xbt_dynar_t route = routing_get_route(action->src_name, action->dst_name);
+ xbt_dynar_t route=NULL;
+ routing_get_route_and_latency(action->src_name, action->dst_name,&route,NULL);
link_CM02_t link;
unsigned int i;
xbt_dynar_foreach(route, i, link) {
xbt_dynar_t back_route = NULL;
int constraints_per_variable = 0;
- xbt_dynar_t route;
- // I need to have the forward and backward routes at the same time, so I don't ask the routing to cleanup the route right away for me
- routing_get_route_and_latency(src_name, dst_name, &route, &latency, 0);
+ xbt_dynar_t route = xbt_dynar_new(sizeof(void*),NULL);
+ // I need to have the forward and backward routes at the same time, so allocate "route". That way, the routing wont clean it up
+ routing_get_route_and_latency(src_name, dst_name, &route, &latency);
if (sg_network_fullduplex == 1) {
- back_route = routing_get_route(dst_name, src_name);
+ // FIXME: fill route directly
+ routing_get_route_and_latency(dst_name, src_name, &back_route,NULL);
}
/* LARGE PLATFORMS HACK:
XBT_IN("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
/* LARGE PLATFORMS HACK:
assert on total_route_size */
- xbt_assert(xbt_dynar_length(route) || latency,
+ xbt_assert(!xbt_dynar_is_empty(route) || latency,
"You're trying to send data from %s to %s but there is no connection at all between these two hosts.",
src_name, dst_name);
bandwidth_constraint_callback(action->rate, bandwidth_bound,
size);
- if(xbt_dynar_length(route) > 0) {
+ if(!xbt_dynar_is_empty(route)) {
link = *(link_CM02_t*)xbt_dynar_get_ptr(route, 0);
gap_append(size, link, action);
XBT_DEBUG("Comm %p: %s -> %s gap=%f (lat=%f)",
static xbt_dynar_t net_get_route(const char *src, const char *dst)
{
- return routing_get_route(src, dst);
+ xbt_dynar_t route=NULL;
+ routing_get_route_and_latency(src, dst,&route, NULL);
+ return route;
}
static double net_get_link_bandwidth(const void *link)