Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Wifi model interface:
[simgrid.git] / src / surf / ptask_L07.cpp
index 17dca14..dc1ec58 100644 (file)
@@ -57,7 +57,8 @@ NetworkL07Model::NetworkL07Model(HostL07Model* hmodel, kernel::lmm::System* sys)
     : NetworkModel(Model::UpdateAlgo::FULL), hostModel_(hmodel)
 {
   set_maxmin_system(sys);
-  loopback_ = NetworkL07Model::create_link("__loopback__", 498000000, 0.000015, s4u::Link::SharingPolicy::FATPIPE);
+  loopback_ = NetworkL07Model::create_link("__loopback__", std::vector<double>(1, 498000000), 0.000015,
+                                           s4u::Link::SharingPolicy::FATPIPE);
 }
 
 NetworkL07Model::~NetworkL07Model()
@@ -121,8 +122,8 @@ void HostL07Model::update_actions_state(double /*now*/, double delta)
     kernel::lmm::Constraint* cnst = action.get_variable()->get_constraint(i);
     while (cnst != nullptr) {
       i++;
-      void* constraint_id = cnst->get_id();
-      if (not static_cast<simgrid::kernel::resource::Resource*>(constraint_id)->is_on()) {
+      kernel::resource::Resource* constraint_id = cnst->get_id();
+      if (not constraint_id->is_on()) {
         XBT_DEBUG("Action (%p) Failed!!", &action);
         action.finish(kernel::resource::Action::State::FAILED);
         break;
@@ -224,10 +225,11 @@ kernel::resource::Cpu* CpuL07Model::create_cpu(s4u::Host* host, const std::vecto
   return new CpuL07(this, host, speed_per_pstate, core);
 }
 
-kernel::resource::LinkImpl* NetworkL07Model::create_link(const std::string& name, double bandwidth, double latency,
-                                                         s4u::Link::SharingPolicy policy)
+kernel::resource::LinkImpl* NetworkL07Model::create_link(const std::string& name, std::vector<double> bandwidths,
+                                                         double latency, s4u::Link::SharingPolicy policy)
 {
-  return new LinkL07(this, name, bandwidth, latency, policy);
+  xbt_assert(bandwidths.size() == 1, "Non WIFI link must have only 1 bandwidth.");
+  return new LinkL07(this, name, bandwidths[0], latency, policy);
 }
 
 /************