Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
allow to call s4u::Exec->setHost() after its start, to migrate it
[simgrid.git] / src / s4u / s4u_storage.cpp
index 5cb09af..d8f004a 100644 (file)
@@ -6,20 +6,21 @@
 #include "simgrid/s4u/Host.hpp"
 #include "simgrid/s4u/Storage.hpp"
 #include "simgrid/simix.hpp"
+#include "src/plugins/file_system/FileSystem.hpp"
 #include "src/surf/StorageImpl.hpp"
 #include <unordered_map>
 
 namespace simgrid {
+namespace xbt {
+template class Extendable<simgrid::s4u::Storage>;
+}
+
 namespace s4u {
 
-std::map<std::string, Storage*>* allStorages()
+void getStorageList(std::map<std::string, Storage*>* whereTo)
 {
-  std::unordered_map<std::string, surf::StorageImpl*>* map = surf::StorageImpl::storagesMap();
-  std::map<std::string, Storage*>* res                     = new std::map<std::string, Storage*>;
-  for (auto const& s : *map)
-    res->insert({s.first, &(s.second->piface_)}); // Convert each entry into its interface
-
-  return res;
+  for (auto const& s : *surf::StorageImpl::storagesMap())
+    whereTo->insert({s.first, &(s.second->piface_)}); // Convert each entry into its interface
 }
 
 Storage* Storage::byName(std::string name)
@@ -50,25 +51,6 @@ Host* Storage::getHost()
   return attached_to_;
 }
 
-sg_size_t Storage::getSizeFree()
-{
-  return simgrid::simix::kernelImmediate([this] { return pimpl_->getFreeSize(); });
-}
-
-sg_size_t Storage::getSizeUsed()
-{
-  return simgrid::simix::kernelImmediate([this] { return pimpl_->getUsedSize(); });
-}
-
-void Storage::decrUsedSize(sg_size_t size)
-{
-  simgrid::simix::kernelImmediate([this, size] { pimpl_->usedSize_ -= size; });
-}
-
-sg_size_t Storage::getSize()
-{
-  return pimpl_->getSize();
-}
 
 std::map<std::string, std::string>* Storage::getProperties()
 {
@@ -85,11 +67,6 @@ void Storage::setProperty(std::string key, std::string value)
   simgrid::simix::kernelImmediate([this, key, value] { this->pimpl_->setProperty(key, value); });
 }
 
-std::map<std::string, sg_size_t>* Storage::getContent()
-{
-  return simgrid::simix::kernelImmediate([this] { return pimpl_->getContent(); });
-}
-
 sg_size_t Storage::read(sg_size_t size)
 {
   return simcall_storage_read(pimpl_, size);