e_route->link_list.push_back(surf_network_model->loopback_);
xbt_graph_new_edge(routeGraph_, node, node, e_route);
}
e_route->link_list.push_back(surf_network_model->loopback_);
xbt_graph_new_edge(routeGraph_, node, node, e_route);
}
{
XBT_DEBUG("Load Route from \"%d\" to \"%d\"", src_id, dst_id);
xbt_node_t src = nullptr;
{
XBT_DEBUG("Load Route from \"%d\" to \"%d\"", src_id, dst_id);
xbt_node_t src = nullptr;
xbt_graph_new_edge(routeGraph_, src, dst, e_route);
}
xbt_graph_new_edge(routeGraph_, src, dst, e_route);
}
-void DijkstraZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t route, double* lat)
+void DijkstraZone::getLocalRoute(NetPoint* src, NetPoint* dst, RouteCreationArgs* route, double* lat)
if (edge == nullptr)
THROWF(arg_error, 0, "No route from '%s' to '%s'", src->getCname(), dst->getCname());
if (edge == nullptr)
THROWF(arg_error, 0, "No route from '%s' to '%s'", src->getCname(), dst->getCname());
for (auto const& link : e_route->link_list) {
route->link_list.insert(route->link_list.begin(), link);
for (auto const& link : e_route->link_list) {
route->link_list.insert(route->link_list.begin(), link);
xbt_node_t u_node = xbt_graph_edge_get_target(edge);
graph_node_data_t data = static_cast<graph_node_data_t>(xbt_graph_node_get_data(u_node));
int u_id = data->graph_id;
xbt_node_t u_node = xbt_graph_edge_get_target(edge);
graph_node_data_t data = static_cast<graph_node_data_t>(xbt_graph_node_get_data(u_node));
int u_id = data->graph_id;
int cost_v_u = tmp_e_route->link_list.size(); /* count of links, old model assume 1 */
if (cost_v_u + cost_arr[v_id] < cost_arr[u_id]) {
int cost_v_u = tmp_e_route->link_list.size(); /* count of links, old model assume 1 */
if (cost_v_u + cost_arr[v_id] < cost_arr[u_id]) {
if (edge == nullptr)
THROWF(arg_error, 0, "No route from '%s' to '%s'", src->getCname(), dst->getCname());
if (edge == nullptr)
THROWF(arg_error, 0, "No route from '%s' to '%s'", src->getCname(), dst->getCname());
- sg_platf_route_cbarg_t e_route = newExtendedRoute(hierarchy_, src, dst, gw_src, gw_dst, link_list, symmetrical, 1);
+ RouteCreationArgs* e_route = newExtendedRoute(hierarchy_, src, dst, gw_src, gw_dst, link_list, symmetrical, 1);
newExtendedRoute(hierarchy_, src, dst, gw_src, gw_dst, link_list, symmetrical, 0);
newRoute(dst->id(), src->id(), link_route_back);
}
newExtendedRoute(hierarchy_, src, dst, gw_src, gw_dst, link_list, symmetrical, 0);
newRoute(dst->id(), src->id(), link_route_back);
}