X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/278c73fe5bd433ae761178241d2e0694cf5e6932..f55ebe8f51eaa911242266638068e2c91e958db9:/src/surf/surf_routing_none.c diff --git a/src/surf/surf_routing_none.c b/src/surf/surf_routing_none.c index 0341778ee9..e4e187caef 100644 --- a/src/surf/surf_routing_none.c +++ b/src/surf/surf_routing_none.c @@ -6,61 +6,59 @@ #include "surf_routing_private.h" -/* Global vars */ -extern routing_global_t global_routing; -extern routing_component_t current_routing; -extern model_type_t current_routing_model; - XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_none, surf, "Routing part of surf"); -/* Routing model structure */ -/* Business methods */ -static xbt_dynar_t none_get_onelink_routes(routing_component_t rc) -{ +static xbt_dynar_t none_get_onelink_routes(AS_t rc) { return NULL; } -static route_extended_t none_get_route(routing_component_t rc, - const char *src, const char *dst) +static void none_get_route_and_latency(AS_t rc, network_element_t src, network_element_t dst, + route_t res,double *lat) { - return NULL; } -static route_extended_t none_get_bypass_route(routing_component_t rc, - const char *src, - const char *dst) -{ +static route_t none_get_bypass_route(AS_t rc, + network_element_t src, + network_element_t dst) { return NULL; } -static void none_finalize(routing_component_t rc) -{ - xbt_free(rc); -} - -static void none_parse_PU(routing_component_t rc, - const char *name) -{ +static int none_parse_PU(AS_t rc, network_element_t elm) { + xbt_dynar_push(rc->index_network_elm, (void *)elm); + /* don't care about PUs */ + return -1; } -static void none_parse_AS(routing_component_t rc, - const char *name) -{ +static int none_parse_AS(AS_t rc, network_element_t elm) { + xbt_dynar_push(rc->index_network_elm, (void *)elm); + /* even don't care about sub-ASes -- I'm as nihilist as an old punk*/ + return -1; } /* Creation routing model functions */ -routing_component_t model_none_create(void) -{ - routing_component_t new_component = xbt_new(s_routing_component_t, 1); +AS_t model_none_create() { + return model_none_create_sized(sizeof(s_as_t)); +} +AS_t model_none_create_sized(size_t childsize) { + AS_t new_component = xbt_malloc0(childsize); new_component->parse_PU = none_parse_PU; new_component->parse_AS = none_parse_AS; new_component->parse_route = NULL; new_component->parse_ASroute = NULL; new_component->parse_bypassroute = NULL; - new_component->get_route = none_get_route; + new_component->get_route_and_latency = none_get_route_and_latency; new_component->get_onelink_routes = none_get_onelink_routes; new_component->get_bypass_route = none_get_bypass_route; - new_component->finalize = none_finalize; + new_component->finalize = model_none_finalize; + + new_component->routing_sons = xbt_dict_new_homogeneous(NULL); + new_component->index_network_elm = xbt_dynar_new(sizeof(char*),NULL); return new_component; } +void model_none_finalize(AS_t as) { + xbt_dict_free(&as->routing_sons); + xbt_free(as->name); + xbt_free(as); +} +