X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/863aeead864a309c494893a1b06ec33ed2b7daf1..a619bfb1b9a3769e775975828e35541111290665:/src/s4u/s4u_host.cpp diff --git a/src/s4u/s4u_host.cpp b/src/s4u/s4u_host.cpp index 8ee524a1b7..b131fe6085 100644 --- a/src/s4u/s4u_host.cpp +++ b/src/s4u/s4u_host.cpp @@ -160,6 +160,7 @@ void Host::routeTo(Host* dest, std::vector* links, double* latency) for (surf::LinkImpl* l : linkImpls) links->push_back(&l->piface_); } + /** @brief Just like Host::routeTo, but filling an array of link implementations */ void Host::routeTo(Host* dest, std::vector* links, double* latency) { @@ -172,24 +173,6 @@ void Host::routeTo(Host* dest, std::vector* links, double* late } } -boost::unordered_map const& Host::mountedStorages() { - if (mounts == nullptr) { - mounts = new boost::unordered_map (); - - xbt_dict_t dict = this->mountedStoragesAsDict(); - - xbt_dict_cursor_t cursor; - char *mountname; - char *storagename; - xbt_dict_foreach(dict, cursor, mountname, storagename) { - mounts->insert({mountname, Storage::byName(storagename)}); - } - xbt_dict_free(&dict); - } - - return *mounts; -} - /** Get the properties assigned to a host */ xbt_dict_t Host::properties() { return simgrid::simix::kernelImmediate([this] { @@ -198,13 +181,14 @@ xbt_dict_t Host::properties() { } /** Retrieve the property value (or nullptr if not set) */ -const char*Host::property(const char*key) { +const char* Host::property(const char* key) +{ return this->pimpl_->getProperty(key); } -void Host::setProperty(const char*key, const char *value){ - simgrid::simix::kernelImmediate([this, key, value] { - this->pimpl_->setProperty(key, value); - }); + +void Host::setProperty(const char* key, const char* value) +{ + simgrid::simix::kernelImmediate([this, key, value] { this->pimpl_->setProperty(key, value); }); } /** Get the processes attached to the host */ @@ -247,22 +231,10 @@ int Host::pstate() return this->pimpl_cpu->getPState(); } -/** - * \ingroup simix_storage_management - * \brief Returns the list of storages mounted on an host. - * \return a dict containing all storages mounted on the host - */ -xbt_dict_t Host::mountedStoragesAsDict() -{ - return simgrid::simix::kernelImmediate([this] { - return this->pimpl_->getMountedStorageList(); - }); -} - /** * \ingroup simix_storage_management * \brief Returns the list of storages attached to an host. - * \return a dict containing all storages attached to the host + * \return a vector containing all storages attached to the host */ void Host::attachedStorages(std::vector* storages) { @@ -271,5 +243,16 @@ void Host::attachedStorages(std::vector* storages) }); } +std::unordered_map const& Host::mountedStorages() +{ + if (mounts == nullptr) { + mounts = new std::unordered_map(); + for (auto m : this->pimpl_->storage_) { + mounts->insert({m.first, &m.second->piface_}); + } + } + return *mounts; +} + } // namespace simgrid } // namespace s4u