From c3b558830390fe6bcb7572686c2b18bd0509ffc4 Mon Sep 17 00:00:00 2001 From: navarrop Date: Thu, 24 Mar 2011 10:35:40 +0000 Subject: [PATCH] Remove xbt_dict_t links from struct SD_global. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9831 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/simdag/private.h | 2 -- src/simdag/sd_global.c | 3 --- src/simdag/sd_link.c | 15 +++++++-------- src/simdag/sd_workstation.c | 2 +- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/simdag/private.h b/src/simdag/private.h index 447802e0b1..27cef90ff7 100644 --- a/src/simdag/private.h +++ b/src/simdag/private.h @@ -26,8 +26,6 @@ typedef struct SD_global { SD_workstation_t *workstation_list; /* array of workstations, created only if necessary in SD_workstation_get_list */ - xbt_dict_t links; /* links */ - int link_count; /* number of links */ SD_link_t *link_list; /* array of links, created only if necessary in SD_link_get_list */ SD_link_t *recyclable_route; /* array returned by SD_route_get_list diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index 2481b2c3f5..5378f89f35 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -64,8 +64,6 @@ void SD_init(int *argc, char **argv) sd_global->workstations = xbt_dict_new(); sd_global->workstation_count = 0; sd_global->workstation_list = NULL; - sd_global->links = xbt_dict_new(); - sd_global->link_count = 0; sd_global->link_list = NULL; sd_global->recyclable_route = NULL; sd_global->watch_point_reached = 0; @@ -405,7 +403,6 @@ void SD_exit(void) if (SD_INITIALISED()) { XBT_DEBUG("Destroying workstation and link dictionaries..."); xbt_dict_free(&sd_global->workstations); - xbt_dict_free(&sd_global->links); XBT_DEBUG("Destroying workstation and link arrays if necessary..."); if (sd_global->workstation_list != NULL) diff --git a/src/simdag/sd_link.c b/src/simdag/sd_link.c index 9533ca4e3a..3274682b5b 100644 --- a/src/simdag/sd_link.c +++ b/src/simdag/sd_link.c @@ -30,8 +30,7 @@ SD_link_t __SD_link_create(void *surf_link, void *data) link->sharing_policy = SD_LINK_FATPIPE; name = SD_link_get_name(link); - xbt_dict_set(sd_global->links, name, link, __SD_link_destroy); /* add the link to the dictionary */ - sd_global->link_count++; + xbt_lib_set(link_lib,name,SD_LINK_LEVEL,link); return link; } @@ -47,20 +46,20 @@ SD_link_t __SD_link_create(void *surf_link, void *data) const SD_link_t *SD_link_get_list(void) { - xbt_dict_cursor_t cursor; + xbt_lib_cursor_t cursor; char *key; - void *data; + void **data; int i; SD_CHECK_INIT_DONE(); xbt_assert0(SD_link_get_number() > 0, "There is no link!"); if (sd_global->link_list == NULL) { /* this is the first time the function is called */ - sd_global->link_list = xbt_new(SD_link_t, sd_global->link_count); + sd_global->link_list = xbt_new(SD_link_t, link_lib->count); i = 0; - xbt_dict_foreach(sd_global->links, cursor, key, data) { - sd_global->link_list[i++] = (SD_link_t) data; + xbt_lib_foreach(link_lib, cursor, key, data) { + sd_global->link_list[i++] = (SD_link_t) data[SD_LINK_LEVEL]; } } return sd_global->link_list; @@ -75,7 +74,7 @@ const SD_link_t *SD_link_get_list(void) int SD_link_get_number(void) { SD_CHECK_INIT_DONE(); - return sd_global->link_count; + return link_lib->count; } /** diff --git a/src/simdag/sd_workstation.c b/src/simdag/sd_workstation.c index 05b32dd937..0a8c3ee7f5 100644 --- a/src/simdag/sd_workstation.c +++ b/src/simdag/sd_workstation.c @@ -209,7 +209,7 @@ const SD_link_t *SD_route_get_list(SD_workstation_t src, xbt_dynar_foreach(surf_route, cpt, surf_link) { link_name = surf_resource_name(surf_link); sd_global->recyclable_route[cpt] = - xbt_dict_get(sd_global->links, link_name); + xbt_lib_get_or_null(link_lib, link_name, SD_LINK_LEVEL); } return sd_global->recyclable_route; } -- 2.20.1