parse_platform_file(platform_file);
- /* now let's create the SD wrappers for workstations, storages and links */
- {
- xbt_dict_cursor_t cursor = NULL;
- simgrid_Host* host = NULL;
- xbt_dict_foreach(host_list, cursor, name, host){
- __SD_workstation_create((const char*)name);
- }
- }
-
+ /* now let's create the SD wrappers for storage elements */
xbt_lib_foreach(storage_lib, cursor, name, surf_storage) {
- if(surf_storage[SURF_STORAGE_LEVEL])
- __SD_storage_create(surf_storage[SURF_STORAGE_LEVEL], NULL);
+ if(surf_storage[SURF_STORAGE_LEVEL])
+ __SD_storage_create(surf_storage[SURF_STORAGE_LEVEL], NULL);
}
-
XBT_DEBUG("Workstation number: %d, link number: %d",
SD_workstation_get_count(), sg_link_count());
#ifdef HAVE_JEDULE
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_workstation, sd,
"Logging specific to SimDag (workstation)");
-/* Creates a workstation and registers it in SD.
- */
-SD_workstation_t __SD_workstation_create(const char *name)
-{
- sg_host_t sg_host = sg_host_by_name(name);
- return sg_host;
-}
-
/* Creates a storage and registers it in SD.
*/
SD_storage_t __SD_storage_create(void *surf_storage, void *data)
} s_SD_dependency_t, *SD_dependency_t;
/* SimDag private functions */
-XBT_PRIVATE SD_workstation_t __SD_workstation_create(const char* name);
-XBT_PRIVATE void __SD_workstation_destroy(void *workstation);
-XBT_PRIVATE int __SD_workstation_is_busy(SD_workstation_t workstation);
-
XBT_PRIVATE void SD_task_set_state(SD_task_t task, e_SD_task_state_t new_state);
XBT_PRIVATE void SD_task_run(SD_task_t task);
XBT_PRIVATE bool acyclic_graph_detail(xbt_dynar_t dag);
return task->state == SD_SCHEDULED || task->state == SD_RUNNABLE;
}
-/* Returns whether the given task is scheduled or runnable. */
-static XBT_INLINE int __SD_task_is_schedulable_or_done(SD_task_t task)
-{
- return task->state == SD_SCHEDULABLE || task->state == SD_DONE;
-}
-
/********** Storage **********/
XBT_PRIVATE SD_storage_t __SD_storage_create(void *surf_storage, void *data);
XBT_PRIVATE void __SD_storage_destroy(void *storage);