#include "simgrid/kernel/resource/Resource.hpp"
#include "simgrid/s4u/Link.hpp"
#include "src/kernel/lmm/maxmin.hpp"
-#include "src/kernel/resource/profile/trace_mgr.hpp"
#include "src/surf/PropertyHolder.hpp"
#include <list>
* @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;
/**
* @return The new bandwidth.
*/
virtual double get_bandwidth_constraint(double rate, double bound, double size);
- double next_occuring_event_full(double now) override;
+ double next_occurring_event_full(double now) override;
LinkImpl* loopback_ = nullptr;
};
*/
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_;
latency changes due to external load). Trace must contain
absolute values */
- Metric latency_ = {1.0, 0, nullptr};
+ Metric latency_ = {0.0, 0, nullptr};
Metric bandwidth_ = {1.0, 0, nullptr};
};
double latency_ = {};
double lat_current_ = {};
- double weight_ = {};
+ double sharing_penalty_ = {};
double rate_ = {};
};
} // namespace resource