action->getMaxDuration());
if (min != -1) {
- action->heapRemove(p_actionHeap);
- action->heapInsert(p_actionHeap, min, max_dur_flag ? MAX_DURATION : NORMAL);
+ action->heapUpdate(p_actionHeap, min, max_dur_flag ? MAX_DURATION : NORMAL);
XBT_DEBUG("Insert at heap action(%p) min %f now %f", action, min,
now);
} else DIE_IMPOSSIBLE;
void Model::updateActionsStateLazy(double /*now*/, double /*delta*/)
{
+ THROW_UNIMPLEMENTED;
}
void Model::updateActionsStateFull(double /*now*/, double /*delta*/)
{
+ THROW_UNIMPLEMENTED;
}
/************
}
}
+void Action::heapUpdate(xbt_heap_t heap, double key, enum heap_action_type hat)
+{
+ m_hat = hat;
+ if (m_indexHeap >= 0) {
+ xbt_heap_update(heap, m_indexHeap, key);
+ }else{
+ xbt_heap_push(heap, this, key);
+ }
+}
+
/* added to manage the communication action's heap */
void surf_action_lmm_update_index_heap(void *action, int i) {
((ActionPtr)action)->updateIndexHeap(i);