From: Pierre Veyre Date: Tue, 11 Mar 2014 10:05:18 +0000 (+0100) Subject: Manage storage user data at msg level X-Git-Tag: v3_11~222 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/22997c2908133c72109c4938e2b503e20fab81e7?hp=-c Manage storage user data at msg level --- 22997c2908133c72109c4938e2b503e20fab81e7 diff --git a/include/msg/datatypes.h b/include/msg/datatypes.h index 7a4bd0fdb2..bd2ced126a 100644 --- a/include/msg/datatypes.h +++ b/include/msg/datatypes.h @@ -139,6 +139,7 @@ typedef s_xbt_dictelm_t s_msg_storage_t; typedef struct msg_storage_priv { const char *host; + void *data; } s_msg_storage_priv_t, *msg_storage_priv_t; static inline msg_storage_priv_t MSG_storage_priv(msg_storage_t storage){ diff --git a/src/msg/msg_io.c b/src/msg/msg_io.c index d32b194efe..b5667c255f 100644 --- a/src/msg/msg_io.c +++ b/src/msg/msg_io.c @@ -368,8 +368,8 @@ xbt_dynar_t MSG_storages_as_dynar(void) { */ msg_error_t MSG_storage_set_data(msg_storage_t storage, void *data) { - SIMIX_storage_set_data(storage,data); - + msg_storage_priv_t priv = MSG_storage_priv(storage); + priv->data = data; return MSG_OK; } @@ -382,7 +382,9 @@ msg_error_t MSG_storage_set_data(msg_storage_t storage, void *data) */ void *MSG_storage_get_data(msg_storage_t storage) { - return SIMIX_storage_get_data(storage); + xbt_assert((storage != NULL), "Invalid parameters"); + msg_storage_priv_t priv = MSG_storage_priv(storage); + return priv->data; } /** \ingroup msg_storage_management diff --git a/src/simix/smx_io.c b/src/simix/smx_io.c index 6833b8ad09..eee26b21f5 100644 --- a/src/simix/smx_io.c +++ b/src/simix/smx_io.c @@ -49,26 +49,6 @@ void SIMIX_storage_destroy(void *s) free(storage); } -void* SIMIX_pre_file_get_data(smx_simcall_t simcall,smx_file_t fd){ - return SIMIX_file_get_data(fd); -} - -void* SIMIX_file_get_data(smx_file_t fd){ - xbt_assert((fd != NULL), "Invalid parameters (simix file is NULL)"); - - return fd->data; -} - -void SIMIX_pre_file_set_data(smx_simcall_t simcall, smx_file_t fd, void *data) { - SIMIX_file_set_data(fd, data); -} - -void SIMIX_file_set_data(smx_file_t fd, void *data){ - xbt_assert((fd != NULL), "Invalid parameter"); - - fd->data = data; -} - //SIMIX FILE READ void SIMIX_pre_file_read(smx_simcall_t simcall, smx_file_t fd, sg_size_t size) { @@ -361,26 +341,6 @@ const char* SIMIX_storage_get_name(smx_storage_t storage){ return sg_storage_name(storage); } -void SIMIX_pre_storage_set_data(smx_simcall_t simcall, smx_storage_t storage, void *data) { - SIMIX_storage_set_data(storage, data); -} -void SIMIX_storage_set_data(smx_storage_t storage, void *data){ - xbt_assert((storage != NULL), "Invalid parameters"); - xbt_assert((SIMIX_storage_priv(storage)->data == NULL), "Data already set"); - - SIMIX_storage_priv(storage)->data = data; -} - -void* SIMIX_pre_storage_get_data(smx_simcall_t simcall,smx_storage_t storage){ - return SIMIX_storage_get_data(storage); -} - -void* SIMIX_storage_get_data(smx_storage_t storage){ - xbt_assert((storage != NULL), "Invalid parameters (simix storage is NULL)"); - - return SIMIX_storage_priv(storage)->data; -} - xbt_dict_t SIMIX_pre_storage_get_content(smx_simcall_t simcall, smx_storage_t storage){ return SIMIX_storage_get_content(storage); } diff --git a/src/simix/smx_io_private.h b/src/simix/smx_io_private.h index f3f10588f3..ad7598d87f 100644 --- a/src/simix/smx_io_private.h +++ b/src/simix/smx_io_private.h @@ -22,8 +22,6 @@ static inline smx_storage_priv_t SIMIX_storage_priv(smx_storage_t storage){ smx_storage_t SIMIX_storage_create(const char *name, void *storage, void *data); void SIMIX_storage_destroy(void *s); -void* SIMIX_pre_file_get_data(smx_simcall_t simcall,smx_file_t fd); -void SIMIX_pre_file_set_data(smx_simcall_t simcall, smx_file_t fd, void *data); void SIMIX_pre_file_read(smx_simcall_t simcall, smx_file_t fd, sg_size_t size); void SIMIX_pre_file_write(smx_simcall_t simcall,smx_file_t fd, sg_size_t size); void SIMIX_pre_file_open(smx_simcall_t simcall, const char* mount, @@ -38,8 +36,6 @@ xbt_dynar_t SIMIX_pre_file_get_info(smx_simcall_t simcall, smx_file_t fd); int SIMIX_pre_file_seek(smx_simcall_t simcall, smx_file_t fd, sg_size_t offset, int origin); void SIMIX_pre_storage_file_rename(smx_simcall_t simcall,smx_storage_t storage, const char* src, const char* dest); -void* SIMIX_file_get_data(smx_file_t fd); -void SIMIX_file_set_data(smx_file_t fd, void *data); smx_action_t SIMIX_file_read(smx_process_t process, smx_file_t fd, sg_size_t size); smx_action_t SIMIX_file_write(smx_process_t process, smx_file_t fd, sg_size_t size); smx_action_t SIMIX_file_open(smx_process_t process, const char* storage, @@ -63,9 +59,6 @@ sg_size_t SIMIX_storage_get_used_size(smx_process_t process,const char* name); xbt_dict_t SIMIX_storage_get_properties(smx_storage_t storage); xbt_dict_t SIMIX_pre_storage_get_properties(smx_simcall_t, smx_storage_t); -void SIMIX_pre_storage_set_data(smx_simcall_t, smx_storage_t, void*); -void* SIMIX_pre_storage_get_data(smx_simcall_t, smx_storage_t); - xbt_dict_t SIMIX_pre_storage_get_content(smx_simcall_t simcall, smx_storage_t storage); xbt_dict_t SIMIX_storage_get_content(smx_storage_t storage);