s_surf_action_state_t states; /* Any living action on this resource */
void *(*name_service)(const char *name);
const char *(*get_resource_name)(void *resource_id);
- int (*resource_used)(void *resource_id);
e_surf_action_state_t (*action_get_state)(surf_action_t action);
void (*action_free)(surf_action_t action);
min = resource_next_action_end;
}
+ if(min<0.0) return 0.0;
+
while ((next_event_date = tmgr_history_next_date(history)) != -1.0) {
if(next_event_date > NOW+min) break;
while ((event=tmgr_history_get_next_event_leq(history, next_event_date,
&value, (void **) &resource_obj))) {
- if(resource_obj->resource->common_public->resource_used(resource_obj)) {
+ if(resource_obj->resource->common_private->resource_used(resource_obj)) {
min = next_event_date-NOW;
}
/* update state of resource_obj according to new value. Does not touch lmm.
}
}
+
xbt_dynar_foreach (resource_list,i,resource) {
resource->common_private->update_actions_state(NOW, min);
}
#include "surf/surf_parse.h"
typedef struct surf_resource_private {
+ int (*resource_used)(void *resource_id);
/* Share the resources to the actions and return in hom much time
the next action may terminate */
xbt_heap_float_t(*share_resources) (xbt_heap_float_t now);