X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/85728cf0443286ae07059efa9af1d645b7ed5f8c..46f56109cc64b4b1618f7bbdc2762d0c8b9f5100:/include/simgrid/s4u/Host.hpp diff --git a/include/simgrid/s4u/Host.hpp b/include/simgrid/s4u/Host.hpp index 164da062a7..30797f2302 100644 --- a/include/simgrid/s4u/Host.hpp +++ b/include/simgrid/s4u/Host.hpp @@ -25,14 +25,15 @@ namespace s4u { * * @tableofcontents * - * An host represents some physical resource with computing and networking capabilities. + * Some physical resource with computing and networking capabilities on which Actors execute. * * All hosts are automatically created during the call of the method - * @ref simgrid::s4u::Engine::loadPlatform(). + * @ref simgrid::s4u::Engine::load_platform(). * You cannot create a host yourself. * - * You can retrieve a particular host using simgrid::s4u::Host::byName() - * and actors can retrieve the host on which they run using simgrid::s4u::Host::current(). + * You can retrieve a particular host using @ref simgrid::s4u::Host::by_name() + * and actors can retrieve the host on which they run using @ref simgrid::s4u::Host::current() or + * @ref simgrid::s4u::this_actor::get_host(). */ class XBT_PUBLIC Host : public simgrid::xbt::Extendable { friend simgrid::vm::VMModel; // Use the pimpl_cpu to compute the VM sharing @@ -126,22 +127,24 @@ public: { return get_pstate_speed(pstate_index); } -#endif std::vector get_attached_storages() const; XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_attached_storages() instead.") void getAttachedStorages( std::vector* storages); +#endif /** Get an associative list [mount point]->[Storage] of all local mount points. * * This is defined in the platform file, and cannot be modified programatically (yet). */ std::unordered_map const& get_mounted_storages(); +#ifndef DOXYGEN /** @deprecated See Host::get_mounted_storages() */ XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_mounted_storages() instead.") std::unordered_map const& getMountedStorages() { return get_mounted_storages(); } +#endif void route_to(Host* dest, std::vector& links, double* latency); void route_to(Host* dest, std::vector& links, double* latency); @@ -152,6 +155,9 @@ public: * The actor will not be migrated in this case. Such remote execution are easy in simulation. */ void execute(double flops); + /** Start an asynchronous computation on that host (possibly remote) */ + ExecPtr exec_async(double flops_amounts); + /** Block the calling actor on an execution located on the called host (with explicit priority) */ void execute(double flops, double priority); @@ -216,12 +222,14 @@ private: std::unordered_map* mounts_ = nullptr; // caching public: +#ifndef DOXYGEN /** DO NOT USE DIRECTLY (@todo: these should be protected, once our code is clean) */ surf::Cpu* pimpl_cpu = nullptr; // TODO, this could be a unique_ptr surf::HostImpl* pimpl_ = nullptr; /** DO NOT USE DIRECTLY (@todo: these should be protected, once our code is clean) */ kernel::routing::NetPoint* pimpl_netpoint = nullptr; +#endif }; } } // namespace simgrid::s4u