X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2c01336cbfb90976b513b71718a748b3a01a8e6a..acd052f4e734a5580577a6462a6e08c0ea3b5509:/src/surf/network_interface.hpp?ds=sidebyside diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 01a2372c99..4122c5512c 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -7,6 +7,7 @@ #define SURF_NETWORK_INTERFACE_HPP_ #include "simgrid/s4u/Link.hpp" +#include "src/kernel/lmm/maxmin.hpp" #include "src/surf/PropertyHolder.hpp" #include "src/surf/surf_interface.hpp" #include "xbt/base.h" @@ -43,7 +44,7 @@ public: * @param latency The initial latency of the Link in seconds * @param policy The sharing policy of the Link */ - virtual LinkImpl* createLink(const char* name, double bandwidth, double latency, + virtual LinkImpl* createLink(const std::string& name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) = 0; /** @@ -64,7 +65,7 @@ public: * * @param system The lmm_system_t to solve */ - void (*f_networkSolve)(lmm_system_t) = lmm_solve; + void (*f_networkSolve)(lmm_system_t) = simgrid::kernel::lmm::lmm_solve; /** * @brief Get the right multiplicative factor for the latency. @@ -114,7 +115,7 @@ public: */ class LinkImpl : public simgrid::surf::Resource, public simgrid::surf::PropertyHolder { protected: - LinkImpl(simgrid::surf::NetworkModel* model, const char* name, lmm_constraint_t constraint); + LinkImpl(simgrid::surf::NetworkModel* model, const std::string& name, lmm_constraint_t constraint); ~LinkImpl() override; public: @@ -139,7 +140,7 @@ public: virtual void setLatency(double value) = 0; /** @brief The sharing policy is a @{link e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: - * FULLDUPLEX) */ + * SPLITDUPLEX) */ virtual int sharingPolicy(); /** @brief Check if the Link is used */ @@ -171,9 +172,10 @@ private: static std::unordered_map* links; public: - static LinkImpl* byName(const char* name); + static LinkImpl* byName(std::string name); static int linksCount(); static LinkImpl** linksList(); + static void linksList(std::vector* linkList); static void linksExit(); }; @@ -206,12 +208,12 @@ public: : simgrid::surf::Action(model, cost, failed, var){}; void setState(simgrid::surf::Action::State state) override; - std::list links(); + virtual std::list links(); - double latency_; - double latCurrent_; - double weight_; - double rate_; + double latency_ = {}; + double latCurrent_ = {}; + double weight_ = {}; + double rate_ = {}; }; } }