Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups in routing
authorMartin Quinson <martin.quinson@loria.fr>
Sun, 28 Feb 2016 11:05:41 +0000 (12:05 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sun, 28 Feb 2016 11:06:04 +0000 (12:06 +0100)
commitbd568bd51e676d804576f658d2b3ecc1c0330bbb
tree401ca9cc7830c6882a0f9f733e99d77bd9402c69
parenteaab609e9b69f5b25d37d3f50ed92ef5ec1bdd1d
cleanups in routing

- Make the link field of sg_platf_route_cbarg_t a vector<Link*>
  instead of a dynar.

- This dynar used to contain sometimes links (when computing the
  RouteAndLatency) and sometimes link names (when parsing).

- When parsing, the AS were in charge of checking that the links
  which names are given exist. Now, the parsing code has to deal with
  its own mess, to pass the expected Link*.

The situation around this data structure is still very messy because:
 - src and dst are the names while src_gw and dst_gw are the netcards
 - not all the fields are used in all usages:
   - src/dst not used in data stored in floyd/dijkstra
   - gw_* not used when adding a route (only for ASroute)
   - gw_* not used in the data stored in floyd/dijkstra but in the
     return value of getRouteAndLatency for these models.

Ultimately, this data structure should be limited to the xml world,
and proper replacement designed for each situations.
21 files changed:
src/bindings/lua/lua_platf.cpp
src/instr/instr_interface.cpp
src/simdag/sd_workstation.cpp
src/surf/network_cm02.cpp
src/surf/network_ns3.cpp
src/surf/network_ns3.hpp
src/surf/ptask_L07.cpp
src/surf/surf_private.h
src/surf/surf_routing.cpp
src/surf/surf_routing.hpp
src/surf/surf_routing_RoutedGraph.cpp
src/surf/surf_routing_cluster.cpp
src/surf/surf_routing_cluster_fat_tree.cpp
src/surf/surf_routing_cluster_torus.cpp
src/surf/surf_routing_dijkstra.cpp
src/surf/surf_routing_floyd.cpp
src/surf/surf_routing_full.cpp
src/surf/surf_routing_vivaldi.cpp
src/surf/xml/platf_private.hpp
src/surf/xml/surfxml_sax_cb.cpp
teshsuite/simdag/platforms/flatifier.cpp