]> AND Public Git Repository - simgrid.git/blobdiff - src/kernel/routing/NetZoneImpl.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics
[simgrid.git] / src / kernel / routing / NetZoneImpl.cpp
index bd7ec012832428b33dba48cecfbb5fe35716a945..6e5038ae0dc903f727e78e1e7c48324cc9dad780 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2006-2021. 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. */
@@ -65,41 +65,23 @@ int NetZoneImpl::get_host_count() const
   return count;
 }
 
-s4u::Link* NetZoneImpl::create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
-                                    s4u::Link::SharingPolicy policy,
-                                    const std::unordered_map<std::string, std::string>* props)
+s4u::Link* NetZoneImpl::create_link(const std::string& name, const std::vector<double>& bandwidths,
+                                    s4u::Link::SharingPolicy policy)
 {
-  static double last_warned_latency = sg_surf_precision;
-  if (latency != 0.0 && 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\".",
-             name.c_str(), latency, sg_surf_precision, latency);
-    last_warned_latency = latency;
-  }
-
-  auto* l = surf_network_model->create_link(name, bandwidths, latency, policy);
-
-  if (props)
-    l->set_properties(*props);
+  auto* l = surf_network_model->create_link(name, bandwidths, policy);
 
   return l->get_iface();
 }
+
 s4u::Host* NetZoneImpl::create_host(const std::string& name, const std::vector<double>& speed_per_pstate,
-                                    int coreAmount, const std::unordered_map<std::string, std::string>* props)
+                                    int core_amount)
 {
-  auto* res = new s4u::Host(name);
-
   if (hierarchy_ == RoutingMode::unset)
     hierarchy_ = RoutingMode::base;
 
-  res->set_netpoint(new NetPoint(name, NetPoint::Type::Host, this));
-
-  surf_cpu_model_pm->create_cpu(res, speed_per_pstate, coreAmount);
+  auto* res = (new s4u::Host(name))->set_netpoint(new NetPoint(name, NetPoint::Type::Host, this));
 
-  if (props != nullptr)
-    res->set_properties(*props);
-
-  s4u::Host::on_creation(*res); // notify the signal
+  surf_cpu_model_pm->create_cpu(res, speed_per_pstate, core_amount);
 
   return res;
 }
@@ -310,35 +292,29 @@ bool NetZoneImpl::get_bypass_route(NetPoint* src, NetPoint* dst,
   /* (3) Search for a bypass making the path up to the ancestor useless */
   const BypassRoute* bypassedRoute = nullptr;
   std::pair<kernel::routing::NetPoint*, kernel::routing::NetPoint*> key;
-  for (int max = 0; max <= max_index; max++) {
-    for (int i = 0; i < max; i++) {
+  for (int max = 0; max <= max_index && not bypassedRoute; max++) {
+    for (int i = 0; i < max && not bypassedRoute; i++) {
       if (i <= max_index_src && max <= max_index_dst) {
         key = {path_src.at(i)->netpoint_, path_dst.at(max)->netpoint_};
         auto bpr = bypass_routes_.find(key);
         if (bpr != bypass_routes_.end()) {
           bypassedRoute = bpr->second;
-          break;
         }
       }
-      if (max <= max_index_src && i <= max_index_dst) {
+      if (not bypassedRoute && max <= max_index_src && i <= max_index_dst) {
         key = {path_src.at(max)->netpoint_, path_dst.at(i)->netpoint_};
         auto bpr = bypass_routes_.find(key);
         if (bpr != bypass_routes_.end()) {
           bypassedRoute = bpr->second;
-          break;
         }
       }
     }
 
-    if (bypassedRoute)
-      break;
-
-    if (max <= max_index_src && max <= max_index_dst) {
+    if (not bypassedRoute && max <= max_index_src && max <= max_index_dst) {
       key = {path_src.at(max)->netpoint_, path_dst.at(max)->netpoint_};
       auto bpr = bypass_routes_.find(key);
       if (bpr != bypass_routes_.end()) {
         bypassedRoute = bpr->second;
-        break;
       }
     }
   }