X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/19b3962253112b19308537bc2400de141c119d99..b9d2f7277242a82702b73e4ccdf63aec98855b5e:/include/simgrid/s4u/Engine.hpp?ds=sidebyside diff --git a/include/simgrid/s4u/Engine.hpp b/include/simgrid/s4u/Engine.hpp index 9aab4fe0fa..4b39af125d 100644 --- a/include/simgrid/s4u/Engine.hpp +++ b/include/simgrid/s4u/Engine.hpp @@ -28,13 +28,11 @@ namespace s4u { */ XBT_PUBLIC_CLASS Engine { -private: - ~Engine(); - public: /** Constructor, taking the command line parameters of your main function */ Engine(int* argc, char** argv); + ~Engine(); /** Finalize the default engine and all its dependencies */ static void shutdown(); @@ -58,8 +56,10 @@ public: /** @brief Load a deployment file and launch the actors that it contains */ void loadDeployment(const char* deploy); - size_t hostCount(); - void hostList(std::vector * whereTo); + size_t getHostCount(); + void getHostList(std::vector * whereTo); + size_t getLinkCount(); + void getLinkList(std::vector * list); /** @brief Run the simulation */ void run(); @@ -68,17 +68,17 @@ public: static double getClock(); /** @brief Retrieve the engine singleton */ - static s4u::Engine* instance(); + static s4u::Engine* getInstance(); /** @brief Retrieve the root netzone, containing all others */ - simgrid::s4u::NetZone* netRoot(); + simgrid::s4u::NetZone* getNetRoot(); /** @brief Retrieve the netzone of the given name (or nullptr if not found) */ - simgrid::s4u::NetZone* netzoneByNameOrNull(const char* name); + simgrid::s4u::NetZone* getNetzoneByNameOrNull(const char* name); /** @brief Retrieve the netcard of the given name (or nullptr if not found) */ - simgrid::kernel::routing::NetPoint* netpointByNameOrNull(const char* name); - void netpointList(std::vector * list); + simgrid::kernel::routing::NetPoint* getNetpointByNameOrNull(std::string name); + void getNetpointList(std::vector * list); void netpointRegister(simgrid::kernel::routing::NetPoint * card); void netpointUnregister(simgrid::kernel::routing::NetPoint * card); @@ -102,6 +102,15 @@ public: /** Returns whether SimGrid was initialized yet -- mostly for internal use */ static bool isInitialized(); + /** @brief set a configuration variable + * + * Do --help on any simgrid binary to see the list of currently existing configuration variables (see @ref options). + * + * Example: + * e->setConfig("host/model","ptask_L07"); + */ + void setConfig(std::string str); + simgrid::kernel::EngineImpl* pimpl; private: @@ -117,6 +126,9 @@ extern XBT_PRIVATE xbt::signal onSimulationEnd; /** Callback fired when the time jumps into the future */ extern XBT_PRIVATE xbt::signal onTimeAdvance; + +/** Callback fired when the time cannot jump because of inter-actors deadlock */ +extern XBT_PRIVATE xbt::signal onDeadlock; } } // namespace simgrid::s4u