-/* Business methods */
-xbt_dynar_t AsFloyd::getOneLinkRoutes()
-{
- xbt_dynar_t ret = xbt_dynar_new(sizeof(Onelink*), xbt_free_f);
- 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, RoutingEdge*);
- dst_elm = xbt_dynar_get_as(p_indexNetworkElm, dst, RoutingEdge*);
- 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 *onelink;
- if (p_hierarchy == SURF_ROUTING_BASE)
- onelink = new Onelink(link, src_elm, dst_elm);
- else if (p_hierarchy == SURF_ROUTING_RECURSIVE)
- onelink = new Onelink(link, route->gw_src, route->gw_dst);
- else
- onelink = new Onelink(link, NULL, NULL);
- xbt_dynar_push(ret, &onelink);
- }
- }
- }
-
- return ret;