s4u::Link::SharingPolicy::FATPIPE);
}
-LinkImpl* NetworkCm02Model::create_link(const std::string& name, std::vector<double> bandwidths, double latency,
+LinkImpl* NetworkCm02Model::create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
s4u::Link::SharingPolicy policy)
{
if (policy == s4u::Link::SharingPolicy::WIFI) {
public:
explicit NetworkCm02Model(lmm::System* (*make_new_sys)(bool) = &lmm::make_new_maxmin_system);
virtual ~NetworkCm02Model() = default;
- LinkImpl* create_link(const std::string& name, std::vector<double> bandwidths, double latency,
+ LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
s4u::Link::SharingPolicy policy) override;
void update_actions_state_lazy(double now, double delta) override;
void update_actions_state_full(double now, double delta) override;
all_existing_models.push_back(this);
}
-LinkImpl* NetworkConstantModel::create_link(const std::string& name, std::vector<double> /*bandwidth*/,
+LinkImpl* NetworkConstantModel::create_link(const std::string& name, const std::vector<double>& /*bandwidth*/,
double /*latency*/, s4u::Link::SharingPolicy)
{
double next_occuring_event(double now) override;
void update_actions_state(double now, double delta) override;
- LinkImpl* create_link(const std::string& name, std::vector<double> bws, double lat,
+ LinkImpl* create_link(const std::string& name, const std::vector<double>& bws, double lat,
s4u::Link::SharingPolicy policy) override;
};
* @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, std::vector<double> bandwidths, double latency,
+ virtual LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
s4u::Link::SharingPolicy policy) = 0;
/**
IPV4addr.clear();
}
-LinkImpl* NetworkNS3Model::create_link(const std::string& name, std::vector<double> bandwidths, double latency,
+LinkImpl* NetworkNS3Model::create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
s4u::Link::SharingPolicy policy)
{
xbt_assert(bandwidths.size() == 1, "Non WIFI links must use only 1 bandwidth.");
public:
NetworkNS3Model();
~NetworkNS3Model();
- LinkImpl* create_link(const std::string& name, double bandwidth, double latency,
+ LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidth, double latency,
s4u::Link::SharingPolicy policy) override;
Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override;
double next_occuring_event(double now) override;
: NetworkModel(Model::UpdateAlgo::FULL), hostModel_(hmodel)
{
set_maxmin_system(sys);
- loopback_ = NetworkL07Model::create_link("__loopback__", std::vector<double>(1, 498000000), 0.000015,
+ loopback_ = NetworkL07Model::create_link("__loopback__", std::vector<double>{498000000}, 0.000015,
s4u::Link::SharingPolicy::FATPIPE);
}
return new CpuL07(this, host, speed_per_pstate, core);
}
-kernel::resource::LinkImpl* NetworkL07Model::create_link(const std::string& name, std::vector<double> bandwidths,
+kernel::resource::LinkImpl* NetworkL07Model::create_link(const std::string& name, const std::vector<double>& bandwidths,
double latency, s4u::Link::SharingPolicy policy)
{
xbt_assert(bandwidths.size() == 1, "Non WIFI link must have only 1 bandwidth.");
NetworkL07Model(const NetworkL07Model&) = delete;
NetworkL07Model& operator=(const NetworkL07Model&) = delete;
~NetworkL07Model();
- kernel::resource::LinkImpl* create_link(const std::string& name, std::vector<double> bandwidths, double latency,
- s4u::Link::SharingPolicy policy) override;
+ kernel::resource::LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidths,
+ double latency, s4u::Link::SharingPolicy policy) override;
kernel::resource::Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override;