#include "private.h"
#include "simdag/simdag.h"
#include "xbt/dict.h"
+#include "xbt/lib.h"
#include "xbt/sysdep.h"
#include "surf/surf.h"
#include "surf/surf_resource.h"
}
+
/** @brief Displays debugging informations about a workstation */
void SD_workstation_dump(SD_workstation_t ws)
{
else
XBT_INFO(" no task running");
break;
- default:
- XBT_INFO(" - (unknown access mode)");
+ default: break;
}
props = SD_workstation_get_properties(ws);
e_SD_workstation_access_mode_t
access_mode)
{
+ xbt_assert(access_mode != SD_WORKSTATION_SEQUENTIAL_ACCESS ||
+ access_mode != SD_WORKSTATION_SHARED_ACCESS,
+ "Trying to set an invalid access mode");
+
if (access_mode == workstation->access_mode) {
return; // nothing is changed
}
}
}
-/* Returns whether a task can start now on a workstation.
- *//*
- int __SD_workstation_can_start(SD_workstation_t workstation, SD_task_t task) {
- SD_CHECK_INIT_DONE();
- xbt_assert(workstation != NULL && task != NULL, "Invalid parameter");
+/* Returns whether a task can start now on a workstation*/
+/*
+ int __SD_workstation_can_start(SD_workstation_t workstation, SD_task_t task) {
+ SD_CHECK_INIT_DONE();
+ xbt_assert(workstation != NULL && task != NULL, "Invalid parameter");
- return !__SD_workstation_is_busy(workstation) &&
- (xbt_fifo_size(workstation->task_fifo) == 0) || xbt_fifo_get_first_item(workstation->task_fifo) == task);
- }
- */
+ return !__SD_workstation_is_busy(workstation) &&
+ (xbt_fifo_size(workstation->task_fifo) == 0) || xbt_fifo_get_first_item(workstation->task_fifo) == task);
+ }
+*/
/* Returns whether a workstation is busy. A workstation is busy is it is
* in sequential mode and a task is running on it or the fifo is not empty.
return (workstation->current_task);
}
+
+/**
+ * \brief Returns a #xbt_dict_t consisting of the list of properties assigned to the AS
+ * or router
+ *
+ * \param AS, router name
+ * \return the xbt_dict_t properties of the AS
+ */
+xbt_dict_t SD_as_router_get_properties(const char *asr)
+{
+ return get_as_router_properties(asr);
+}
+/**
+ * \brief Returns a #xbt_dict_t consisting of the list of properties assigned to the AS
+ * or router
+ *
+ * \param AS, router name
+ * \param The name of a properties
+ * \return value of the properties
+ */
+const char* SD_as_router_get_property_value(const char *asr, const char *name)
+{
+ xbt_dict_t dict = get_as_router_properties(asr);
+ if(!dict) return NULL;
+ return xbt_dict_get_or_null(dict,name);
+}