-/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2020. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
}
/** @brief Add a host to the current AS */
-void sg_platf_new_host(simgrid::kernel::routing::HostCreationArgs* args)
+void sg_platf_new_host(const simgrid::kernel::routing::HostCreationArgs* args)
{
std::map<std::string, std::string> props;
if (args->properties) {
simgrid::s4u::Host* host =
routing_get_current()->create_host(args->id, args->speed_per_pstate, args->core_amount, &props);
- host->pimpl_->storage_ = mount_list;
+ host->pimpl_->set_storages(mount_list);
mount_list.clear();
- host->pimpl_->disks_ = std::move(args->disks);
- for (auto d : host->pimpl_->disks_)
- d->set_host(host);
+ host->pimpl_->set_disks(args->disks, host);
/* Change from the defaults */
if (args->state_trace)
static void sg_platf_new_link(const simgrid::kernel::routing::LinkCreationArgs* link, const std::string& link_name)
{
+ static double last_warned_latency = sg_surf_precision;
+ if (link->latency != 0.0 && link->latency < last_warned_latency) {
+ XBT_WARN("Latency for link %s is smaller than surf/precision (%g < %g)."
+ " For more accuracy, consider setting \"--cfg=surf/precision:%g\".",
+ link_name.c_str(), link->latency, sg_surf_precision, link->latency);
+ last_warned_latency = link->latency;
+ }
simgrid::kernel::resource::LinkImpl* l =
surf_network_model->create_link(link_name, link->bandwidths, link->latency, link->policy);
}
xbt_die("%s", msg.c_str());
}
- const simgrid::simix::ActorCodeFactory& factory = SIMIX_get_actor_code_factory(actor->function);
+ const simgrid::kernel::actor::ActorCodeFactory& factory =
+ simgrid::kernel::EngineImpl::get_instance()->get_function(actor->function);
xbt_assert(factory, "Error while creating an actor from the XML file: Function '%s' not registered", actor->function);
double start_time = actor->start_time;
bool auto_restart = actor->restart_on_failure;
std::string actor_name = actor->args[0];
- simgrid::simix::ActorCode code = factory(std::move(actor->args));
+ simgrid::kernel::actor::ActorCode code = factory(std::move(actor->args));
std::shared_ptr<std::unordered_map<std::string, std::string>> properties(actor->properties);
simgrid::kernel::actor::ProcessArg* arg =