-void NetworkConstantModel::updateActionsState(double now, double delta)
-{
- void *_action, *_next_action;
- NetworkConstantActionLmmPtr action = NULL;
-
- xbt_swag_foreach_safe(_action, _next_action, p_runningActionSet) {
- action = dynamic_cast<NetworkConstantActionLmmPtr>(static_cast<ActionPtr>(_action));
- if (action->m_latency > 0) {
- if (action->m_latency > delta) {
- double_update(&(action->m_latency), delta);
- } else {
- action->m_latency = 0.0;
- }
- }
- double_update(&(action->m_remains),
- action->m_cost * delta / action->m_latInit);
- if (action->m_maxDuration != NO_MAX_DURATION)
- double_update(&(action->m_maxDuration), delta);
-
- if (action->m_remains <= 0) {
- action->m_finish = surf_get_clock();
- action->setState(SURF_ACTION_DONE);
- } else if ((action->m_maxDuration != NO_MAX_DURATION)
- && (action->m_maxDuration <= 0)) {
- action->m_finish = surf_get_clock();
- action->setState(SURF_ACTION_DONE);