X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/71f8c518d2a8e283e62ed3282c051fb125540c75..0445b0862c323d8285fba620d5137a0891527914:/src/simdag/sd_workstation.c diff --git a/src/simdag/sd_workstation.c b/src/simdag/sd_workstation.c index 87e30883f7..428c71a2ea 100644 --- a/src/simdag/sd_workstation.c +++ b/src/simdag/sd_workstation.c @@ -11,6 +11,7 @@ #include "xbt/sysdep.h" #include "surf/surf.h" #include "surf/surf_resource.h" +#include "msg/msg.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_workstation, sd, "Logging specific to SimDag (workstation)"); @@ -45,8 +46,8 @@ SD_storage_t __SD_storage_create(void *surf_storage, void *data) storage = xbt_new(s_SD_storage_priv_t, 1); storage->data = data; /* user data */ - name = surf_resource_name(surf_storage); + storage->host = surf_storage_get_host(surf_storage_resource_by_name(name)); xbt_lib_set(storage_lib,name, SD_STORAGE_LEVEL, storage); return xbt_lib_get_elm_or_null(storage_lib, name); } @@ -281,6 +282,15 @@ double SD_workstation_get_power(SD_workstation_t workstation) { return surf_workstation_get_speed(workstation, 1.0); } +/** + * \brief Returns the amount of cores of a workstation + * + * \param workstation a workstation + * \return the amount of cores of this workstation + */ +int SD_workstation_get_cores(SD_workstation_t workstation) { + return surf_workstation_get_core(workstation); +} /** * \brief Returns the proportion of available power in a workstation @@ -486,10 +496,20 @@ xbt_dict_t SD_workstation_get_mounted_storage_list(SD_workstation_t workstation) * \param workstation a workstation * \return a dynar containing all mounted storages on the workstation */ -xbt_dict_t SD_workstation_get_attached_storage_list(SD_workstation_t workstation){ +xbt_dynar_t SD_workstation_get_attached_storage_list(SD_workstation_t workstation){ return surf_workstation_get_attached_storage_list(workstation); } +/** + * \brief Returns the host name the storage is attached to + * + * This functions checks whether a storage is a valid pointer or not and return its name. + */ +const char *SD_storage_get_host(msg_storage_t storage) { + xbt_assert((storage != NULL), "Invalid parameters"); + SD_storage_priv_t priv = SD_storage_priv(storage); + return priv->host; +} /* Returns whether a task can start now on a workstation*/ /*