/** @brief Load a deployment file and launch the actors that it contains */
void loadDeployment(const char* deploy);
+protected:
+ friend s4u::Host;
+ void addHost(std::string name, simgrid::s4u::Host * host);
+ void delHost(std::string name);
+
+public:
+ simgrid::s4u::Host* hostByName(std::string name);
+ simgrid::s4u::Host* hostByNameOrNull(std::string name);
size_t getHostCount();
void getHostList(std::vector<Host*> * whereTo);
+ size_t getLinkCount();
+ void getLinkList(std::vector<Link*> * list);
/** @brief Run the simulation */
void run();
simgrid::s4u::NetZone* getNetzoneByNameOrNull(const char* name);
/** @brief Retrieve the netcard of the given name (or nullptr if not found) */
- simgrid::kernel::routing::NetPoint* getNetpointByNameOrNull(const char* name);
+ simgrid::kernel::routing::NetPoint* getNetpointByNameOrNull(std::string name);
void getNetpointList(std::vector<simgrid::kernel::routing::NetPoint*> * list);
void netpointRegister(simgrid::kernel::routing::NetPoint * card);
void netpointUnregister(simgrid::kernel::routing::NetPoint * card);
/** Callback fired when the platform is created (ie, the xml file parsed),
* right before the actual simulation starts. */
-extern XBT_PRIVATE xbt::signal<void()> onPlatformCreated;
+extern XBT_PUBLIC(xbt::signal<void()>) onPlatformCreated;
/** Callback fired when the main simulation loop ends, just before MSG_run (or similar) ends */
-extern XBT_PRIVATE xbt::signal<void()> onSimulationEnd;
+extern XBT_PUBLIC(xbt::signal<void()>) onSimulationEnd;
/** Callback fired when the time jumps into the future */
-extern XBT_PRIVATE xbt::signal<void(double)> onTimeAdvance;
+extern XBT_PUBLIC(xbt::signal<void(double)>) onTimeAdvance;
+
+/** Callback fired when the time cannot jump because of inter-actors deadlock */
+extern XBT_PUBLIC(xbt::signal<void(void)>) onDeadlock;
}
} // namespace simgrid::s4u