Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use swags to handle task states and change structure s_SD_task_t.
[simgrid.git] / include / simdag / datatypes.h
index f21af30..72eaa75 100644 (file)
@@ -2,39 +2,31 @@
 #define SIMDAG_DATATYPES_H
 
 /* Link */
-typedef struct SG_link {
-  void *data;
-  char *name;
-  /*double capacity;*/
-  /*double current_bandwidth;
-    double current_latency;*/
-} s_SG_link_t, *SG_link_t;
+typedef struct SD_link_data *SD_link_data_t;
+
+typedef struct SD_link {
+  SD_link_data_t sd_data; /* SD internal data */
+  void *data; /* user data */
+} s_SD_link_t, *SD_link_t;
 
 /* Workstation */
-typedef struct SG_workstation {
-  void *data;
-  char *name;
-  /*double power;
-    double available_power;*/
-  /* TODO: route */
-} s_SG_workstation_t, *SG_workstation_t;
+typedef struct SD_workstation_data *SD_workstation_data_t;
+
+typedef struct SD_workstation {
+  SD_workstation_data_t sd_data; /* SD internal data */
+  void *data; /* user data */
+} s_SD_workstation_t, *SD_workstation_t;
 
 /* Task state */
 typedef enum {
-  SG_SCHEDULED,
-  SG_RUNNING,
-  SG_DONE,
-  SG_FAILED
-} SG_task_state_t;
+  SD_NOT_SCHEDULED = 0, /* 0 because SD_NOT_SCHEDULED is not a valid state for SD_watch and SD_unwatch */
+  SD_SCHEDULED =     0x0001,
+  SD_RUNNING =       0x0002,
+  SD_DONE =          0x0004,
+  SD_FAILED =        0x0008 
+} e_SD_task_state_t;
 
 /* Task */
-typedef struct SG_task {
-  void *data;
-  char *name;
-  /*double amount;
-    double remaining_amount;*/
-  SG_task_state_t state;
-  /* TODO: dependencies + watch */
-} s_SG_task_t, *SG_task_t;
+typedef struct SD_task *SD_task_t;
 
 #endif