A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix constness of some methods and add a std::hash<Resource>
[simgrid.git]
/
src
/
surf
/
surf_interface.cpp
diff --git
a/src/surf/surf_interface.cpp
b/src/surf/surf_interface.cpp
index
1dcc754
..
732406d
100644
(file)
--- a/
src/surf/surf_interface.cpp
+++ b/
src/surf/surf_interface.cpp
@@
-604,14
+604,18
@@
void Resource::turnOff()
}
}
}
}
-Model *Resource::getModel() {
+Model *Resource::getModel()
const
{
return p_model;
}
return p_model;
}
-const char *Resource::getName() {
+const char *Resource::getName()
const
{
return p_name;
}
return p_name;
}
+bool Resource::operator==(const Resource &other) const {
+ return strcmp(p_name, other.p_name);
+}
+
lmm_constraint_t Resource::getConstraint() {
return p_constraint;
}
lmm_constraint_t Resource::getConstraint() {
return p_constraint;
}
@@
-674,38
+678,41
@@
void Action::finish() {
m_finish = surf_get_clock();
}
m_finish = surf_get_clock();
}
-
e_surf_action_state_t
Action::getState()
+
Action::State
Action::getState()
{
if (p_stateSet == getModel()->getReadyActionSet())
{
if (p_stateSet == getModel()->getReadyActionSet())
- return
SURF_ACTION_READY
;
+ return
Action::State::ready
;
if (p_stateSet == getModel()->getRunningActionSet())
if (p_stateSet == getModel()->getRunningActionSet())
- return
SURF_ACTION_RUNNING
;
+ return
Action::State::running
;
if (p_stateSet == getModel()->getFailedActionSet())
if (p_stateSet == getModel()->getFailedActionSet())
- return
SURF_ACTION_FAILED
;
+ return
Action::State::failed
;
if (p_stateSet == getModel()->getDoneActionSet())
if (p_stateSet == getModel()->getDoneActionSet())
- return
SURF_ACTION_DONE
;
- return
SURF_ACTION_NOT_IN_THE_SYSTEM
;
+ return
Action::State::done
;
+ return
Action::State::not_in_the_system
;
}
}
-void Action::setState(
e_surf_action_state_t
state)
+void Action::setState(
Action::State
state)
{
{
- //surf_action_state_t action_state = &(action->model_type->states);
- XBT_IN("(%p,%s)", this, surf_action_state_names[state]);
p_stateSet->erase(p_stateSet->iterator_to(*this));
p_stateSet->erase(p_stateSet->iterator_to(*this));
- if (state == SURF_ACTION_READY)
+ switch (state) {
+ case Action::State::ready:
p_stateSet = getModel()->getReadyActionSet();
p_stateSet = getModel()->getReadyActionSet();
- else if (state == SURF_ACTION_RUNNING)
+ break;
+ case Action::State::running:
p_stateSet = getModel()->getRunningActionSet();
p_stateSet = getModel()->getRunningActionSet();
- else if (state == SURF_ACTION_FAILED)
+ break;
+ case Action::State::failed:
p_stateSet = getModel()->getFailedActionSet();
p_stateSet = getModel()->getFailedActionSet();
- else if (state == SURF_ACTION_DONE)
+ break;
+ case Action::State::done:
p_stateSet = getModel()->getDoneActionSet();
p_stateSet = getModel()->getDoneActionSet();
- else
+ break;
+ default:
p_stateSet = NULL;
p_stateSet = NULL;
-
+ break;
+ }
if (p_stateSet)
p_stateSet->push_back(*this);
if (p_stateSet)
p_stateSet->push_back(*this);
- XBT_OUT();
}
double Action::getBound()
}
double Action::getBound()
@@
-774,7
+781,7
@@
void Action::setPriority(double priority)
}
void Action::cancel(){
}
void Action::cancel(){
- setState(
SURF_ACTION_FAILED
);
+ setState(
Action::State::failed
);
if (getModel()->getUpdateMechanism() == UM_LAZY) {
if (action_lmm_hook.is_linked())
getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this));
if (getModel()->getUpdateMechanism() == UM_LAZY) {
if (action_lmm_hook.is_linked())
getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this));
@@
-922,12
+929,12
@@
void Action::updateRemainingLazy(double now)
if ((m_remains <= 0) &&
(lmm_get_variable_weight(getVariable()) > 0)) {
finish();
if ((m_remains <= 0) &&
(lmm_get_variable_weight(getVariable()) > 0)) {
finish();
- setState(
SURF_ACTION_DONE
);
+ setState(
Action::State::done
);
heapRemove(getModel()->getActionHeap());
} else if (((m_maxDuration != NO_MAX_DURATION)
&& (m_maxDuration <= 0))) {
finish();
heapRemove(getModel()->getActionHeap());
} else if (((m_maxDuration != NO_MAX_DURATION)
&& (m_maxDuration <= 0))) {
finish();
- setState(
SURF_ACTION_DONE
);
+ setState(
Action::State::done
);
heapRemove(getModel()->getActionHeap());
}
}
heapRemove(getModel()->getActionHeap());
}
}