- action->updateRemains(action->getCost() * delta / action->m_latInit);
- if (action->getMaxDuration() != NO_MAX_DURATION)
- action->updateMaxDuration(delta);
-
- if (action->getRemainsNoUpdate() <= 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);
- }
- }
-}
-
-Action *NetworkConstantModel::communicate(RoutingEdge *src, RoutingEdge *dst,
- double size, double rate)
-{
- char *src_name = src->getName();
- char *dst_name = dst->getName();
-
- XBT_IN("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
- NetworkConstantAction *action = new NetworkConstantAction(this, size, sg_latency_factor);
- XBT_OUT();
-
- surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
- return action;
-}