X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f25af1e2829458e33a3a0b74c75865c89dff5f9e..d4d7b77c8e455e5f7c80bc22b136a48c107aaf11:/src/surf/surf.c diff --git a/src/surf/surf.c b/src/surf/surf.c index 41347b7313..bd4660229c 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -131,6 +131,11 @@ s_surf_model_description_t surf_network_model_description[] = { {"GTNets", "Network Pseudo-model using the GTNets simulator instead of an analytic model", NULL, surf_network_model_init_GTNETS}, +#endif +#ifdef HAVE_NS3 + {"NS3", + "TODO", + NULL, surf_network_model_init_NS3}, #endif {"Reno", "Model using lagrange_solve instead of lmm_solve (experts only)", NULL, @@ -217,7 +222,7 @@ double generic_maxmin_share_resources(xbt_swag_t running_actions, double value = -1; #define VARIABLE(action) (*((lmm_variable_t*)(((char *) (action)) + (offset)))) - xbt_assert0(solve, "Give me a real solver function!"); + xbt_assert(solve, "Give me a real solver function!"); solve(sys); xbt_swag_foreach(action, running_actions) { @@ -284,6 +289,20 @@ XBT_LOG_EXTERNAL_CATEGORY(surf_network_gtnets); void surf_init(int *argc, char **argv) { + XBT_DEBUG("Create all Libs"); + host_lib = xbt_lib_new(); + link_lib = xbt_lib_new(); + as_router_lib = xbt_lib_new(); + + XBT_DEBUG("ADD ROUTING LEVEL"); + ROUTING_HOST_LEVEL = xbt_lib_add_level(host_lib,xbt_free); + ROUTING_ASR_LEVEL = xbt_lib_add_level(as_router_lib,xbt_free); + + XBT_DEBUG("ADD SURF LEVELS"); + SURF_CPU_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free); + SURF_WKS_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free); + SURF_LINK_LEVEL = xbt_lib_add_level(link_lib,surf_resource_free); + /* Connect our log channels: that must be done manually under windows */ XBT_LOG_CONNECT(surf_cpu, surf); XBT_LOG_CONNECT(surf_kernel, surf); @@ -368,9 +387,14 @@ void surf_exit(void) if (surf_path) xbt_dynar_free(&surf_path); + xbt_lib_free(&host_lib); + xbt_lib_free(&link_lib); + xbt_lib_free(&as_router_lib); + tmgr_finalize(); surf_parse_lex_destroy(); surf_parse_free_callbacks(); + NOW = 0; /* Just in case the user plans to restart the simulation afterward */ }