#include "simgrid/s4u/host.hpp"
#include "simgrid/s4u/storage.hpp"
-xbt_dict_t host_list = nullptr; // FIXME: make it a static field of Host
+xbt_dict_t host_list = nullptr; // FIXME: move it to Engine
int MSG_HOST_LEVEL = -1;
int USER_HOST_LEVEL = -1;
Host::Host(const char* name)
: name_(name)
{
+ xbt_assert(sg_host_by_name(name) == nullptr, "Refusing to create a second host named '%s'.", name);
+ xbt_dict_set(host_list, name, this, nullptr);
}
Host::~Host() {
});
return (Host*) xbt_dict_get_or_null(host_list, name);
}
-Host* Host::by_name_or_create(const char* name)
-{
- Host* host = by_name_or_null(name);
- if (host == nullptr) {
- host = new Host(name);
- xbt_dict_set(host_list, name, host, nullptr);
- }
- return host;
-}
Host *Host::current(){
smx_actor_t smx_proc = SIMIX_process_self();