#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_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);
extern surf_workstation_resource_t surf_workstation_resource;
void surf_workstation_resource_init(const char *filename);
+extern xbt_dict_t workstation_set;
/*******************************************/
/*** SURF Globals **************************/