X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/db76b8c2bb3acf20452613ccac46a9bee673f1b6..123eb94b4e6a8db258c498d38ac1b21656f0f840:/src/surf/network_constant.c diff --git a/src/surf/network_constant.c b/src/surf/network_constant.c index bf73baff10..75f0634cea 100644 --- a/src/surf/network_constant.c +++ b/src/surf/network_constant.c @@ -21,14 +21,12 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_network); static random_data_t random_latency = NULL; static int host_number_int = 0; -static void netcste_count_hosts(void) -{ +static void netcste_count_hosts(sg_platf_host_cbarg_t h) { host_number_int++; } -static void netcste_define_callbacks(const char *file) -{ - surfxml_add_callback(STag_surfxml_host_cb_list, &netcste_count_hosts); +static void netcste_define_callbacks(void) { + sg_platf_host_add_cb(netcste_count_hosts); } static int netcste_resource_used(void *resource_id) @@ -41,7 +39,7 @@ static int netcste_action_unref(surf_action_t action) action->refcount--; if (!action->refcount) { xbt_swag_remove(action, action->state_set); - free(action); + surf_action_free(&action); return 1; } return 0; @@ -54,21 +52,10 @@ static void netcste_action_cancel(surf_action_t action) static double netcste_share_resources(double now) { - surf_action_network_Constant_t action = NULL; - xbt_swag_t running_actions = - surf_network_model->states.running_action_set; - double min = -1.0; - - xbt_swag_foreach(action, running_actions) { - if (action->latency > 0) { - if (min < 0) - min = action->latency; - else if (action->latency < min) - min = action->latency; - } + if (!xbt_swag_size(surf_network_model->states.running_action_set)) { + return -1.0; } - - return min; + return sg_latency_factor; } static void netcste_update_actions_state(double now, double delta) @@ -117,7 +104,7 @@ static surf_action_t netcste_communicate(const char *src_name, { surf_action_network_Constant_t action = NULL; - XBT_IN4("(%s,%s,%g,%g)", src_name, dst_name, size, rate); + XBT_IN("(%s,%s,%g,%g)", src_name, dst_name, size, rate); action = surf_action_new(sizeof(s_surf_action_network_Constant_t), size, @@ -125,7 +112,7 @@ static surf_action_t netcste_communicate(const char *src_name, action->suspended = 0; - action->latency = 1; //random_generate(random_latency); + action->latency = sg_latency_factor; //random_generate(random_latency); action->lat_init = action->latency; if (action->latency <= 0.0) { @@ -134,16 +121,17 @@ static surf_action_t netcste_communicate(const char *src_name, xbt_swag_insert(action, action->generic_action.state_set); } - XBT_OUT; + XBT_OUT(); return (surf_action_t) action; } -/* returns an array of link_Constant_t */ -static xbt_dynar_t netcste_get_route(void *src, void *dst) +#ifdef HAVE_TRACING +static void netcste_action_set_category(surf_action_t action, const char *category) { - xbt_die("Calling this function does not make any sense"); + //ignore completely the categories in constant model, they are not traced } +#endif static double netcste_get_link_bandwidth(const void *link) { @@ -184,7 +172,7 @@ static void netcste_finalize(void) -void surf_network_model_init_Constant(const char *filename) +void surf_network_model_init_Constant() { xbt_assert(surf_network_model == NULL); if (surf_network_model) @@ -220,15 +208,15 @@ void surf_network_model_init_Constant(const char *filename) surf_network_model->extension.network.get_link_latency = netcste_get_link_latency; surf_network_model->extension.network.link_shared = link_shared; +#ifdef HAVE_TRACING + surf_network_model->set_category = netcste_action_set_category; +#endif if (!random_latency) random_latency = random_new(RAND, 100, 0.0, 1.0, .125, .034); - netcste_define_callbacks(filename); + netcste_define_callbacks(); xbt_dynar_push(model_list, &surf_network_model); - update_model_description(surf_network_model_description, - "Constant", surf_network_model); - xbt_cfg_set_string(_surf_cfg_set, "routing", "none"); - routing_model_create(sizeof(double), NULL, netcste_get_link_latency); + routing_model_create(sizeof(double), NULL); }