Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics: rename some fields and methods in surf::Action
[simgrid.git] / src / surf / surf_interface.cpp
index 5960575..f5a6a34 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2004-2017. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -321,6 +321,7 @@ void surf_exit()
 {
   TRACE_end();                  /* Just in case it was not called by the upper layer (or there is no upper layer) */
 
+  simgrid::s4u::Engine::shutdown();
   sg_link_exit();
   for (auto const& e : storage_types) {
     simgrid::surf::StorageType* stype = e.second;
@@ -336,7 +337,6 @@ void surf_exit()
     delete model;
   delete all_existing_models;
 
-  simgrid::surf::surfExitCallbacks();
 
   if (future_evt_set) {
     delete future_evt_set;
@@ -345,7 +345,6 @@ void surf_exit()
 
   tmgr_finalize();
   sg_platf_exit();
-  simgrid::s4u::Engine::shutdown();
 
   NOW = 0;                      /* Just in case the user plans to restart the simulation afterward */
 }
@@ -413,7 +412,7 @@ double Model::nextOccuringEventLazy(double now)
       continue;
 
     /* bogus priority, skip it */
-    if (action->getPriority() <= 0 || action->getHat()==LATENCY)
+    if (action->getPriority() <= 0 || action->getType() == Action::Type::LATENCY)
       continue;
 
     action->updateRemainingLazy(now);
@@ -445,7 +444,7 @@ double Model::nextOccuringEventLazy(double now)
         action->getMaxDuration());
 
     if (min > -1) {
-      action->heapUpdate(actionHeap_, min, max_dur_flag ? MAX_DURATION : NORMAL);
+      action->heapUpdate(actionHeap_, min, max_dur_flag ? Action::Type::MAX_DURATION : Action::Type::NORMAL);
       XBT_DEBUG("Insert at heap action(%p) min %f now %f", action, min, now);
     } else
       DIE_IMPOSSIBLE;
@@ -516,77 +515,10 @@ void Model::updateActionsStateFull(double /*now*/, double /*delta*/)
  * Resource *
  ************/
 
-namespace simgrid {
-namespace surf {
-
-Resource::Resource(Model* model, const std::string& name, lmm_constraint_t constraint)
-    : name_(name), model_(model), constraint_(constraint)
-{}
-
-Resource::~Resource() = default;
-
-bool Resource::isOn() const {
-  return isOn_;
-}
-bool Resource::isOff() const {
-  return not isOn_;
-}
-
-void Resource::turnOn()
-{
-  isOn_ = true;
-}
-
-void Resource::turnOff()
-{
-  isOn_ = false;
-}
-
-double Resource::getLoad()
-{
-  return constraint_->get_usage();
-}
-
-Model* Resource::model() const
-{
-  return model_;
-}
-
-const std::string& Resource::getName() const
-{
-  return name_;
-}
-
-const char* Resource::getCname() const
-{
-  return name_.c_str();
-}
-
-bool Resource::operator==(const Resource &other) const {
-  return name_ == other.name_;
-}
-
-lmm_constraint_t Resource::constraint() const
-{
-  return constraint_;
-}
-
-}
-}
-
 /**********
  * Action *
  **********/
 
-const char *surf_action_state_names[6] = {
-  "SURF_ACTION_READY",
-  "SURF_ACTION_RUNNING",
-  "SURF_ACTION_FAILED",
-  "SURF_ACTION_DONE",
-  "SURF_ACTION_TO_FREE",
-  "SURF_ACTION_NOT_IN_THE_SYSTEM"
-};
-
 namespace simgrid {
 namespace surf {
 
@@ -594,7 +526,7 @@ Action::Action(simgrid::surf::Model* model, double cost, bool failed) : Action(m
 {
 }
 
-Action::Action(simgrid::surf::Model* model, double cost, bool failed, lmm_variable_t var)
+Action::Action(simgrid::surf::Model* model, double cost, bool failed, kernel::lmm::Variable* var)
     : remains_(cost), start_(surf_get_clock()), cost_(cost), model_(model), variable_(var)
 {
   if (failed)
@@ -698,7 +630,7 @@ void Action::setSharingWeight(double weight)
 void Action::cancel(){
   setState(Action::State::failed);
   if (getModel()->getUpdateMechanism() == UM_LAZY) {
-    if (action_lmm_hook.is_linked())
+    if (modifiedSetHook_.is_linked())
       simgrid::xbt::intrusive_erase(*getModel()->getModifiedSet(), *this);
     heapRemove(getModel()->getActionHeap());
   }
@@ -707,14 +639,14 @@ void Action::cancel(){
 int Action::unref(){
   refcount_--;
   if (not refcount_) {
-    if (action_hook.is_linked())
+    if (stateSetHook_.is_linked())
       simgrid::xbt::intrusive_erase(*stateSet_, *this);
     if (getVariable())
       getModel()->getMaxminSystem()->variable_free(getVariable());
     if (getModel()->getUpdateMechanism() == UM_LAZY) {
       /* remove from heap */
       heapRemove(getModel()->getActionHeap());
-      if (action_lmm_hook.is_linked())
+      if (modifiedSetHook_.is_linked())
         simgrid::xbt::intrusive_erase(*getModel()->getModifiedSet(), *this);
     }
     delete this;
@@ -726,7 +658,7 @@ int Action::unref(){
 void Action::suspend()
 {
   XBT_IN("(%p)", this);
-  if (suspended_ != 2) {
+  if (suspended_ != SuspendStates::sleeping) {
     getModel()->getMaxminSystem()->update_variable_weight(getVariable(), 0.0);
     if (getModel()->getUpdateMechanism() == UM_LAZY){
       heapRemove(getModel()->getActionHeap());
@@ -736,7 +668,7 @@ void Action::suspend()
         updateRemainingLazy(surf_get_clock());
       }
     }
-    suspended_ = 1;
+    suspended_ = SuspendStates::suspended;
   }
   XBT_OUT();
 }
@@ -744,9 +676,9 @@ void Action::suspend()
 void Action::resume()
 {
   XBT_IN("(%p)", this);
-  if (suspended_ != 2) {
+  if (suspended_ != SuspendStates::sleeping) {
     getModel()->getMaxminSystem()->update_variable_weight(getVariable(), getPriority());
-    suspended_ = 0;
+    suspended_ = SuspendStates::not_suspended;
     if (getModel()->getUpdateMechanism() == UM_LAZY)
       heapRemove(getModel()->getActionHeap());
   }
@@ -755,7 +687,7 @@ void Action::resume()
 
 bool Action::isSuspended()
 {
-  return suspended_ == 1;
+  return suspended_ == SuspendStates::suspended;
 }
 /* insert action on heap using a given key and a hat (heap_action_type)
  * a hat can be of three types for communications:
@@ -764,24 +696,24 @@ bool Action::isSuspended()
  * LATENCY = this is a heap entry to warn us when the latency is payed
  * MAX_DURATION =this is a heap entry to warn us when the max_duration limit is reached
  */
-void Action::heapInsert(heap_type& heap, double key, enum heap_action_type hat)
+void Action::heapInsert(heap_type& heap, double key, Action::Type hat)
 {
-  hat_ = hat;
+  type_       = hat;
   heapHandle_ = heap.emplace(std::make_pair(key, this));
 }
 
 void Action::heapRemove(heap_type& heap)
 {
-  hat_ = NOTSET;
+  type_ = Action::Type::NOTSET;
   if (heapHandle_) {
     heap.erase(*heapHandle_);
     clearHeapHandle();
   }
 }
 
-void Action::heapUpdate(heap_type& heap, double key, enum heap_action_type hat)
+void Action::heapUpdate(heap_type& heap, double key, Action::Type hat)
 {
-  hat_ = hat;
+  type_ = hat;
   if (heapHandle_) {
     heap.update(*heapHandle_, std::make_pair(key, this));
   } else {