X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ccafe2d8af6c598a53ab9a6fa588ce39c776555d..6c1fdfa949304917158331410c2e91b0ca1b2e90:/src/surf/network_ib.hpp diff --git a/src/surf/network_ib.hpp b/src/surf/network_ib.hpp index ee3367768e..061498327a 100644 --- a/src/surf/network_ib.hpp +++ b/src/surf/network_ib.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2019. The SimGrid Team. +/* Copyright (c) 2014-2021. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -19,13 +19,10 @@ namespace resource { class XBT_PRIVATE IBNode; -class XBT_PRIVATE ActiveComm { -public: - IBNode* destination; - NetworkAction* action; - double init_rate; - ActiveComm() : destination(nullptr), action(nullptr), init_rate(-1){}; - virtual ~ActiveComm() = default; +struct XBT_PRIVATE ActiveComm { + IBNode* destination = nullptr; + NetworkAction* action = nullptr; + double init_rate = -1; }; class IBNode { @@ -36,28 +33,25 @@ public: // store the number of comms received from each node std::map ActiveCommsDown; // number of comms the node is receiving - int nbActiveCommsDown; - explicit IBNode(int id) : id(id), nbActiveCommsDown(0){}; - virtual ~IBNode() = default; + int nbActiveCommsDown = 0; + explicit IBNode(int id) : id(id){}; }; class XBT_PRIVATE NetworkIBModel : public NetworkSmpiModel { double Bs; double Be; double ys; - void updateIBfactors_rec(IBNode* root, std::vector& updatedlist); - void computeIBfactors(IBNode* root); + void updateIBfactors_rec(IBNode* root, std::vector& updatedlist) const; + void computeIBfactors(IBNode* root) const; public: - NetworkIBModel(); - explicit NetworkIBModel(const char* name); + explicit NetworkIBModel(std::string name); NetworkIBModel(const NetworkIBModel&) = delete; NetworkIBModel& operator=(const NetworkIBModel&) = delete; - void updateIBfactors(NetworkAction* action, IBNode* from, IBNode* to, int remove); + void updateIBfactors(NetworkAction* action, IBNode* from, IBNode* to, int remove) const; std::unordered_map active_nodes; std::unordered_map> active_comms; - }; } // namespace resource } // namespace kernel