X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6d417ba5e0856a12a73d784447bbf07cf5fdbf1a..85b9970b238b0cac935a72bca09d62d5fe3c38e8:/include/simgrid/s4u/Engine.hpp
diff --git a/include/simgrid/s4u/Engine.hpp b/include/simgrid/s4u/Engine.hpp
index 8d9477c734..452d152f80 100644
--- a/include/simgrid/s4u/Engine.hpp
+++ b/include/simgrid/s4u/Engine.hpp
@@ -85,11 +85,15 @@ public:
protected:
friend s4u::Host;
+ friend s4u::Link;
friend s4u::Storage;
friend kernel::routing::NetPoint;
friend kernel::routing::NetZoneImpl;
+ friend kernel::resource::LinkImpl;
void host_register(std::string name, simgrid::s4u::Host* host);
void host_unregister(std::string name);
+ void link_register(std::string name, simgrid::s4u::Link* link);
+ void link_unregister(std::string name);
void storage_register(std::string name, simgrid::s4u::Storage* storage);
void storage_unregister(std::string name);
void netpoint_register(simgrid::kernel::routing::NetPoint* card);
@@ -105,6 +109,12 @@ public:
size_t get_link_count();
std::vector get_all_links();
std::vector get_filtered_links(std::function filter);
+ simgrid::s4u::Link* link_by_name(std::string name);
+ simgrid::s4u::Link* link_by_name_or_null(std::string name);
+
+ size_t get_actor_count();
+ std::vector get_all_actors();
+ std::vector get_filtered_actors(std::function filter);
size_t get_storage_count();
std::vector get_all_storages();
@@ -120,10 +130,10 @@ public:
simgrid::s4u::NetZone* netzone_by_name_or_null(const char* name);
/** @brief Retrieves all netzones of the type indicated by the template argument */
- template std::vector filter_netzones_by_type()
+ template std::vector get_filtered_netzones()
{
std::vector res;
- filter_netzones_by_type_recursive(get_netzone_root(), &res);
+ get_filtered_netzones_recursive(get_netzone_root(), &res);
return res;
}
@@ -194,15 +204,13 @@ public:
}
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_host_count()") size_t getHostCount() { return get_host_count(); }
- XBT_ATTRIB_DEPRECATED_v322("Engine::getHostList() is deprecated in favor of Engine::get_all_hosts(). Please switch "
- "before v3.22") void getHostList(std::vector* whereTo);
+ XBT_ATTRIB_DEPRECATED_v322("Please use Engine::get_all_hosts()") void getHostList(std::vector* whereTo);
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_all_hosts()") std::vector getAllHosts()
{
return get_all_hosts();
}
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_link_count()") size_t getLinkCount() { return get_link_count(); }
- XBT_ATTRIB_DEPRECATED_v322("Engine::getLinkList() is deprecated in favor of Engine::get_all_links(). Please "
- "switch before v3.22") void getLinkList(std::vector* list);
+ XBT_ATTRIB_DEPRECATED_v322("Please use Engine::get_all_links()") void getLinkList(std::vector* list);
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_link_list()") std::vector getAllLinks()
{
return get_all_links();
@@ -214,8 +222,7 @@ public:
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_clock()") static double getClock() { return get_clock(); }
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_all_netpoints()") void getNetpointList(
std::vector* list);
- XBT_ATTRIB_DEPRECATED_v323("Please use Engine::netpoint_by_name_or_null()")
- simgrid::kernel::routing::NetPoint* getNetpointByNameOrNull(std::string name)
+ XBT_ATTRIB_DEPRECATED_v323("Please use Engine::netpoint_by_name_or_null()") simgrid::kernel::routing::NetPoint* getNetpointByNameOrNull(std::string name)
{
return netpoint_by_name_or_null(name);
}
@@ -223,8 +230,7 @@ public:
{
return get_netzone_root();
}
- XBT_ATTRIB_DEPRECATED_v323(
- "Please use Engine::netzone_by_name_or_null()") simgrid::s4u::NetZone* getNetzoneByNameOrNull(const char* name)
+ XBT_ATTRIB_DEPRECATED_v323("Please use Engine::netzone_by_name_or_null()") simgrid::s4u::NetZone* getNetzoneByNameOrNull(const char* name)
{
return netzone_by_name_or_null(name);
}
@@ -232,7 +238,7 @@ public:
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::filter_netzones_by_type()") void getNetzoneByType(
std::vector* whereto)
{
- filter_netzones_by_type_recursive(get_netzone_root(), whereto);
+ get_filtered_netzones_recursive(get_netzone_root(), whereto);
}
XBT_ATTRIB_DEPRECATED_v323("Please use Engine::get_instance()") static s4u::Engine* getInstance()
@@ -263,10 +269,10 @@ extern XBT_PUBLIC xbt::signal on_time_advance;
/** Callback fired when the time cannot jump because of inter-actors deadlock */
extern XBT_PUBLIC xbt::signal on_deadlock;
-template XBT_PRIVATE void filter_netzones_by_type_recursive(s4u::NetZone* current, std::vector* whereto)
+template XBT_PRIVATE void get_filtered_netzones_recursive(s4u::NetZone* current, std::vector* whereto)
{
- for (auto const& elem : *(current->getChildren())) {
- filter_netzones_by_type_recursive(elem, whereto);
+ for (auto const& elem : *(current->get_children())) {
+ get_filtered_netzones_recursive(elem, whereto);
if (elem == dynamic_cast(elem))
whereto->push_back(dynamic_cast(elem));
}