From: Arnaud Giersch Date: Mon, 15 Apr 2019 12:09:37 +0000 (+0200) Subject: [sonar] Remove custom destructors for surf/network_ib. X-Git-Tag: v3.22.2~121 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/ccafe2d8af6c598a53ab9a6fa588ce39c776555d?hp=41e07e98c29549b7f6a5702e548a0e4d0b0e31b2;ds=inline [sonar] Remove custom destructors for surf/network_ib. --- diff --git a/src/surf/network_ib.cpp b/src/surf/network_ib.cpp index fa94194f0c..66cc73017b 100644 --- a/src/surf/network_ib.cpp +++ b/src/surf/network_ib.cpp @@ -20,10 +20,9 @@ static void IB_create_host_callback(simgrid::s4u::Host const& host) using simgrid::kernel::resource::NetworkIBModel; static int id=0; - IBNode* act = new IBNode(id); + ((NetworkIBModel*)surf_network_model)->active_nodes.emplace(host.get_name(), IBNode(id)); id++; - ((NetworkIBModel*)surf_network_model)->active_nodes.insert({host.get_name(), act}); } static void IB_action_state_changed_callback(simgrid::kernel::resource::NetworkAction& action, @@ -46,25 +45,10 @@ static void IB_action_init_callback(simgrid::kernel::resource::NetworkAction& ac simgrid::s4u::Host* dst) { simgrid::kernel::resource::NetworkIBModel* ibModel = (simgrid::kernel::resource::NetworkIBModel*)surf_network_model; - simgrid::kernel::resource::IBNode* act_src; - simgrid::kernel::resource::IBNode* act_dst; - - auto asrc = ibModel->active_nodes.find(src->get_name()); - if (asrc != ibModel->active_nodes.end()) { - act_src = asrc->second; - } else { - throw std::out_of_range(std::string("Could not find '") + src->get_cname() + "' active comms !"); - } - - auto adst = ibModel->active_nodes.find(dst->get_name()); - if (adst != ibModel->active_nodes.end()) { - act_dst = adst->second; - } else { - throw std::out_of_range(std::string("Could not find '") + dst->get_cname() + "' active comms !"); - } + simgrid::kernel::resource::IBNode* act_src = &ibModel->active_nodes.at(src->get_name()); + simgrid::kernel::resource::IBNode* act_dst = &ibModel->active_nodes.at(dst->get_name()); ibModel->active_comms[&action] = std::make_pair(act_src, act_dst); - ibModel->updateIBfactors(&action, act_src, act_dst, 0); } @@ -127,12 +111,6 @@ NetworkIBModel::NetworkIBModel() : NetworkSmpiModel() } } -NetworkIBModel::~NetworkIBModel() -{ - for (auto const& instance : active_nodes) - delete instance.second; -} - void NetworkIBModel::computeIBfactors(IBNode* root) { double num_comm_out = static_cast(root->ActiveCommsUp.size()); diff --git a/src/surf/network_ib.hpp b/src/surf/network_ib.hpp index a90f8abc16..ee3367768e 100644 --- a/src/surf/network_ib.hpp +++ b/src/surf/network_ib.hpp @@ -53,10 +53,9 @@ public: explicit NetworkIBModel(const char* name); NetworkIBModel(const NetworkIBModel&) = delete; NetworkIBModel& operator=(const NetworkIBModel&) = delete; - ~NetworkIBModel() override; void updateIBfactors(NetworkAction* action, IBNode* from, IBNode* to, int remove); - std::unordered_map active_nodes; + std::unordered_map active_nodes; std::unordered_map> active_comms; };