- if (surf_network_model)
- return;
-
- surf_network_model = new simgrid::surf::NetworkIBModel();
- all_existing_models->push_back(surf_network_model);
- simgrid::s4u::Link::onCommunicationStateChange.connect(IB_action_state_changed_callback);
- simgrid::s4u::Link::onCommunicate.connect(IB_action_init_callback);
- simgrid::s4u::Host::onCreation.connect(IB_create_host_callback);
- xbt_cfg_setdefault_double("network/weight-S", 8775);
-
+ auto net_model = std::make_shared<simgrid::kernel::resource::NetworkIBModel>("Network_IB");
+ simgrid::kernel::EngineImpl::get_instance()->add_model(net_model);
+ simgrid::s4u::Engine::get_instance()->get_netzone_root()->get_impl()->set_network_model(net_model);
+
+ simgrid::s4u::Link::on_communication_state_change.connect(IB_action_state_changed_callback);
+ simgrid::s4u::Link::on_communicate.connect(IB_action_init_callback);
+ simgrid::s4u::Host::on_creation.connect(IB_create_host_callback);
+ simgrid::config::set_default<double>("network/weight-S", 8775);