void CpuCas01::apply_event(tmgr_trace_iterator_t event, double value)
{
- lmm_variable_t var = NULL;
- lmm_element_t elem = NULL;
-
if (event == p_speed.event) {
/* TODO (Hypervisor): do the same thing for constraint_core[i] */
xbt_assert(m_core == 1, "FIXME: add speed scaling code also for constraint_core[i]");
turnOn();
} else {
lmm_constraint_t cnst = getConstraint();
+ lmm_variable_t var = NULL;
+ lmm_element_t elem = NULL;
double date = surf_get_clock();
turnOff();
}
}
tmgr_trace_event_unref(&p_stateEvent);
+
} else {
xbt_die("Unknown event!\n");
}
-
- return;
}
CpuAction *CpuCas01::execution_start(double size)
int pstate, double speedScale, tmgr_trace_t speedTrace, int core,
int initiallyOn, tmgr_trace_t stateTrace) ;
~CpuCas01();
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
CpuAction *execution_start(double size) override;
CpuAction *sleep(double duration) override;
void CpuTi::apply_event(tmgr_trace_iterator_t event, double value)
{
- CpuTiAction *action;
-
if (event == p_speed.event) {
tmgr_trace_t speedTrace;
CpuTiTgmr *trace;
/* put all action running on cpu to failed */
for(ActionTiList::iterator it(p_actionSet->begin()), itend(p_actionSet->end())
; it != itend ; ++it) {
- action = &*it;
+
+ CpuTiAction *action = &*it;
if (action->getState() == SURF_ACTION_RUNNING
|| action->getState() == SURF_ACTION_READY
|| action->getState() == SURF_ACTION_NOT_IN_THE_SYSTEM) {
}
}
tmgr_trace_event_unref(&p_stateEvent);
+
} else {
xbt_die("Unknown event!\n");
}
void set_speed_trace(tmgr_trace_t trace) override;
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
void updateActionsFinishTime(double now);
void updateRemainingAmount(double now);
Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPeak,
int pstate, double speedScale,
tmgr_trace_t speedTrace, int core,
- int initiallyOn,
- tmgr_trace_t state_trace) override;
+ int initiallyOn, tmgr_trace_t state_trace) override;
double next_occuring_event(double now) override;
void updateActionsState(double now, double delta) override;
virtual int fileMove(surf_file_t fd, const char* fullpath);
bool isUsed() override {DIE_IMPOSSIBLE;} // FIXME: Host should not be a Resource
- void apply_event(tmgr_trace_iterator_t event_type, double value) override
+ void apply_event(tmgr_trace_iterator_t event, double value) override
{THROW_IMPOSSIBLE;} // FIXME: Host should not be a Resource
public:
p_speed.scale = value;
onSpeedChange();
tmgr_trace_event_unref(&p_speed.event);
+
} else if (triggered == p_stateEvent) {
if (value > 0)
turnOn();
else
turnOff();
tmgr_trace_event_unref(&p_stateEvent);
+
} else {
xbt_die("Unknown event!\n");
}
if (triggered == m_bandwidth.event) {
updateBandwidth(value);
tmgr_trace_event_unref(&m_bandwidth.event);
+
} else if (triggered == m_latency.event) {
updateLatency(value);
tmgr_trace_event_unref(&m_latency.event);
+
} else if (triggered == m_stateEvent) {
if (value > 0)
turnOn();
else
turnOff();
tmgr_trace_event_unref(&m_stateEvent);
+
} else {
xbt_die("Unknown event ! \n");
}
int core, int initiallyOn, tmgr_trace_t state_trace);
~CpuL07();
bool isUsed() override;
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
Action *execution_start(double size) override;
Action *sleep(double duration) override;
protected:
e_surf_link_sharing_policy_t policy);
~LinkL07(){ };
bool isUsed() override;
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
void updateBandwidth(double value) override;
void updateLatency(double value) override;
};
if (triggered == m_bandwidth.event) {
updateBandwidth(value);
tmgr_trace_event_unref(&m_bandwidth.event);
+
} else if (triggered == m_latency.event) {
updateLatency(value);
tmgr_trace_event_unref(&m_latency.event);
+
} else if (triggered == m_stateEvent) {
if (value > 0)
turnOn();
NetworkCm02Model();
~NetworkCm02Model() { }
Link* createLink(const char *name,
- double bw_initial,
- tmgr_trace_t bw_trace,
- double lat_initial,
- tmgr_trace_t lat_trace,
- int initiallyOn,
- tmgr_trace_t state_trace,
+ double bw_initial, tmgr_trace_t bw_trace,
+ double lat_initial, tmgr_trace_t lat_trace,
+ int initiallyOn, tmgr_trace_t state_trace,
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties) override;
void updateActionsStateLazy(double now, double delta) override;
void updateActionsStateFull(double now, double delta) override;
- Action *communicate(NetCard *src, NetCard *dst,
- double size, double rate) override;
+ Action *communicate(NetCard *src, NetCard *dst, double size, double rate) override;
bool next_occuring_event_isIdempotent() override {return true;}
virtual void gapAppend(double /*size*/, const Link* /*link*/, NetworkAction * /*action*/) {};
protected:
class NetworkCm02Link : public Link {
public:
NetworkCm02Link(NetworkCm02Model *model, const char *name, xbt_dict_t props,
- lmm_system_t system,
- double constraint_value,
- int initiallyOn,
- tmgr_trace_t state_trace,
- double metric_peak,
- tmgr_trace_t metric_trace,
- double lat_initial,
- tmgr_trace_t lat_trace,
- e_surf_link_sharing_policy_t policy);
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ lmm_system_t system,
+ double constraint_value,
+ int initiallyOn, tmgr_trace_t state_trace,
+ double bw_peak, tmgr_trace_t bw_trace,
+ double lat_initial, tmgr_trace_t lat_trace,
+ e_surf_link_sharing_policy_t policy);
+
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
void updateBandwidth(double value) override;
void updateLatency(double value) override;
virtual void gapAppend(double /*size*/, const Link* /*link*/, NetworkAction * /*action*/) {};
-
-
};
{
}
-void NetworkNS3Link::apply_event(tmgr_trace_iterator_t event_type, double value)
+void NetworkNS3Link::apply_event(tmgr_trace_iterator_t event, double value)
{
THROW_UNIMPLEMENTED;
}
double bw_initial, double lat_initial);
~NetworkNS3Link();
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
void updateBandwidth(double value) override {THROW_UNIMPLEMENTED;}
void updateLatency(double value) override {THROW_UNIMPLEMENTED;}
return false;
}
-void Storage::apply_event(tmgr_trace_iterator_t /*event_type*/, double /*value*/)
+void Storage::apply_event(tmgr_trace_iterator_t /*event*/, double /*value*/)
{
THROW_UNIMPLEMENTED;
}
/** @brief Check if the Storage is used (if an action currently uses its resources) */
bool isUsed() override;
- /**
- * @brief Update the state of the current Storage
- *
- * @param event_type [description]
- * @param value [description]
- * @param date [description]
- */
- void apply_event(tmgr_trace_iterator_t event_type, double value) override;
+ void apply_event(tmgr_trace_iterator_t event, double value) override;
void turnOn() override;
void turnOff() override;
const char *getName();
/**
- * @brief Update the state of the current Resource
- * @details [TODO]
+ * @brief Apply an event of external load event to that storage
*
- * @param event_type [TODO]
+ * @param event What happened
* @param value [TODO]
*/
- virtual void apply_event(tmgr_trace_iterator_t event_type, double value)=0;
+ virtual void apply_event(tmgr_trace_iterator_t event, double value)=0;
/** @brief Check if the current Resource is used (if it currently serves an action) */
virtual bool isUsed()=0;