X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0f59720c71f842e5ac1da02aa4db5832327b2b94..4e1034f2699881431dbd65b0d4d1af6131a60302:/src/surf/network_ib.hpp diff --git a/src/surf/network_ib.hpp b/src/surf/network_ib.hpp index b98bbcfb96..df41a8873a 100644 --- a/src/surf/network_ib.hpp +++ b/src/surf/network_ib.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2015. The SimGrid Team. +/* Copyright (c) 2014-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,9 +7,11 @@ #ifndef SURF_NETWORK_IB_HPP_ #define SURF_NETWORK_IB_HPP_ -#include +#include "src/surf/network_smpi.hpp" +#include "xbt/base.h" -#include "network_smpi.hpp" +#include +#include namespace simgrid { namespace surf { @@ -22,8 +24,8 @@ namespace simgrid { IBNode* destination; NetworkAction *action; double init_rate; - ActiveComm() : destination(NULL),action(NULL),init_rate(-1){}; - ~ActiveComm(){}; + ActiveComm() : destination(nullptr),action(nullptr),init_rate(-1){}; + virtual ~ActiveComm() = default; }; class IBNode{ @@ -36,12 +38,12 @@ namespace simgrid { //number of comms the node is receiving int nbActiveCommsDown; explicit IBNode(int id) : id(id),nbActiveCommsDown(0){}; - ~IBNode(){}; + virtual ~IBNode() = default; }; class XBT_PRIVATE NetworkIBModel : public NetworkSmpiModel { private: - void updateIBfactors_rec(IBNode *root, bool* updatedlist); + void updateIBfactors_rec(IBNode* root, std::vector& updatedlist); void computeIBfactors(IBNode *root); public: NetworkIBModel(); @@ -49,8 +51,8 @@ namespace simgrid { ~NetworkIBModel() override; void updateIBfactors(NetworkAction *action, IBNode *from, IBNode * to, int remove); - xbt_dict_t active_nodes; - std::map > active_comms; + std::unordered_map active_nodes; + std::unordered_map> active_comms; double Bs; double Be;