X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f193fed57024f1b113f3ec07500a76e1ed5b76b1..187ba0c05f9fbe51175179b9f637b6554f947468:/src/surf/surf_routing_none.c diff --git a/src/surf/surf_routing_none.c b/src/surf/surf_routing_none.c index ca027263d0..1f403c8f42 100644 --- a/src/surf/surf_routing_none.c +++ b/src/surf/surf_routing_none.c @@ -6,61 +6,64 @@ #include "surf_routing_private.h" -/* Global vars */ -extern routing_global_t global_routing; -extern routing_component_t current_routing; -extern routing_model_description_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, sg_routing_edge_t src, sg_routing_edge_t dst, + sg_platf_route_cbarg_t res,double *lat) { - return NULL; + *lat = 0.0; } -static route_extended_t none_get_bypass_route(routing_component_t rc, - const char *src, - const char *dst) -{ +static sg_platf_route_cbarg_t none_get_bypass_route(AS_t rc, + sg_routing_edge_t src, + sg_routing_edge_t dst, double *lat) { 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, sg_routing_edge_t elm) { + XBT_DEBUG("Load process unit \"%s\"", elm->name); + xbt_dynar_push_as(rc->index_network_elm,sg_routing_edge_t,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, sg_routing_edge_t elm) { + XBT_DEBUG("Load Autonomous system \"%s\"", elm->name); + xbt_dynar_push_as(rc->index_network_elm,sg_routing_edge_t,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_dynar_free(&as->index_network_elm); + if(as->link_up_down_list) + xbt_dynar_free(&as->link_up_down_list); + xbt_free(as); +} +