Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rename NetworkModelIntf into NetworkModelFactors
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 23 Oct 2022 21:55:51 +0000 (23:55 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 23 Oct 2022 21:55:51 +0000 (23:55 +0200)
docs/source/tuto_network_calibration/dahu_platform_ckmeans.cpp
docs/source/tuto_network_calibration/dahu_platform_dhist.cpp
include/simgrid/forward.h
include/simgrid/s4u/NetZone.hpp
src/kernel/resource/NetworkModel.hpp
src/kernel/resource/NetworkModelFactors.cpp
src/kernel/resource/NetworkModelFactors.hpp
src/kernel/resource/NetworkModelFactors_test.cpp
src/s4u/s4u_Netzone.cpp

index dc7f1f1..031d5e5 100644 (file)
@@ -8,7 +8,6 @@
 #include <boost/property_tree/ptree.hpp>
 #include <map>
 #include <random>
-#include <simgrid/kernel/resource/NetworkModelIntf.hpp>
 #include <simgrid/s4u.hpp>
 #include <smpi/smpi.h>
 namespace sg4 = simgrid::s4u;
@@ -119,15 +118,15 @@ void load_platform(const sg4::Engine& e)
   static std::mt19937 gen(42); // remove it from stack, since we need it after this this load_platform function is over
 
   /* setting network factors callbacks */
-  simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model();
+  auto zone = e.get_netzone_root();
 
   SegmentedRegression seg = read_json_file("pingpong_ckmeans.json", gen, false);
-  model->set_lat_factor_cb(std::bind(&latency_factor_cb, lat_base, seg, std::placeholders::_1, std::placeholders::_2,
-                                     std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
-
-  model->set_bw_factor_cb(std::bind(&bw_factor_cb, bw_base, seg, std::placeholders::_1, std::placeholders::_2,
+  zone->set_lat_factor_cb(std::bind(&latency_factor_cb, lat_base, seg, std::placeholders::_1, std::placeholders::_2,
                                     std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
 
+  zone->set_bw_factor_cb(std::bind(&bw_factor_cb, bw_base, seg, std::placeholders::_1, std::placeholders::_2,
+                                   std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
+
   seg = read_json_file("send_ckmeans.json", gen);
   smpi_register_op_cost_callback(SmpiOperation::SEND, std::bind(&smpi_cost_cb, seg, std::placeholders::_1,
                                                                 std::placeholders::_2, std::placeholders::_3));
index 38f7e75..9f596fb 100644 (file)
@@ -8,7 +8,6 @@
 #include <boost/property_tree/ptree.hpp>
 #include <map>
 #include <random>
-#include <simgrid/kernel/resource/NetworkModelIntf.hpp>
 #include <simgrid/s4u.hpp>
 #include <smpi/smpi.h>
 namespace sg4 = simgrid::s4u;
@@ -125,14 +124,14 @@ void load_platform(const sg4::Engine& e)
   static std::mt19937 gen(42); // remove it from stack, since we need it after this this load_platform function is over
 
   /* setting network factors callbacks */
-  simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model();
-  SegmentedRegression seg                            = read_json_file("pingpong_dhist.json", gen, false);
-  model->set_lat_factor_cb(std::bind(&latency_factor_cb, lat_base, seg, std::placeholders::_1, std::placeholders::_2,
-                                     std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
-
-  model->set_bw_factor_cb(std::bind(&bw_factor_cb, bw_base, seg, std::placeholders::_1, std::placeholders::_2,
+  auto* zone              = e.get_netzone_root();
+  SegmentedRegression seg = read_json_file("pingpong_dhist.json", gen, false);
+  zone->set_lat_factor_cb(std::bind(&latency_factor_cb, lat_base, seg, std::placeholders::_1, std::placeholders::_2,
                                     std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
 
+  zone->set_bw_factor_cb(std::bind(&bw_factor_cb, bw_base, seg, std::placeholders::_1, std::placeholders::_2,
+                                   std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
+
   seg = read_json_file("send_dhist.json", gen);
   smpi_register_op_cost_callback(SmpiOperation::SEND, std::bind(&smpi_cost_cb, seg, std::placeholders::_1,
                                                                 std::placeholders::_2, std::placeholders::_3));
index 9b81d2a..7cc1565 100644 (file)
@@ -183,7 +183,6 @@ class CpuModel;
 class HostImpl;
 class HostModel;
 class NetworkModel;
-class NetworkModelIntf;
 class LinkImpl;
 class StandardLinkImpl;
 class SplitDuplexLinkImpl;
index 361cf4f..fb0576f 100644 (file)
@@ -143,7 +143,7 @@ public:
   s4u::SplitDuplexLink* create_split_duplex_link(const std::string& name, const std::string& bandwidth);
   s4u::SplitDuplexLink* create_split_duplex_link(const std::string& name, double bandwidth);
 
-  kernel::resource::NetworkModelIntf* get_network_model() const;
+  kernel::resource::NetworkModel* get_network_model() const;
 
   /**
    * @brief Make a router within that NetZone
index 76aa5e6..636387c 100644 (file)
@@ -22,7 +22,7 @@ namespace simgrid::kernel::resource {
  * @brief SURF network model interface class
  * @details A model is an object which handles the interactions between its Resources and its Actions
  */
-class NetworkModel : public Model, public NetworkModelIntf {
+class NetworkModel : public Model, public NetworkModelFactors {
 public:
   static config::Flag<double> cfg_tcp_gamma;
   static config::Flag<bool> cfg_crosstraffic;
index 28f3d75..5037d46 100644 (file)
@@ -73,7 +73,7 @@ double NetworkModelFactors::get_bandwidth_factor(double size, const s4u::Host* s
 }
 #endif
 
-void NetworkModelIntf::set_lat_factor_cb(const std::function<NetworkFactorCb>& cb)
+void NetworkModelFactors::set_lat_factor_cb(const std::function<NetworkFactorCb>& cb)
 {
   if (not cb)
     throw std::invalid_argument("NetworkModelFactors: Invalid callback");
@@ -83,7 +83,7 @@ void NetworkModelIntf::set_lat_factor_cb(const std::function<NetworkFactorCb>& c
   lat_factor_cb_ = cb;
 }
 
-void NetworkModelIntf::set_bw_factor_cb(const std::function<NetworkFactorCb>& cb)
+void NetworkModelFactors::set_bw_factor_cb(const std::function<NetworkFactorCb>& cb)
 {
   if (not cb)
     throw std::invalid_argument("NetworkModelFactors: Invalid callback");
index 76aaf22..0a5e755 100644 (file)
@@ -18,7 +18,7 @@ namespace simgrid::kernel::resource {
 /** @ingroup SURF_interface
  * @brief Network Model interface class
  */
-class XBT_PUBLIC NetworkModelIntf {
+class XBT_PUBLIC NetworkModelFactors {
   using NetworkFactorCb = double(double size, const s4u::Host* src, const s4u::Host* dst,
                                  const std::vector<s4u::Link*>& links,
                                  const std::unordered_set<s4u::NetZone*>& netzones);
index ffb7897..27919db 100644 (file)
@@ -16,7 +16,7 @@ static double factor_cb(double, const simgrid::s4u::Host*, const simgrid::s4u::H
   return 1.0;
 }
 
-TEST_CASE("kernel::resource::NetworkModelIntf: Factors invalid callbacks: exception", "")
+TEST_CASE("kernel::resource::NetworkModelFactors: Factors invalid callbacks: exception", "")
 {
   std::vector<std::string> models{"LV08", "CM02"};
 #if HAVE_SMPI
@@ -32,16 +32,16 @@ TEST_CASE("kernel::resource::NetworkModelIntf: Factors invalid callbacks: except
 
     SECTION("Model: " + model)
     {
-      simgrid::kernel::resource::NetworkModelIntf* m = e.get_netzone_root()->get_network_model();
-      REQUIRE_THROWS_AS(m->set_lat_factor_cb({}), std::invalid_argument);
-      REQUIRE_THROWS_AS(m->set_lat_factor_cb(nullptr), std::invalid_argument);
-      REQUIRE_THROWS_AS(m->set_bw_factor_cb({}), std::invalid_argument);
-      REQUIRE_THROWS_AS(m->set_bw_factor_cb(nullptr), std::invalid_argument);
+      auto zone = e.get_netzone_root();
+      REQUIRE_THROWS_AS(zone->set_latency_factor_cb({}), std::invalid_argument);
+      REQUIRE_THROWS_AS(zone->set_latency_factor_cb(nullptr), std::invalid_argument);
+      REQUIRE_THROWS_AS(zone->set_bandwidth_factor_cb({}), std::invalid_argument);
+      REQUIRE_THROWS_AS(zone->set_bandwidth_factor_cb(nullptr), std::invalid_argument);
     }
   }
 }
 
-TEST_CASE("kernel::resource::NetworkModelIntf: Invalid network/latency-factor and network/bandwidth-factor", "")
+TEST_CASE("kernel::resource::NetworkModelFactors: Invalid network/latency-factor and network/bandwidth-factor", "")
 {
   std::vector<std::string> models{"LV08", "CM02"};
 #if HAVE_SMPI
@@ -59,9 +59,9 @@ TEST_CASE("kernel::resource::NetworkModelIntf: Invalid network/latency-factor an
 
     SECTION("Model: " + model)
     {
-      simgrid::kernel::resource::NetworkModelIntf* m = e.get_netzone_root()->get_network_model();
-      REQUIRE_THROWS_AS(m->set_lat_factor_cb(factor_cb), std::invalid_argument);
-      REQUIRE_THROWS_AS(m->set_bw_factor_cb(factor_cb), std::invalid_argument);
+      auto zone = e.get_netzone_root();
+      REQUIRE_THROWS_AS(zone->set_latency_factor_cb(factor_cb), std::invalid_argument);
+      REQUIRE_THROWS_AS(zone->set_bandwidth_factor_cb(factor_cb), std::invalid_argument);
     }
   }
 }
index ec5b427..f1ebe44 100644 (file)
@@ -208,10 +208,9 @@ kernel::routing::NetPoint* NetZone::get_netpoint()
   return pimpl_->get_netpoint();
 }
 
-kernel::resource::NetworkModelIntf* NetZone::get_network_model() const
+kernel::resource::NetworkModel* NetZone::get_network_model() const
 {
-  kernel::resource::NetworkModelIntf* model = pimpl_->get_network_model().get();
-  return model;
+  return pimpl_->get_network_model().get();
 }
 } // namespace simgrid::s4u