Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
more protected->private fields
[simgrid.git] / src / surf / surf_interface.hpp
index 6b9712d..32e6ec3 100644 (file)
@@ -201,6 +201,7 @@ public:
   double getPriority() { return sharingWeight_; };
   /** @brief Set the priority of the current Action */
   virtual void setSharingWeight(double priority);
+  void setSharingWeightNoUpdate(double weight) { sharingWeight_ = weight; }
 
   /** @brief Get the state set in which the action is */
   ActionList* getStateSet() {return stateSet_;};
@@ -211,21 +212,28 @@ public:
 
 protected:
   ActionList* stateSet_;
-  double sharingWeight_ = 1.0; /**< priority (1.0 by default) */
   int    refcount_ = 1;
-  double remains_; /**< How much of that cost remains to be done in the currently running task */
-  double maxDuration_ = NO_MAX_DURATION; /*< max_duration (may fluctuate until the task is completed) */
-  double finishTime_ = -1; /**< finish time : this is modified during the run and fluctuates until the task is completed */
 
 private:
+  double sharingWeight_ = 1.0;             /**< priority (1.0 by default) */
+  double maxDuration_ = NO_MAX_DURATION; /*< max_duration (may fluctuate until the task is completed) */
+  double remains_;                       /**< How much of that cost remains to be done in the currently running task */
   double start_; /**< start time  */
   char *category_ = nullptr;            /**< tracing category for categorized resource utilization monitoring */
+  double finishTime_ =
+      -1; /**< finish time : this is modified during the run and fluctuates until the task is completed */
 
   double    cost_;
   simgrid::surf::Model *model_;
   void *data_ = nullptr; /**< for your convenience */
 
   /* LMM */
+  double lastUpdate_         = 0;
+  double lastValue_          = 0;
+  lmm_variable_t variable_   = nullptr;
+  enum heap_action_type hat_ = NOTSET;
+  int indexHeap_;
+
 public:
   virtual void updateRemainingLazy(double now) { THROW_IMPOSSIBLE; };
   void heapInsert(xbt_heap_t heap, double key, enum heap_action_type hat);
@@ -233,18 +241,16 @@ public:
   void heapUpdate(xbt_heap_t heap, double key, enum heap_action_type hat);
   virtual void updateIndexHeap(int i);
   lmm_variable_t getVariable() {return variable_;}
+  void setVariable(lmm_variable_t var) { variable_ = var; }
   double getLastUpdate() {return lastUpdate_;}
   void refreshLastUpdate() {lastUpdate_ = surf_get_clock();}
-  enum heap_action_type getHat() {return hat_;}
+  double getLastValue() { return lastValue_; }
+  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:
-  lmm_variable_t variable_ = nullptr;
-  double lastValue_ = 0;
-  double lastUpdate_ = 0;
   int suspended_ = 0;
-  int indexHeap_;
-  enum heap_action_type hat_ = NOTSET;
 };
 
 typedef Action::ActionList ActionList;
@@ -290,6 +296,7 @@ public:
    * @see e_UM_t
    */
   e_UM_t getUpdateMechanism() {return updateMechanism_;}
+  void setUpdateMechanism(e_UM_t mechanism) { updateMechanism_ = mechanism; }
 
   /** @brief Get Action heap */
   xbt_heap_t getActionHeap() {return actionHeap_;}
@@ -324,11 +331,11 @@ public:
 protected:
   ActionLmmListPtr modifiedSet_;
   lmm_system_t maxminSystem_ = nullptr;
-  e_UM_t updateMechanism_ = UM_UNDEFINED;
   bool selectiveUpdate_;
   xbt_heap_t actionHeap_;
 
 private:
+  e_UM_t updateMechanism_ = UM_UNDEFINED;
   ActionList* readyActionSet_; /**< Actions in state SURF_ACTION_READY */
   ActionList* runningActionSet_; /**< Actions in state SURF_ACTION_RUNNING */
   ActionList* failedActionSet_; /**< Actions in state SURF_ACTION_FAILED */