X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1290a5bf942b9018ab6e3e626655e55abeb36142..eb45199603c7ab5afe3b2a5df3c2bd56254974f8:/src/msg/msg_gos.c diff --git a/src/msg/msg_gos.c b/src/msg/msg_gos.c index 338e79352d..13f4bf12b8 100644 --- a/src/msg/msg_gos.c +++ b/src/msg/msg_gos.c @@ -164,7 +164,7 @@ msg_error_t MSG_process_sleep(double nb_sec) * sometime waiting on all these mailboxes using @ref MSG_comm_waitany. You can find * an example of use of this function in the @ref MSG_examples section. * - Provide a proper patch to implement this functionality back in MSG. That wouldn't be - * very difficult actually. Check the function @ref MSG_mailbox_get_task_ext. During its call to + * very difficult actually. Check the function #MSG_mailbox_get_task_ext. During its call to * simcall_comm_recv(), the 5th argument, match_fun, is NULL. Create a function that filters * messages according to the host (that you will pass as sixth argument to simcall_comm_recv() * and that your filtering function will receive as first parameter, and then, the filter could @@ -813,6 +813,43 @@ const char *MSG_task_get_category (msg_task_t task) #endif } +/** + * \brief Returns the value of a given AS or router property + * + * \param asr the name of a router or AS + * \param name a property name + * \return value of a property (or NULL if property not set) + */ +const char *MSG_as_router_get_property_value(const char* asr, const char *name) +{ + return xbt_dict_get_or_null(MSG_as_router_get_properties(asr), name); +} + +/** + * \brief Returns a xbt_dict_t consisting of the list of properties assigned to + * a the AS or router + * + * \param asr the name of a router or AS + * \return a dict containing the properties + */ +xbt_dict_t MSG_as_router_get_properties(const char* asr) +{ + // FIXME do this function with a simcall + return xbt_lib_get_or_null(as_router_lib, asr, ROUTING_PROP_ASR_LEVEL); +} + +/** + * \brief Change the value of a given AS or router + * + * \param asr the name of a router or AS + * \param name a property name + * \param value what to change the property to + * \param free_ctn the freeing function to use to kill the value on need + */ +void MSG_as_router_set_property_value(const char* asr, const char *name, char *value,void_f_pvoid_t free_ctn) { + xbt_dict_set(MSG_as_router_get_properties(asr), name, value,free_ctn); +} + #ifdef MSG_USE_DEPRECATED /** \ingroup msg_deprecated_functions *