From 13a2073e56f059a44fc91c128ca16aa0cf48e6b2 Mon Sep 17 00:00:00 2001 From: Bruno Donassolo Date: Tue, 25 May 2021 10:35:34 +0200 Subject: [PATCH] Please sonar --- .../network-factors/s4u-network-factors.cpp | 13 ++++--- src/kernel/resource/NetworkModelIntf_test.cpp | 37 ++++++++++--------- src/surf/network_cm02.cpp | 9 +++-- src/surf/network_cm02.hpp | 7 +++- src/surf/network_interface.cpp | 2 +- src/surf/network_interface.hpp | 6 +-- 6 files changed, 40 insertions(+), 34 deletions(-) diff --git a/examples/cpp/network-factors/s4u-network-factors.cpp b/examples/cpp/network-factors/s4u-network-factors.cpp index a5a5c9a8eb..e4235a05b7 100644 --- a/examples/cpp/network-factors/s4u-network-factors.cpp +++ b/examples/cpp/network-factors/s4u-network-factors.cpp @@ -52,7 +52,7 @@ constexpr static double LATENCY = .1e-6; /*************************************************************************************************/ /** @brief Create a simple platform based on Dahu cluster */ -static void load_platform(const sg4::Engine& e) +static void load_platform() { /** * Inspired on dahu cluster on Grenoble @@ -67,12 +67,13 @@ static void load_platform(const sg4::Engine& e) */ auto* root = sg4::create_star_zone("dahu"); - std::string prefix = "dahu-", suffix = ".grid5000.fr"; + std::string prefix = "dahu-"; + std::string suffix = ".grid5000.fr"; for (int id = 0; id < 32; id++) { std::string hostname = prefix + std::to_string(id) + suffix; /* create host */ - sg4::Host* host = root->create_host(hostname, 1)->set_core_count(32)->seal(); + const sg4::Host* host = root->create_host(hostname, 1)->set_core_count(32)->seal(); /* create UP/DOWN link */ sg4::Link* l_up = root->create_link(hostname + "_up", BW_REMOTE)->set_latency(LATENCY)->seal(); sg4::Link* l_down = root->create_link(hostname + "_down", BW_REMOTE)->set_latency(LATENCY)->seal(); @@ -179,7 +180,7 @@ public: /* Create a communication representing the ongoing communication */ auto mbox = sg4::Mailbox::by_name(host->get_name()); auto* payload = new std::string(msg); - mbox->put(payload, size); + mbox->put(payload, static_cast(size)); } } @@ -212,10 +213,10 @@ int main(int argc, char* argv[]) { sg4::Engine e(&argc, argv); /* setting network model to default one */ - e.set_config("network/model:CM02"); + sg4::Engine::set_config("network/model:CM02"); /* create platform */ - load_platform(e); + load_platform(); /* setting network factors callbacks */ simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model(); model->set_lat_factor_cb(latency_factor_cb); diff --git a/src/kernel/resource/NetworkModelIntf_test.cpp b/src/kernel/resource/NetworkModelIntf_test.cpp index b4eb9f39ab..e7c8460c53 100644 --- a/src/kernel/resource/NetworkModelIntf_test.cpp +++ b/src/kernel/resource/NetworkModelIntf_test.cpp @@ -20,16 +20,16 @@ TEST_CASE("kernel::resource::NetworkModelIntf: Factors invalid callbacks: except for (const auto& model : std::vector{"LV08", "SMPI", "IB", "CM02"}) { _sg_cfg_init_status = 0; /* HACK: clear config global to be able to do set_config in UTs */ simgrid::s4u::Engine e("test"); - e.set_config("network/model:" + model); + simgrid::s4u::Engine::set_config("network/model:" + model); simgrid::s4u::create_full_zone("root"); SECTION("Model: " + model) { - simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model(); - REQUIRE_THROWS_AS(model->set_lat_factor_cb({}), std::invalid_argument); - REQUIRE_THROWS_AS(model->set_lat_factor_cb(nullptr), std::invalid_argument); - REQUIRE_THROWS_AS(model->set_bw_factor_cb({}), std::invalid_argument); - REQUIRE_THROWS_AS(model->set_bw_factor_cb(nullptr), std::invalid_argument); + 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); } } } @@ -39,16 +39,16 @@ TEST_CASE("kernel::resource::NetworkModelIntf: Invalid network/latency-factor an for (const auto& model : std::vector{"LV08", "CM02"}) { _sg_cfg_init_status = 0; /* HACK: clear config global to be able to do set_config in UTs */ simgrid::s4u::Engine e("test"); - e.set_config("network/model:" + model); - e.set_config("network/latency-factor:10"); - e.set_config("network/bandwidth-factor:0.3"); + simgrid::s4u::Engine::set_config("network/model:" + model); + simgrid::s4u::Engine::set_config("network/latency-factor:10"); + simgrid::s4u::Engine::set_config("network/bandwidth-factor:0.3"); simgrid::s4u::create_full_zone("root"); SECTION("Model: " + model) { - simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model(); - REQUIRE_THROWS_AS(model->set_lat_factor_cb(factor_cb), std::invalid_argument); - REQUIRE_THROWS_AS(model->set_bw_factor_cb(factor_cb), std::invalid_argument); + 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); } } } @@ -58,16 +58,17 @@ TEST_CASE("kernel::resource::NetworkModelIntf: Invalid smpi/lat-factor and smpi/ for (const auto& model : std::vector{"SMPI", "IB"}) { _sg_cfg_init_status = 0; /* HACK: clear config global to be able to do set_config in UTs */ simgrid::s4u::Engine e("test"); - e.set_config("network/model:" + model); - e.set_config("smpi/lat-factor:65472:0.940694;15424:0.697866;9376:0.58729;5776:1.08739;3484:0.77493"); - e.set_config("smpi/bw-factor:65472:11.6436;15424:3.48845"); + simgrid::s4u::Engine::set_config("network/model:" + model); + simgrid::s4u::Engine::set_config( + "smpi/lat-factor:65472:0.940694;15424:0.697866;9376:0.58729;5776:1.08739;3484:0.77493"); + simgrid::s4u::Engine::set_config("smpi/bw-factor:65472:11.6436;15424:3.48845"); simgrid::s4u::create_full_zone("root"); SECTION("Model: " + model) { - simgrid::kernel::resource::NetworkModelIntf* model = e.get_netzone_root()->get_network_model(); - REQUIRE_THROWS_AS(model->set_lat_factor_cb(factor_cb), std::invalid_argument); - REQUIRE_THROWS_AS(model->set_bw_factor_cb(factor_cb), std::invalid_argument); + 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); } } } diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index e29374915e..dc4afd650a 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -200,12 +200,13 @@ void NetworkCm02Model::update_actions_state_full(double /*now*/, double delta) } void NetworkCm02Model::comm_action_expand_constraints(const s4u::Host* src, const s4u::Host* dst, - NetworkCm02Action* action, const std::vector& route, - const std::vector& back_route) + const NetworkCm02Action* action, + const std::vector& route, + const std::vector& back_route) const { /* expand route links constraints for route and back_route */ - NetworkWifiLink* src_wifi_link = nullptr; - NetworkWifiLink* dst_wifi_link = nullptr; + const NetworkWifiLink* src_wifi_link = nullptr; + const NetworkWifiLink* dst_wifi_link = nullptr; if (not route.empty() && route.front()->get_sharing_policy() == s4u::Link::SharingPolicy::WIFI) { src_wifi_link = static_cast(route.front()); } diff --git a/src/surf/network_cm02.hpp b/src/surf/network_cm02.hpp index 0cf669d2ee..390e3b595f 100644 --- a/src/surf/network_cm02.hpp +++ b/src/surf/network_cm02.hpp @@ -38,8 +38,9 @@ class NetworkCm02Model : public NetworkModel { NetworkCm02Action* comm_action_create(s4u::Host* src, s4u::Host* dst, double size, const std::vector& route, bool failed); /** @brief Expand link contraint considering this new communication action */ - void comm_action_expand_constraints(const s4u::Host* src, const s4u::Host* dst, NetworkCm02Action* action, - const std::vector& route, const std::vector& back_route); + void comm_action_expand_constraints(const s4u::Host* src, const s4u::Host* dst, const NetworkCm02Action* action, + const std::vector& route, + const std::vector& back_route) const; /** @brief Set communication bounds for latency and bandwidth */ void comm_action_set_bounds(const s4u::Host* src, const s4u::Host* dst, double size, NetworkCm02Action* action, const std::vector& route, @@ -61,6 +62,8 @@ public: protected: virtual void check_lat_factor_cb(); virtual void check_bw_factor_cb(); + +private: std::function lat_factor_cb_; std::function bw_factor_cb_; }; diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index d4e4eb0ba4..69e392a121 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -52,7 +52,7 @@ double NetworkModel::next_occurring_event_full(double now) return minRes; } -double NetworkModel::get_bandwidth_constraint(double rate, double bound, double size) +double NetworkModel::get_bandwidth_constraint(double rate, double bound, double /* size */) const { return rate < 0 ? bound : std::min(bound, rate); } diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 88f9351da8..8c643c7bb9 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -94,12 +94,12 @@ public: * @param size The size of the message. * @return The new bandwidth. */ - double get_bandwidth_constraint(double rate, double bound, double size); + double get_bandwidth_constraint(double rate, double bound, double size) const; double next_occurring_event_full(double now) override; - virtual void set_lat_factor_cb(const std::function& cb) override { THROW_UNIMPLEMENTED; } - virtual void set_bw_factor_cb(const std::function& cb) override { THROW_UNIMPLEMENTED; } + void set_lat_factor_cb(const std::function& cb) override { THROW_UNIMPLEMENTED; } + void set_bw_factor_cb(const std::function& cb) override { THROW_UNIMPLEMENTED; } LinkImpl* loopback_ = nullptr; }; -- 2.20.1