X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6ee7e9c2e455536ab817ae0136acfbb53822eecd..6094020a03f9c10b954e3e1d32e1a3ffc75a8d7f:/src/surf/network_gtnets.c diff --git a/src/surf/network_gtnets.c b/src/surf/network_gtnets.c index aa467feeb9..34eaca4a01 100644 --- a/src/surf/network_gtnets.c +++ b/src/surf/network_gtnets.c @@ -23,7 +23,7 @@ static void link_new(char *name, double bw, double lat, xbt_dict_t props) static int link_count = -1; network_link_GTNETS_t gtnets_link; - if (xbt_dict_get_or_null(surf_network_model->resource_set, name)) { + if (xbt_lib_get_or_null(link_lib, name, SURF_LINK_LEVEL)) { return; } @@ -42,12 +42,11 @@ static void link_new(char *name, double bw, double lat, xbt_dict_t props) link_count, name, lat, bw); if (gtnets_add_link(link_count, bw, lat)) { - xbt_assert0(0, "Cannot create GTNetS link"); + xbt_die("Cannot create GTNetS link"); } gtnets_link->id = link_count; - xbt_dict_set(surf_network_model->resource_set, name, gtnets_link, - surf_resource_free); + xbt_lib_set(link_lib, name, SURF_LINK_LEVEL, gtnets_link); } static void route_new(int src_id, int dst_id, xbt_dynar_t links, @@ -58,7 +57,7 @@ static void route_new(int src_id, int dst_id, xbt_dynar_t links, int i = 0; int *gtnets_links; - XBT_IN_F("(src_id=%d, dst_id=%d, links=%p, nb_link=%d)", + XBT_IN("(src_id=%d, dst_id=%d, links=%p, nb_link=%d)", src_id, dst_id, links, nb_link); /* Build the list of gtnets link IDs */ @@ -69,16 +68,16 @@ static void route_new(int src_id, int dst_id, xbt_dynar_t links, } if (gtnets_add_route(src_id, dst_id, gtnets_links, nb_link)) { - xbt_assert0(0, "Cannot create GTNetS route"); + xbt_die("Cannot create GTNetS route"); } - XBT_OUT; + XBT_OUT(); } static void route_onehop_new(int src_id, int dst_id, network_link_GTNETS_t link) { if (gtnets_add_onehop_route(src_id, dst_id, link->id)) { - xbt_assert0(0, "Cannot create GTNetS route"); + xbt_die("Cannot create GTNetS route"); } } @@ -110,7 +109,6 @@ static void parse_link_init(void) if (state_trace) XBT_INFO("The GTNetS network model doesn't support link state traces"); - current_property_set = xbt_dict_new(); if (A_surfxml_link_sharing_policy == A_surfxml_link_sharing_policy_FULLDUPLEX) { link_new(bprintf("%s_UP",name), bw, lat, current_property_set); @@ -118,6 +116,7 @@ static void parse_link_init(void) } else link_new(name, bw, lat, current_property_set); + current_property_set = NULL; } /* Create the gtnets topology based on routing strategy */ @@ -167,15 +166,14 @@ static void create_gtnets_topology() static void define_callbacks(const char *file) { /* Figuring out the network links */ - surfxml_add_callback(STag_surfxml_link_cb_list, &parse_link_init); + surfxml_add_callback(ETag_surfxml_link_cb_list, &parse_link_init); surfxml_add_callback(ETag_surfxml_platform_cb_list, &create_gtnets_topology); } static int resource_used(void *resource_id) { - xbt_assert0(0, - "The resource_used feature is not implemented in GTNets model"); + xbt_die("The resource_used feature is not implemented in GTNets model"); } static int action_unref(surf_action_t action) @@ -195,13 +193,13 @@ static int action_unref(surf_action_t action) static void action_cancel(surf_action_t action) { - xbt_assert0(0, "Cannot cancel GTNetS flow"); + xbt_die("Cannot cancel GTNetS flow"); return; } static void action_recycle(surf_action_t action) { - xbt_assert0(0, "Cannot recycle GTNetS flow"); + xbt_die("Cannot recycle GTNetS flow"); return; } @@ -255,12 +253,10 @@ static void update_actions_state(double now, double delta) num_flows = 0; if (gtnets_run_until_next_flow_completion(&metadata, &num_flows)) { - xbt_assert0(0, - "Cannot run GTNetS simulation until next flow completion"); + xbt_die("Cannot run GTNetS simulation until next flow completion"); } if (num_flows < 1) { - xbt_assert0(0, - "GTNetS simulation couldn't find a flow that would complete"); + xbt_die("GTNetS simulation couldn't find a flow that would complete"); } xbt_swag_foreach(action, running_actions) { @@ -315,7 +311,7 @@ static void update_actions_state(double now, double delta) } else { /* run for a given number of seconds */ if (gtnets_run(delta)) { - xbt_assert0(0, "Cannot run GTNetS simulation"); + xbt_die("Cannot run GTNetS simulation"); } } @@ -326,7 +322,7 @@ static void update_resource_state(void *id, tmgr_trace_event_t event_type, double value, double date) { - xbt_assert0(0, "Cannot update model state for GTNetS simulation"); + xbt_die("Cannot update model state for GTNetS simulation"); } /* Max durations are not supported */ @@ -357,8 +353,7 @@ static surf_action_t communicate(const char *src_name, /* Add a flow to the GTNets Simulation, associated to this action */ if (gtnets_create_flow(src, dst, size, (void *) action) < 0) { - xbt_assert2(0, "Not route between host %s and host %s", src_name, - dst_name); + xbt_die("Not route between host %s and host %s", src_name, dst_name); } #ifdef HAVE_TRACING TRACE_surf_gtnets_communicate(action, src, dst); @@ -417,7 +412,7 @@ static void surf_network_model_init_internal(void) /* Added the initialization for GTNetS interface */ if (gtnets_initialize(sg_tcp_gamma)) { - xbt_assert0(0, "Impossible to initialize GTNetS interface"); + xbt_die("Impossible to initialize GTNetS interface"); } routing_model_create(sizeof(network_link_GTNETS_t), NULL, NULL);