X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/19b3962253112b19308537bc2400de141c119d99..02fbf5e463830a439464adae8626cd4f2dad27fd:/src/surf/network_interface.hpp diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 2e6d67b55b..d4ab52983e 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -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: @@ -157,7 +158,7 @@ public: tmgr_trace_t trace); /*< setup the trace file with latency events (peak latency changes due to external load). Trace must contain absolute values */ - tmgr_trace_iterator_t stateEvent_ = nullptr; + tmgr_trace_event_t stateEvent_ = nullptr; s_surf_metric_t latency_ = {1.0, 0, nullptr}; s_surf_metric_t bandwidth_ = {1.0, 0, nullptr}; @@ -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_ = {}; }; } }