- lmm_update_variable_bound(maxmin_system, action->variable,
- SG_TCP_CTE_GAMMA / action->lat_current);
+
+ if(action->latency>0)
+ action->variable = lmm_variable_new(maxmin_system, action, 0.0, -1.0,
+ route_size);
+ else
+ action->variable = lmm_variable_new(maxmin_system, action, 1.0, -1.0,
+ route_size);
+
+ if(action->rate<0)
+ lmm_update_variable_bound(maxmin_system, action->variable,
+ SG_TCP_CTE_GAMMA / action->lat_current);
+ else
+ lmm_update_variable_bound(maxmin_system, action->variable,
+ min(action->rate,SG_TCP_CTE_GAMMA / action->lat_current));
+
+ if(route_size == 0) {
+ action_change_state((surf_action_t) action, SURF_ACTION_DONE);
+ }
+
+ for (i = 0; i < route_size; i++)
+ lmm_expand(maxmin_system, route[i]->constraint, action->variable, 1.0);