X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/99cc570bb5718475bd7b0bca233503b1ffbc9135..ab71da4cf3e28f55f7aef47f5299519135429872:/src/surf/network_cm02.cpp diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index 8d1b395fe7..c7f15ec492 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -79,9 +79,7 @@ void surf_network_model_init_CM02() engine->get_netzone_root()->set_network_model(net_model); } -namespace simgrid { -namespace kernel { -namespace resource { +namespace simgrid::kernel::resource { NetworkCm02Model::NetworkCm02Model(const std::string& name) : NetworkModel(name) { @@ -97,10 +95,10 @@ NetworkCm02Model::NetworkCm02Model(const std::string& name) : NetworkModel(name) set_maxmin_system(lmm::System::build(cfg_network_solver, select)); - loopback_ = create_link("__loopback__", {config::get_value("network/loopback-bw")}); + loopback_.reset(create_link("__loopback__", {config::get_value("network/loopback-bw")})); loopback_->set_sharing_policy(s4u::Link::SharingPolicy::FATPIPE, {}); loopback_->set_latency(config::get_value("network/loopback-lat")); - loopback_->seal(); + loopback_->get_iface()->seal(); } void NetworkCm02Model::check_lat_factor_cb() @@ -182,13 +180,10 @@ void NetworkCm02Model::update_actions_state_full(double /*now*/, double delta) auto& action = static_cast(*it); ++it; // increment iterator here since the following calls to action.finish() may invalidate it XBT_DEBUG("Something happened to action %p", &action); - double deltap = delta; if (action.latency_ > 0) { - if (action.latency_ > deltap) { - double_update(&action.latency_, deltap, sg_surf_precision); - deltap = 0.0; + if (action.latency_ > delta) { + double_update(&action.latency_, delta, sg_surf_precision); } else { - double_update(&deltap, action.latency_, sg_surf_precision); action.latency_ = 0.0; } if (action.latency_ <= 0.0 && not action.is_suspended()) @@ -583,6 +578,4 @@ void NetworkCm02Action::update_remains_lazy(double now) set_last_value(get_rate()); } -} // namespace resource -} // namespace kernel -} // namespace simgrid +} // namespace simgrid::kernel::resource