-void CpuL07::updateState(tmgr_trace_event_t event_type, double value, double date){
- XBT_DEBUG("Updating cpu %s (%p) with value %g", m_name, this, value);
- if (event_type == p_power.event) {
- m_powerCurrent = value;
- lmm_update_constraint_bound(ptask_maxmin_system, p_constraint, m_powerCurrent * p_power.scale);
+LinkL07::LinkL07(NetworkL07ModelPtr model, const char* name, xbt_dict_t props,
+ double bw_initial,
+ tmgr_trace_t bw_trace,
+ double lat_initial,
+ tmgr_trace_t lat_trace,
+ e_surf_resource_state_t state_initial,
+ tmgr_trace_t state_trace,
+ e_surf_link_sharing_policy_t policy)
+ : NetworkLink(model, name, props, lmm_constraint_new(ptask_maxmin_system, this, bw_initial), history, state_trace)
+{
+ m_bwCurrent = bw_initial;
+ if (bw_trace)
+ p_bwEvent = tmgr_history_add_trace(history, bw_trace, 0.0, 0, static_cast<ResourcePtr>(this));
+
+ setState(state_initial);
+ m_latCurrent = lat_initial;
+
+ if (lat_trace)
+ p_latEvent = tmgr_history_add_trace(history, lat_trace, 0.0, 0, static_cast<ResourcePtr>(this));
+
+ if (policy == SURF_LINK_FATPIPE)
+ lmm_constraint_shared(getConstraint());
+}
+
+bool CpuL07::isUsed(){
+ return lmm_constraint_used(ptask_maxmin_system, getConstraint());
+}
+
+bool LinkL07::isUsed(){
+ return lmm_constraint_used(ptask_maxmin_system, getConstraint());
+}
+
+void CpuL07::updateState(tmgr_trace_event_t event_type, double value, double /*date*/){
+ XBT_DEBUG("Updating cpu %s (%p) with value %g", getName(), this, value);
+ if (event_type == p_powerEvent) {
+ m_powerScale = value;
+ lmm_update_constraint_bound(ptask_maxmin_system, getConstraint(), m_powerPeak * m_powerScale);