- action->progress +=current_progress;
-
- action->p_storage->m_usedSize += incr; // disk usage
- action->p_file->current_position+= incr; // current_position
- // which becomes the new file size
- action->p_file->size = action->p_file->current_position ;
-
- sg_size_t *psize = xbt_new(sg_size_t,1);
- *psize = action->p_file->size;
- xbt_dict_t content_dict = action->p_storage->p_content;
- xbt_dict_set(content_dict, action->p_file->name, psize, NULL);
- }
-
- action->updateRemains(lmm_variable_getvalue(action->getVariable()) * delta);
-
- if (action->getMaxDuration() != NO_MAX_DURATION)
- action->updateMaxDuration(delta);
-
- if(action->getRemainsNoUpdate() > 0 &&
- lmm_get_variable_weight(action->getVariable()) > 0 &&
- action->p_storage->m_usedSize == action->p_storage->m_size)
- {
- action->finish();
- action->setState(SURF_ACTION_FAILED);
- } else if ((action->getRemainsNoUpdate() <= 0) &&
- (lmm_get_variable_weight(action->getVariable()) > 0))
- {
- action->finish();
- action->setState(SURF_ACTION_DONE);
- } else if ((action->getMaxDuration() != NO_MAX_DURATION) &&
- (action->getMaxDuration() <= 0))
- {
- action->finish();
- action->setState(SURF_ACTION_DONE);
+ if (((action.get_remains_no_update() <= 0) && (action.get_variable()->get_weight() > 0)) ||
+ ((action.get_max_duration() > NO_MAX_DURATION) && (action.get_max_duration() <= 0))) {
+ action.finish(kernel::resource::Action::State::FINISHED);