struct s_model_type routing_models[] = {
{"Full",
"Full routing data (fast, large memory requirements, fully expressive)",
- model_full_create, model_full_end},
+ model_full_create},
{"Floyd",
"Floyd routing data (slow initialization, fast lookup, lesser memory requirements, shortest path routing only)",
- model_floyd_create, model_floyd_end},
+ model_floyd_create},
{"Dijkstra",
"Dijkstra routing data (fast initialization, slow lookup, small memory requirements, shortest path routing only)",
- model_dijkstra_create, model_dijkstra_both_end},
+ model_dijkstra_create},
{"DijkstraCache",
"Dijkstra routing data (fast initialization, fast lookup, small memory requirements, shortest path routing only)",
- model_dijkstracache_create, model_dijkstra_both_end},
+ model_dijkstracache_create},
{"none", "No routing (Unless you know what you are doing, avoid using this mode in combination with a non Constant network model).",
- model_none_create, NULL},
- {"Vivaldi", "Vivaldi routing",
- model_vivaldi_create, NULL},
- {"Cluster", "Cluster routing",
- model_cluster_create, NULL},
- {"Torus_Cluster", "Torus Cluster routing",
- model_torus_cluster_create, NULL},
- {"Fat_Tree_Cluster", "Fat Tree Cluster routing",
- model_fat_tree_cluster_create, NULL},
- {NULL, NULL, NULL, NULL}
+ model_none_create},
+ {"Vivaldi", "Vivaldi routing", model_vivaldi_create},
+ {"Cluster", "Cluster routing", model_cluster_create},
+ {"Torus_Cluster", "Torus Cluster routing", model_torus_cluster_create},
+ {"Fat_Tree_Cluster", "Fat Tree Cluster routing", model_fat_tree_cluster_create},
+ {NULL, NULL, NULL}
};
/**
if (current_routing == NULL) {
THROWF(arg_error, 0, "Close an AS, but none was under construction");
} else {
- if (current_routing->p_modelDesc->end)
- current_routing->p_modelDesc->end(current_routing);
+ current_routing->Seal();
current_routing = current_routing->p_routingFather;
}
}
/* ************************************************************************** */
/* *************************** FLOYD ROUTING ******************************** */
XBT_PRIVATE AS_t model_floyd_create(void); /* create structures for floyd routing model */
-XBT_PRIVATE void model_floyd_end(AS_t as); /* finalize the creation of floyd routing model */
XBT_PRIVATE void model_floyd_parse_route(AS_t rc, sg_platf_route_cbarg_t route);
/* ************************************************** */
XBT_PRIVATE AS_t model_dijkstra_both_create(int cached); /* create by calling dijkstra or dijkstracache */
XBT_PRIVATE AS_t model_dijkstra_create(void); /* create structures for dijkstra routing model */
XBT_PRIVATE AS_t model_dijkstracache_create(void); /* create structures for dijkstracache routing model */
-XBT_PRIVATE void model_dijkstra_both_end(AS_t as); /* finalize the creation of dijkstra routing model */
XBT_PRIVATE void model_dijkstra_both_parse_route (AS_t rc, sg_platf_route_cbarg_t route);
/* ************************************************************************** */
/* *************************** FULL ROUTING ********************************* */
XBT_PRIVATE AS_t model_full_create(void); /* create structures for full routing model */
-XBT_PRIVATE void model_full_end(AS_t as); /* finalize the creation of full routing model */
XBT_PRIVATE void model_full_set_route( /* Set the route and ASroute between src and dst */
AS_t rc, sg_platf_route_cbarg_t route);
/* ************************************************************************** */