/** @Brief Specify that we use that action */
XBT_PUBLIC(void) surf_action_ref(surf_action_t action);
+
/** @brief Creates a new action.
*
* @param size The size is the one of the subtype you want to create
void **workstation_list,
double *computation_amount,
double *communication_amount,
- double amount, double rate);
+ double rate);
double (*get_link_bandwidth) (const void *link); /**< Return the current bandwidth of a network link */
double (*get_link_latency) (const void *link); /**< Return the current latency of a network link */
surf_action_t(*open) (void *workstation, const char* storage, const char* path, const char* mode);
double (*action_get_start_time) (surf_action_t action); /**< Return the start time of an action */
double (*action_get_finish_time) (surf_action_t action); /**< Return the finish time of an action */
- int (*action_unref) (surf_action_t action); /**< Specify that we don't use that action anymore */
+ int (*action_unref) (surf_action_t action); /**< Specify that we don't use that action anymore. Returns true if the action was destroyed and false if someone still has references on it. */
void (*action_cancel) (surf_action_t action); /**< Cancel a running action */
void (*action_recycle) (surf_action_t action); /**< Recycle an action */
void (*action_data_set) (surf_action_t action, void *data); /**< Set the user data of an action */
int (*get_latency_limited) (surf_action_t action); /**< Return 1 if action is limited by latency, 0 otherwise */
#endif
+ void (*gap_remove) (surf_action_lmm_t action);
+
surf_model_private_t model_private;
union extension {