* @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;
/**
*/
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:
static std::unordered_map<std::string, LinkImpl*>* 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<s4u::Link*>* linkList);
static void linksExit();
};
: simgrid::surf::Action(model, cost, failed, var){};
void setState(simgrid::surf::Action::State state) override;
- std::list<LinkImpl*> links();
+ virtual std::list<LinkImpl*> links();
- double latency_;
- double latCurrent_;
- double weight_;
- double rate_;
+ double latency_ = {};
+ double latCurrent_ = {};
+ double weight_ = {};
+ double rate_ = {};
};
}
}