#include "xbt/swag.h"
#include "xbt/dynar.h"
+#include "xbt/dict.h"
/* Actions and resources are higly connected structures... */
typedef struct surf_action *surf_action_t;
double start; /* start time */
double finish; /* finish time : this is modified during the run
* and fluctuates until the task is completed */
- void *callback; /* for your convenience */
+ void *data; /* for your convenience */
surf_resource_t resource_type;
} s_surf_action_t;
void (*action_recycle) (surf_action_t action);
void (*action_change_state) (surf_action_t action,
e_surf_action_state_t state);
+ void (*action_set_data) (surf_action_t action,
+ void *data);
const char *name;
} s_surf_resource_public_t, *surf_resource_public_t;
surf_action_t(*sleep) (void *cpu, double duration);
void (*suspend) (surf_action_t action);
void (*resume) (surf_action_t action);
+ int (*is_suspended) (surf_action_t action);
e_surf_cpu_state_t(*get_state) (void *cpu);
} s_surf_cpu_resource_extension_public_t,
*surf_cpu_resource_extension_public_t;
surf_cpu_resource_extension_public_t extension_public;
} s_surf_cpu_resource_t, *surf_cpu_resource_t;
extern surf_cpu_resource_t surf_cpu_resource;
-void surf_cpu_resource_init(const char *filename);
+void surf_cpu_resource_init_Cas01(const char *filename);
/* Network resource */
typedef struct surf_network_resource_extension_private
} s_surf_network_resource_t, *surf_network_resource_t;
extern surf_network_resource_t surf_network_resource;
-void surf_network_resource_init(const char *filename);
+void surf_network_resource_init_CM02(const char *filename);
/* Workstation resource */
typedef struct surf_workstation_resource_extension_private
surf_action_t(*sleep) (void *workstation, double duration);
void (*suspend) (surf_action_t action);
void (*resume) (surf_action_t action);
+ int (*is_suspended) (surf_action_t action);
e_surf_cpu_state_t(*get_state) (void *workstation);
surf_action_t(*communicate) (void *workstation_src,
void *workstation_dst, double size);
} s_surf_workstation_resource_t, *surf_workstation_resource_t;
extern surf_workstation_resource_t surf_workstation_resource;
-void surf_workstation_resource_init(const char *filename);
+void surf_workstation_resource_init_CLM03(const char *filename);
+void surf_workstation_resource_init_KCCFLN05(const char *filename);
+extern xbt_dict_t workstation_set;
/*******************************************/
/*** SURF Globals **************************/