* @param latency The initial latency of the Link in seconds
* @param policy The sharing policy of the Link
*/
- virtual LinkImpl* create_link(const std::string& name, double bandwidth, double latency,
+ virtual LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
s4u::Link::SharingPolicy policy) = 0;
/**
*/
class LinkImpl : public Resource, public surf::PropertyHolder {
bool currently_destroying_ = false;
- void* userdata_ = nullptr;
protected:
LinkImpl(NetworkModel* model, const std::string& name, lmm::Constraint* constraint);
public:
void destroy(); // Must be called instead of the destructor
- void* get_data() { return userdata_; }
- void set_data(void* d) { userdata_ = d; }
/** @brief Public interface */
s4u::Link piface_;
Metric latency_ = {1.0, 0, nullptr};
Metric bandwidth_ = {1.0, 0, nullptr};
- /** @brief A link can have several bandwith attach to it (mostly use by wifi model) */
- std::vector<Metric> bandwidths_;
};
/**********