X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ffcd66b6f9480a432041937a8f2356295346dc01..e96d56e5fd2a71e414dca55d501f6756bd0c0eb5:/src/surf/surfxml_parse.c diff --git a/src/surf/surfxml_parse.c b/src/surf/surfxml_parse.c index d3bb5a88b0..d2153b1673 100644 --- a/src/surf/surfxml_parse.c +++ b/src/surf/surfxml_parse.c @@ -66,8 +66,8 @@ xbt_dynar_t STag_surfxml_link_cb_list = NULL; xbt_dynar_t ETag_surfxml_link_cb_list = NULL; xbt_dynar_t STag_surfxml_route_cb_list = NULL; xbt_dynar_t ETag_surfxml_route_cb_list = NULL; -xbt_dynar_t STag_surfxml_link_c_ctn_cb_list = NULL; -xbt_dynar_t ETag_surfxml_link_c_ctn_cb_list = NULL; +xbt_dynar_t STag_surfxml_link_ctn_cb_list = NULL; +xbt_dynar_t ETag_surfxml_link_ctn_cb_list = NULL; xbt_dynar_t STag_surfxml_process_cb_list = NULL; xbt_dynar_t ETag_surfxml_process_cb_list = NULL; xbt_dynar_t STag_surfxml_argument_cb_list = NULL; @@ -78,8 +78,8 @@ xbt_dynar_t STag_surfxml_cluster_cb_list = NULL; xbt_dynar_t ETag_surfxml_cluster_cb_list = NULL; xbt_dynar_t STag_surfxml_trace_cb_list = NULL; xbt_dynar_t ETag_surfxml_trace_cb_list = NULL; -xbt_dynar_t STag_surfxml_trace_c_connect_cb_list = NULL; -xbt_dynar_t ETag_surfxml_trace_c_connect_cb_list = NULL; +xbt_dynar_t STag_surfxml_trace_connect_cb_list = NULL; +xbt_dynar_t ETag_surfxml_trace_connect_cb_list = NULL; xbt_dynar_t STag_surfxml_random_cb_list = NULL; xbt_dynar_t ETag_surfxml_random_cb_list = NULL; xbt_dynar_t STag_surfxml_AS_cb_list = NULL; @@ -88,6 +88,8 @@ xbt_dynar_t STag_surfxml_ASroute_cb_list = NULL; xbt_dynar_t ETag_surfxml_ASroute_cb_list = NULL; xbt_dynar_t STag_surfxml_bypassRoute_cb_list = NULL; xbt_dynar_t ETag_surfxml_bypassRoute_cb_list = NULL; +xbt_dynar_t STag_surfxml_config_cb_list = NULL; +xbt_dynar_t ETag_surfxml_config_cb_list = NULL; /* store the current property set for any tag */ xbt_dict_t current_property_set = NULL; @@ -103,7 +105,7 @@ static void surf_parse_error(char *msg); static void parse_Stag_trace(void); static void parse_Etag_trace(void); -static void parse_Stag_trace_c_connect(void); +static void parse_Stag_trace_connect(void); static void init_randomness(void); static void add_randomness(void); @@ -120,8 +122,8 @@ void surf_parse_free_callbacks(void) xbt_dynar_free(&ETag_surfxml_link_cb_list); xbt_dynar_free(&STag_surfxml_route_cb_list); xbt_dynar_free(&ETag_surfxml_route_cb_list); - xbt_dynar_free(&STag_surfxml_link_c_ctn_cb_list); - xbt_dynar_free(&ETag_surfxml_link_c_ctn_cb_list); + xbt_dynar_free(&STag_surfxml_link_ctn_cb_list); + xbt_dynar_free(&ETag_surfxml_link_ctn_cb_list); xbt_dynar_free(&STag_surfxml_process_cb_list); xbt_dynar_free(&ETag_surfxml_process_cb_list); xbt_dynar_free(&STag_surfxml_argument_cb_list); @@ -130,8 +132,8 @@ void surf_parse_free_callbacks(void) xbt_dynar_free(&ETag_surfxml_prop_cb_list); xbt_dynar_free(&STag_surfxml_trace_cb_list); xbt_dynar_free(&ETag_surfxml_trace_cb_list); - xbt_dynar_free(&STag_surfxml_trace_c_connect_cb_list); - xbt_dynar_free(&ETag_surfxml_trace_c_connect_cb_list); + xbt_dynar_free(&STag_surfxml_trace_connect_cb_list); + xbt_dynar_free(&ETag_surfxml_trace_connect_cb_list); xbt_dynar_free(&STag_surfxml_random_cb_list); xbt_dynar_free(&ETag_surfxml_random_cb_list); xbt_dynar_free(&STag_surfxml_AS_cb_list); @@ -142,13 +144,17 @@ void surf_parse_free_callbacks(void) xbt_dynar_free(&ETag_surfxml_bypassRoute_cb_list); xbt_dynar_free(&STag_surfxml_cluster_cb_list); xbt_dynar_free(&ETag_surfxml_cluster_cb_list); + xbt_dynar_free(&STag_surfxml_config_cb_list); + xbt_dynar_free(&ETag_surfxml_config_cb_list); } void surf_parse_reset_parser(void) { surf_parse_free_callbacks(); - STag_surfxml_platform_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_platform_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_platform_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_platform_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_host_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_host_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_router_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); @@ -157,28 +163,44 @@ void surf_parse_reset_parser(void) ETag_surfxml_link_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_route_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_link_c_ctn_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_process_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_argument_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_link_ctn_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_link_ctn_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_process_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_process_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_argument_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_argument_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_prop_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_trace_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_trace_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_trace_c_connect_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_trace_c_connect_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_trace_connect_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_trace_connect_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_random_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_random_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); STag_surfxml_AS_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); ETag_surfxml_AS_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_ASroute_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_ASroute_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_bypassRoute_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_bypassRoute_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - STag_surfxml_cluster_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); - ETag_surfxml_cluster_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_ASroute_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_ASroute_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_bypassRoute_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_bypassRoute_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_cluster_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_cluster_cb_list = + xbt_dynar_new(sizeof(void_f_void_t), NULL); + STag_surfxml_config_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); + ETag_surfxml_config_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); } /* Stag and Etag parse functions */ @@ -190,22 +212,24 @@ void STag_surfxml_platform(void) sscanf(A_surfxml_platform_version, "%lg", &version); xbt_assert0((version >= 1.0), "******* BIG FAT WARNING *********\n " - "You're using an ancient XML file. " - "Since SimGrid 3.1, units are Bytes, Flops, and seconds " - "instead of MBytes, MFlops and seconds. " - "A script (surfxml_update.pl) to help you convert your old " - "platform files " - "is available in the contrib/platform_generation directory " - "of the simgrid repository. Please check also out the " - "SURF section of the ChangeLog for the 3.1 version. " - "Last, do not forget to also update your values for " - "the calls to MSG_task_create (if any)."); - xbt_assert0((version >= 2.0), "******* BIG FAT WARNING *********\n " - "You're using an old XML file. " - "A script (surfxml_update.pl) to help you convert your old " - "platform files " - "is available in the contrib/platform_generation directory " - "of the simgrid repository."); + "You're using an ancient XML file.\n" + "Since SimGrid 3.1, units are Bytes, Flops, and seconds " + "instead of MBytes, MFlops and seconds.\n" + + "Use simgrid_update_xml to update your file automatically. " + "This program is installed automatically with SimGrid, or " + "available in the tools/ directory of the source archive.\n" + + "Please check also out the SURF section of the ChangeLog for " + "the 3.1 version for more information. \n" + + "Last, do not forget to also update your values for " + "the calls to MSG_task_create (if any)."); + xbt_assert0((version >= 3.0), "******* BIG FAT WARNING *********\n " + "You're using an old XML file.\n" + "Use simgrid_update_xml to update your file automatically. " + "This program is installed automatically with SimGrid, or " + "available in the tools/ directory of the source archive."); surfxml_call_cb_functions(STag_surfxml_platform_cb_list); @@ -215,22 +239,39 @@ void STag_surfxml_platform(void) void type##Tag_surfxml_##name(void) \ { surfxml_call_cb_functions(type##Tag_surfxml_##name##_cb_list); } - parse_method(E,platform); -parse_method(S,host); parse_method(E,host); -parse_method(S,router); parse_method(E,router); -parse_method(S,link); parse_method(E,link); -parse_method(S,route); parse_method(E,route); -parse_method(S,link_c_ctn); parse_method(E,link_c_ctn); -parse_method(S,process); parse_method(E,process); -parse_method(S,argument); parse_method(E,argument); -parse_method(S,prop); parse_method(E,prop); -parse_method(S,trace); parse_method(E,trace); -parse_method(S,trace_c_connect); parse_method(E,trace_c_connect); -parse_method(S,random); parse_method(E,random); -parse_method(S,AS); parse_method(E,AS); -parse_method(S,ASroute); parse_method(E,ASroute); -parse_method(S,bypassRoute); parse_method(E,bypassRoute); -parse_method(S,cluster); parse_method(E,cluster); +parse_method(E, platform); +parse_method(S, host); +parse_method(E, host); +parse_method(S, router); +parse_method(E, router); +parse_method(S, link); +parse_method(E, link); +parse_method(S, route); +parse_method(E, route); +parse_method(S, link_ctn); +parse_method(E, link_ctn); +parse_method(S, process); +parse_method(E, process); +parse_method(S, argument); +parse_method(E, argument); +parse_method(S, prop); +parse_method(E, prop); +parse_method(S, trace); +parse_method(E, trace); +parse_method(S, trace_connect); +parse_method(E, trace_connect); +parse_method(S, random); +parse_method(E, random); +parse_method(S, AS); +parse_method(E, AS); +parse_method(S, ASroute); +parse_method(E, ASroute); +parse_method(S, bypassRoute); +parse_method(E, bypassRoute); +parse_method(S, cluster); +parse_method(E, cluster); +parse_method(S, config); +parse_method(E, config); /* Open and Close parse file */ @@ -240,7 +281,7 @@ void surf_parse_open(const char *file) if (!file) { if (!warned) { WARN0 - ("Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code."); + ("Bypassing the XML parser since surf_parse_open received a NULL pointer. If it is not what you want, go fix your code."); warned = 1; } return; @@ -257,6 +298,7 @@ void surf_parse_close(void) if (surf_file_to_parse) { surf_parse__delete_buffer(surf_input_buffer); fclose(surf_file_to_parse); + surf_file_to_parse = NULL; //Must be reset for Bypass } } @@ -298,13 +340,13 @@ void surfxml_add_callback(xbt_dynar_t cb_list, void_f_void_t function) xbt_dynar_push(cb_list, &function); } -void surfxml_del_callback(xbt_dynar_t* p_cb_list, void_f_void_t function) +void surfxml_del_callback(xbt_dynar_t * p_cb_list, void_f_void_t function) { xbt_dynar_t new_cb_list = xbt_dynar_new(sizeof(void_f_void_t), NULL); unsigned int it; void_f_void_t func; - xbt_dynar_foreach(*p_cb_list,it,func) { - if( func != function ) + xbt_dynar_foreach(*p_cb_list, it, func) { + if (func != function) xbt_dynar_push(new_cb_list, &func); } xbt_dynar_free(p_cb_list); @@ -334,13 +376,14 @@ static void init_data(void) trace_connect_list_link_avail = xbt_dict_new(); trace_connect_list_bandwidth = xbt_dict_new(); trace_connect_list_latency = xbt_dict_new(); - + surfxml_add_callback(STag_surfxml_random_cb_list, &init_randomness); surfxml_add_callback(ETag_surfxml_random_cb_list, &add_randomness); surfxml_add_callback(STag_surfxml_prop_cb_list, &parse_properties); surfxml_add_callback(STag_surfxml_trace_cb_list, &parse_Stag_trace); surfxml_add_callback(ETag_surfxml_trace_cb_list, &parse_Etag_trace); - surfxml_add_callback(STag_surfxml_trace_c_connect_cb_list, &parse_Stag_trace_c_connect); + surfxml_add_callback(STag_surfxml_trace_connect_cb_list, + &parse_Stag_trace_connect); } static void free_data(void) @@ -378,7 +421,7 @@ void parse_properties(void) { char *value = NULL; if (!current_property_set) - current_property_set = xbt_dict_new(); // Maybe, it should be make a error + current_property_set = xbt_dict_new(); // Maybe, it should be make a error value = xbt_strdup(A_surfxml_prop_value); xbt_dict_set(current_property_set, A_surfxml_prop_id, value, free); } @@ -406,48 +449,48 @@ static void parse_Etag_trace(void) trace = NULL; else trace = - tmgr_trace_new_from_string(trace_id, surfxml_pcdata, - trace_periodicity); + tmgr_trace_new_from_string(trace_id, surfxml_pcdata, + trace_periodicity); } xbt_dict_set(traces_set_list, trace_id, (void *) trace, NULL); } -static void parse_Stag_trace_c_connect(void) +static void parse_Stag_trace_connect(void) { xbt_assert2(xbt_dict_get_or_null - (traces_set_list, A_surfxml_trace_c_connect_trace), + (traces_set_list, A_surfxml_trace_connect_trace), "Cannot connect trace %s to %s: trace unknown", - A_surfxml_trace_c_connect_trace, - A_surfxml_trace_c_connect_element); + A_surfxml_trace_connect_trace, + A_surfxml_trace_connect_element); - switch (A_surfxml_trace_c_connect_kind) { - case A_surfxml_trace_c_connect_kind_HOST_AVAIL: + switch (A_surfxml_trace_connect_kind) { + case A_surfxml_trace_connect_kind_HOST_AVAIL: xbt_dict_set(trace_connect_list_host_avail, - A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_POWER: - xbt_dict_set(trace_connect_list_power, A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + case A_surfxml_trace_connect_kind_POWER: + xbt_dict_set(trace_connect_list_power, A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_LINK_AVAIL: + case A_surfxml_trace_connect_kind_LINK_AVAIL: xbt_dict_set(trace_connect_list_link_avail, - A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_BANDWIDTH: + case A_surfxml_trace_connect_kind_BANDWIDTH: xbt_dict_set(trace_connect_list_bandwidth, - A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; - case A_surfxml_trace_c_connect_kind_LATENCY: - xbt_dict_set(trace_connect_list_latency, A_surfxml_trace_c_connect_trace, - xbt_strdup(A_surfxml_trace_c_connect_element), free); + case A_surfxml_trace_connect_kind_LATENCY: + xbt_dict_set(trace_connect_list_latency, A_surfxml_trace_connect_trace, + xbt_strdup(A_surfxml_trace_connect_element), free); break; default: xbt_die(bprintf("Cannot connect trace %s to %s: kind of trace unknown", - A_surfxml_trace_c_connect_trace, - A_surfxml_trace_c_connect_element)); + A_surfxml_trace_connect_trace, + A_surfxml_trace_connect_element)); } } @@ -477,7 +520,8 @@ double get_cpu_power(const char *power) return power_scale; } -double random_min, random_max, random_mean, random_std_deviation, random_generator; +double random_min, random_max, random_mean, random_std_deviation, + random_generator; char *random_id; static void init_randomness(void) @@ -486,29 +530,37 @@ static void init_randomness(void) surf_parse_get_double(&random_min, A_surfxml_random_min); surf_parse_get_double(&random_max, A_surfxml_random_max); surf_parse_get_double(&random_mean, A_surfxml_random_mean); - surf_parse_get_double(&random_std_deviation, A_surfxml_random_std_deviation); + surf_parse_get_double(&random_std_deviation, + A_surfxml_random_std_deviation); random_generator = A_surfxml_random_generator; } static void add_randomness(void) { /* If needed aditional properties can be added by using the prop tag */ - random_data_t random = random_new(random_generator, 0, random_min, random_max, random_mean, random_std_deviation); - xbt_dict_set(random_data_list, random_id, (void *) random, &xbt_free_ref); + random_data_t random = + random_new(random_generator, 0, random_min, random_max, random_mean, + random_std_deviation); + xbt_dict_set(random_data_list, random_id, (void *) random, + &xbt_free_ref); } /** * create CPU resource via CPU Model */ void surf_host_create_resource(char *name, double power_peak, - double power_scale, - tmgr_trace_t power_trace, - e_surf_resource_state_t state_initial, - tmgr_trace_t state_trace, - xbt_dict_t cpu_properties) + double power_scale, + tmgr_trace_t power_trace, + e_surf_resource_state_t state_initial, + tmgr_trace_t state_trace, + xbt_dict_t cpu_properties) { - return surf_cpu_model->extension.cpu. - create_resource(name,power_peak,power_scale,power_trace,state_initial,state_trace,cpu_properties); + return surf_cpu_model->extension.cpu.create_resource(name, power_peak, + power_scale, + power_trace, + state_initial, + state_trace, + cpu_properties); } /** @@ -516,32 +568,44 @@ void surf_host_create_resource(char *name, double power_peak, */ void surf_wsL07_host_create_resource(char *name, double power_peak, - double power_scale, - tmgr_trace_t power_trace, - e_surf_resource_state_t state_initial, - tmgr_trace_t state_trace, - xbt_dict_t cpu_properties) + double power_scale, + tmgr_trace_t power_trace, + e_surf_resource_state_t state_initial, + tmgr_trace_t state_trace, + xbt_dict_t cpu_properties) { - surf_workstation_model->extension.workstation. - cpu_create_resource(name,power_peak,power_scale,power_trace,state_initial,state_trace,cpu_properties); + surf_workstation_model->extension.workstation.cpu_create_resource(name, + power_peak, + power_scale, + power_trace, + state_initial, + state_trace, + cpu_properties); } + /** * create link resource via network Model */ void surf_link_create_resource(char *name, - double bw_initial, - tmgr_trace_t bw_trace, - double lat_initial, - tmgr_trace_t lat_trace, - e_surf_resource_state_t - state_initial, - tmgr_trace_t state_trace, - e_surf_link_sharing_policy_t policy, - xbt_dict_t properties) -{ - return surf_network_model->extension.network. - create_resource(name,bw_initial,bw_trace,lat_initial,lat_trace, - state_initial,state_trace,policy,properties); + double bw_initial, + tmgr_trace_t bw_trace, + double lat_initial, + tmgr_trace_t lat_trace, + e_surf_resource_state_t + state_initial, + tmgr_trace_t state_trace, + e_surf_link_sharing_policy_t policy, + xbt_dict_t properties) +{ + return surf_network_model->extension.network.create_resource(name, + bw_initial, + bw_trace, + lat_initial, + lat_trace, + state_initial, + state_trace, + policy, + properties); } /** @@ -549,19 +613,20 @@ void surf_link_create_resource(char *name, */ void surf_wsL07_link_create_resource(char *name, - double bw_initial, - tmgr_trace_t bw_trace, - double lat_initial, - tmgr_trace_t lat_trace, - e_surf_resource_state_t - state_initial, - tmgr_trace_t state_trace, - e_surf_link_sharing_policy_t - policy, xbt_dict_t properties) -{ - return surf_workstation_model->extension.workstation. - link_create_resource(name,bw_initial,bw_trace,lat_initial,lat_trace, - state_initial,state_trace,policy,properties); + double bw_initial, + tmgr_trace_t bw_trace, + double lat_initial, + tmgr_trace_t lat_trace, + e_surf_resource_state_t + state_initial, + tmgr_trace_t state_trace, + e_surf_link_sharing_policy_t + policy, xbt_dict_t properties) +{ + return surf_workstation_model->extension.workstation. + link_create_resource(name, bw_initial, bw_trace, lat_initial, + lat_trace, state_initial, state_trace, policy, + properties); } /** @@ -569,39 +634,39 @@ void surf_wsL07_link_create_resource(char *name, *init new routing model component */ -void surf_AS_new(const char* AS_id, const char *AS_mode) +void surf_AS_new(const char *AS_id, const char *AS_mode) { - routing_AS_init(AS_id,AS_mode); + routing_AS_init(AS_id, AS_mode); } -void surf_AS_finalize(const char* AS_id) +void surf_AS_finalize(const char *AS_id) { - routing_AS_end(AS_id); + routing_AS_end(AS_id); } /* * add host to the network element list */ -void surf_route_add_host(const char* host_id) +void surf_route_add_host(const char *host_id) { - routing_add_host(host_id); + routing_add_host(host_id); } /** * set route */ -void surf_routing_add_route(const char *src_id,const char *dst_id,xbt_dynar_t links_id) -{ - unsigned int i; - const char * link_id; - routing_set_route(src_id,dst_id); - xbt_dynar_foreach(links_id,i,link_id) - { - routing_add_link(link_id); - } +void surf_routing_add_route(const char *src_id, const char *dst_id, + xbt_dynar_t links_id) +{ + unsigned int i; + const char *link_id; + routing_set_route(src_id, dst_id); + xbt_dynar_foreach(links_id, i, link_id) { + routing_add_link(link_id); + } - //store the route - routing_store_route(); + //store the route + routing_store_route(); } /** @@ -609,16 +674,15 @@ void surf_routing_add_route(const char *src_id,const char *dst_id,xbt_dynar_t li */ void surf_add_host_traces(void) { - return surf_cpu_model->extension.cpu.add_traces(); + return surf_cpu_model->extension.cpu.add_traces(); } void surf_add_link_traces(void) { - return surf_network_model->extension.network.add_traces(); + return surf_network_model->extension.network.add_traces(); } void surf_wsL07_add_traces(void) { - return surf_workstation_model->extension.workstation.add_traces(); + return surf_workstation_model->extension.workstation.add_traces(); } -