Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
this dict was a set
[simgrid.git] / src / surf / surf_interface.cpp
index cf5f486..f99f0ee 100644 (file)
@@ -12,6 +12,8 @@
 #include "src/surf/HostImpl.hpp"
 
 #include <fstream>
+#include <set>
+#include <string>
 #include <vector>
 
 XBT_LOG_NEW_CATEGORY(surf, "All SURF categories");
@@ -26,7 +28,8 @@ std::vector<surf_model_t> * all_existing_models = nullptr; /* to destroy models
 simgrid::trace_mgr::future_evt_set *future_evt_set = nullptr;
 std::vector<std::string> surf_path;
 std::vector<simgrid::s4u::Host*> host_that_restart;
-xbt_dict_t watched_hosts_lib;
+/**  set of hosts for which one want to be notified if they ever restart. */
+std::set<std::string> watched_hosts;
 extern std::map<std::string, storage_type_t> storage_types;
 
 namespace simgrid {
@@ -161,9 +164,8 @@ FILE *surf_fopen(const char *name, const char *mode)
 
   /* search relative files in the path */
   for (auto path_elm : surf_path) {
-    char* buff = bprintf("%s" FILE_DELIM "%s", path_elm.c_str(), name);
-    file = fopen(buff, mode);
-    free(buff);
+    std::string buff = path_elm + FILE_DELIM + name;
+    file             = fopen(buff.c_str(), mode);
 
     if (file)
       return file;
@@ -346,8 +348,6 @@ void surf_init(int *argc, char **argv)
   XBT_DEBUG("Create all Libs");
   USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr);
 
-  watched_hosts_lib = xbt_dict_new_homogeneous(nullptr);
-
   xbt_init(argc, argv);
   if (not all_existing_models)
     all_existing_models = new std::vector<simgrid::surf::Model*>();
@@ -369,7 +369,6 @@ void surf_exit()
 
   sg_host_exit();
   sg_link_exit();
-  xbt_dict_free(&watched_hosts_lib);
   for (auto e : storage_types) {
     storage_type_t stype = e.second;
     free(stype->model);
@@ -379,9 +378,9 @@ void surf_exit()
     delete stype->model_properties;
     free(stype);
   }
-  for (auto s : *simgrid::surf::StorageImpl::storages)
+  for (auto s : *simgrid::surf::StorageImpl::storagesMap())
     delete s.second;
-  delete simgrid::surf::StorageImpl::storages;
+  delete simgrid::surf::StorageImpl::storagesMap();
 
   for (auto model : *all_existing_models)
     delete model;
@@ -446,9 +445,9 @@ double Model::nextOccuringEvent(double now)
 
 double Model::nextOccuringEventLazy(double now)
 {
-  XBT_DEBUG("Before share resources, the size of modified actions set is %zd", modifiedSet_->size());
+  XBT_DEBUG("Before share resources, the size of modified actions set is %zu", modifiedSet_->size());
   lmm_solve(maxminSystem_);
-  XBT_DEBUG("After share resources, The size of modified actions set is %zd", modifiedSet_->size());
+  XBT_DEBUG("After share resources, The size of modified actions set is %zu", modifiedSet_->size());
 
   while (not modifiedSet_->empty()) {
     Action *action = &(modifiedSet_->front());
@@ -739,8 +738,6 @@ void Action::setMaxDuration(double duration)
     heapRemove(getModel()->getActionHeap());
 }
 
-void Action::gapRemove() {}
-
 void Action::setSharingWeight(double weight)
 {
   XBT_IN("(%p,%g)", this, weight);