-/* Business methods */
-xbt_dynar_t AsFloyd::getOneLinkRoutes()
-{
- xbt_dynar_t ret = xbt_dynar_new(sizeof(onelink_t), xbt_free);
- sg_platf_route_cbarg_t route = xbt_new0(s_sg_platf_route_cbarg_t, 1);
- route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t), NULL);
-
- int src,dst;
- sg_routing_edge_t src_elm, dst_elm;
- int table_size = xbt_dynar_length(p_indexNetworkElm);
- for(src=0; src < table_size; src++) {
- for(dst=0; dst< table_size; dst++) {
- xbt_dynar_reset(route->link_list);
- src_elm = xbt_dynar_get_as(p_indexNetworkElm, src, RoutingEdgePtr);
- dst_elm = xbt_dynar_get_as(p_indexNetworkElm, dst, RoutingEdgePtr);
- this->getRouteAndLatency(src_elm, dst_elm, route, NULL);
-
- if (xbt_dynar_length(route->link_list) == 1) {
- void *link = *(void **) xbt_dynar_get_ptr(route->link_list, 0);
- onelink_t onelink = xbt_new0(s_onelink_t, 1);
- onelink->link_ptr = link;
- if (p_hierarchy == SURF_ROUTING_BASE) {
- onelink->src = src_elm;
- onelink->dst = dst_elm;
- } else if (p_hierarchy == SURF_ROUTING_RECURSIVE) {
- onelink->src = route->gw_src;
- onelink->dst = route->gw_dst;
- }
- xbt_dynar_push(ret, &onelink);
- }
- }
- }
-
- return ret;
-}
-
-void AsFloyd::getRouteAndLatency(RoutingEdgePtr src, RoutingEdgePtr dst, sg_platf_route_cbarg_t res, double *lat)