X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/50112236f62426d55750da4901ab88456a272e7f..e08706f3186be543c8f4a9c0b2ba5821d17314a4:/src/s4u/s4u_host.cpp diff --git a/src/s4u/s4u_host.cpp b/src/s4u/s4u_host.cpp index e3c363563c..c36d9ec715 100644 --- a/src/s4u/s4u_host.cpp +++ b/src/s4u/s4u_host.cpp @@ -9,9 +9,9 @@ #include -#include "simgrid/s4u/engine.hpp" -#include "simgrid/s4u/host.hpp" -#include "simgrid/s4u/storage.hpp" +#include "simgrid/s4u/Engine.hpp" +#include "simgrid/s4u/Host.hpp" +#include "simgrid/s4u/Storage.hpp" #include "simgrid/simix.hpp" #include "src/kernel/routing/NetPoint.hpp" #include "src/msg/msg_private.h" @@ -23,8 +23,6 @@ XBT_LOG_EXTERNAL_CATEGORY(surf_route); -std::map host_list; // FIXME: move it to Engine - int USER_HOST_LEVEL = -1; namespace simgrid { @@ -35,6 +33,8 @@ template class Extendable; namespace s4u { +std::map host_list; // FIXME: move it to Engine + simgrid::xbt::signal Host::onCreation; simgrid::xbt::signal Host::onDestruction; simgrid::xbt::signal Host::onStateChange; @@ -69,7 +69,7 @@ Host::~Host() */ void Host::destroy() { - if (!currentlyDestroying_) { + if (not currentlyDestroying_) { currentlyDestroying_ = true; onDestruction(*this); host_list.erase(name_); @@ -127,6 +127,20 @@ int Host::pstatesCount() const { return this->pimpl_cpu->getNbPStates(); } +/** + * \brief Return the list of actors attached to an host. + * + * \param whereto a vector in which we should push actors living on that host + */ +void Host::actorList(std::vector* whereto) +{ + smx_actor_t actor = NULL; + xbt_swag_foreach(actor, this->extension()->process_list) + { + whereto->push_back(actor->ciface()); + } +} + /** * \brief Find a route toward another host *