typedef struct m_host {
char *name; /**< @brief host name if any */
simdata_host_t simdata; /**< @brief simulator data */
- void *data; /**< @brief user data */
} s_m_host_t;
/** @brief Host datatype
/* Initialize MSG hosts */
xbt_lib_foreach(host_lib, cursor, name, data) {
if(data[SIMIX_HOST_LEVEL])
- __MSG_host_create((smx_host_t)data[SIMIX_HOST_LEVEL], NULL);
+ __MSG_host_create((smx_host_t)data[SIMIX_HOST_LEVEL]);
}
}
*/
/********************************* Host **************************************/
-m_host_t __MSG_host_create(smx_host_t workstation, void *data)
+m_host_t __MSG_host_create(smx_host_t workstation)
{
const char *name;
simdata_host_t simdata = xbt_new0(s_simdata_host_t, 1);
/* Host structure */
host->name = xbt_strdup(name);
host->simdata = simdata;
- host->data = data;
simdata->smx_host = workstation;
*/
MSG_error_t MSG_host_set_data(m_host_t host, void *data)
{
- xbt_assert((host != NULL), "Invalid parameters");
- xbt_assert((host->data == NULL), "Data already set");
-
- /* Assign data */
- host->data = data;
+ SIMIX_host_set_data(host->simdata->smx_host,data);
return MSG_OK;
}
void *MSG_host_get_data(m_host_t host)
{
- xbt_assert((host != NULL), "Invalid parameters");
-
- /* Return data */
- return (host->data);
+ return SIMIX_host_get_data(host->simdata->smx_host);
}
/** \ingroup m_host_management
# define MSG_RETURN(val) return(val)
#endif
-m_host_t __MSG_host_create(smx_host_t workstation, void *data);
+m_host_t __MSG_host_create(smx_host_t workstation);
void __MSG_host_destroy(m_host_t host);
void __MSG_display_process_status(void);