#include "src/surf/surf_private.hpp"
#include "surf/surf.hpp"
+#include "xbt/heap.h"
#include "xbt/str.h"
#include <boost/intrusive/list.hpp>
void setLastValue(double val) { lastValue_ = val; }
enum heap_action_type getHat() { return hat_; }
bool is_linked() {return action_lmm_hook.is_linked();}
- int getIndexHeap() { return indexHeap_; }
protected:
int suspended_ = 0;
};
/** @brief Get Action heap */
xbt_heap_t getActionHeap() {return actionHeap_;}
+ double actionHeapTopDate() const { return xbt_heap_maxkey(actionHeap_); }
+ Action* actionHeapPop() { return static_cast<Action*>(xbt_heap_pop(actionHeap_)); }
+ bool actionHeapIsEmpty() const { return xbt_heap_size(actionHeap_) == 0; }
+
/**
* @brief Share the resources between the actions
*
ActionLmmListPtr modifiedSet_;
lmm_system_t maxminSystem_ = nullptr;
bool selectiveUpdate_;
- xbt_heap_t actionHeap_;
private:
e_UM_t updateMechanism_ = UM_UNDEFINED;
ActionList* runningActionSet_; /**< Actions in state SURF_ACTION_RUNNING */
ActionList* failedActionSet_; /**< Actions in state SURF_ACTION_FAILED */
ActionList* doneActionSet_; /**< Actions in state SURF_ACTION_DONE */
+ xbt_heap_t actionHeap_;
};
}