Dijkstra routing data: fast initialization, slow lookup, small memory requirements, shortest path routing only.
More...
|
| AsDijkstra (const char *name, bool cached) |
|
void | seal () override |
|
| ~AsDijkstra () |
|
xbt_node_t | routeGraphNewNode (int id, int graph_id) |
|
graph_node_map_element_t | nodeMapSearch (int id) |
|
void | newRoute (int src_id, int dst_id, sg_platf_route_cbarg_t e_route) |
|
void | getRouteAndLatency (NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat) override |
| For each vertex (node) already in the graph, make sure it also has a loopback link; this loopback can potentially already be in the graph, and in that case nothing will be done. More...
|
|
void | addRoute (sg_platf_route_cbarg_t route) override |
|
| AsRoutedGraph (const char *name) |
|
| ~AsRoutedGraph () |
|
xbt_dynar_t | getOneLinkRoutes () override |
| retrieves the list of all routes of size 1 (of type src x dst x Link) More...
|
|
virtual void | getGraph (xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override |
|
virtual sg_platf_route_cbarg_t | newExtendedRoute (RoutingMode hierarchy, sg_platf_route_cbarg_t routearg, int change_order) |
|
std::vector< surf::Link * > * | getBypassRoute (surf::NetCard *src, surf::NetCard *dst) |
|
Dijkstra routing data: fast initialization, slow lookup, small memory requirements, shortest path routing only.
void simgrid::surf::AsDijkstra::getRouteAndLatency |
( |
NetCard * |
src, |
|
|
NetCard * |
dst, |
|
|
sg_platf_route_cbarg_t |
route, |
|
|
double * |
lat |
|
) |
| |
|
overridevirtual |
For each vertex (node) already in the graph, make sure it also has a loopback link; this loopback can potentially already be in the graph, and in that case nothing will be done.
If no loopback is specified for a node, we will use the loopback that is provided by the routing platform.
After this function returns, any node in the graph will have a loopback attached to it.
Implements simgrid::surf::AsImpl.