A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into actor-yield
[simgrid.git]
/
src
/
kernel
/
routing
/
DijkstraZone.cpp
diff --git
a/src/kernel/routing/DijkstraZone.cpp
b/src/kernel/routing/DijkstraZone.cpp
index
7178900
..
85dfd1a
100644
(file)
--- a/
src/kernel/routing/DijkstraZone.cpp
+++ b/
src/kernel/routing/DijkstraZone.cpp
@@
-21,13
+21,10
@@
static void graph_node_data_free(void* n)
delete data;
}
delete data;
}
-static void graph_edge_data_free(void* e)
// FIXME: useless code duplication
+static void graph_edge_data_free(void* e)
{
sg_platf_route_cbarg_t e_route = static_cast<sg_platf_route_cbarg_t>(e);
{
sg_platf_route_cbarg_t e_route = static_cast<sg_platf_route_cbarg_t>(e);
- if (e_route) {
- delete e_route->link_list;
- delete e_route;
- }
+ delete e_route;
}
/* Utility functions */
}
/* Utility functions */
@@
-60,8
+57,7
@@
void DijkstraZone::seal()
if (not found) {
sg_platf_route_cbarg_t e_route = new s_sg_platf_route_cbarg_t;
if (not found) {
sg_platf_route_cbarg_t e_route = new s_sg_platf_route_cbarg_t;
- e_route->link_list = new std::vector<surf::LinkImpl*>();
- e_route->link_list->push_back(surf_network_model->loopback_);
+ e_route->link_list.push_back(surf_network_model->loopback_);
xbt_graph_new_edge(routeGraph_, node, node, e_route);
}
}
xbt_graph_new_edge(routeGraph_, node, node, e_route);
}
}
@@
-155,8
+151,8
@@
void DijkstraZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cb
sg_platf_route_cbarg_t e_route = static_cast<sg_platf_route_cbarg_t>(xbt_graph_edge_get_data(edge));
sg_platf_route_cbarg_t e_route = static_cast<sg_platf_route_cbarg_t>(xbt_graph_edge_get_data(edge));
- 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);
if (lat)
*lat += static_cast<surf::LinkImpl*>(link)->latency();
}
if (lat)
*lat += static_cast<surf::LinkImpl*>(link)->latency();
}
@@
-199,7
+195,7
@@
void DijkstraZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cb
graph_node_data_t data = static_cast<graph_node_data_t>(xbt_graph_node_get_data(u_node));
int u_id = data->graph_id;
sg_platf_route_cbarg_t tmp_e_route = static_cast<sg_platf_route_cbarg_t>(xbt_graph_edge_get_data(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;
sg_platf_route_cbarg_t tmp_e_route = static_cast<sg_platf_route_cbarg_t>(xbt_graph_edge_get_data(edge));
- int cost_v_u = tmp_e_route->link_list
->
size(); /* count of links, old model assume 1 */
+ 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]) {
pred_arr[u_id] = v_id;
if (cost_v_u + cost_arr[v_id] < cost_arr[u_id]) {
pred_arr[u_id] = v_id;
@@
-237,18
+233,18
@@
void DijkstraZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cb
NetPoint* gw_dst_net_elm = nullptr;
NetPoint* prev_gw_src_net_elm = nullptr;
NetPoint* gw_dst_net_elm = nullptr;
NetPoint* prev_gw_src_net_elm = nullptr;
- getGlobalRoute(gw_dst_net_elm, prev_gw_src_net_elm,
&
e_route_as_to_as, nullptr);
- auto pos = route->link_list
->
begin();
+ getGlobalRoute(gw_dst_net_elm, prev_gw_src_net_elm, e_route_as_to_as, nullptr);
+ auto pos = route->link_list
.
begin();
for (auto const& link : e_route_as_to_as) {
for (auto const& link : e_route_as_to_as) {
- route->link_list
->
insert(pos, link);
+ route->link_list
.
insert(pos, link);
if (lat)
*lat += link->latency();
pos++;
}
}
if (lat)
*lat += link->latency();
pos++;
}
}
- 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);
if (lat)
*lat += static_cast<surf::LinkImpl*>(link)->latency();
}
if (lat)
*lat += static_cast<surf::LinkImpl*>(link)->latency();
}