-/* Copyright (c) 2013-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2013-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
xbt::signal<void(Link&)> Link::on_creation;
xbt::signal<void(Link const&)> Link::on_destruction;
-xbt::signal<void(Link const&)> Link::on_state_change;
+xbt::signal<void(Link const&)> Link::on_onoff;
xbt::signal<void(Link const&)> Link::on_bandwidth_change;
xbt::signal<void(kernel::resource::NetworkAction&, kernel::resource::Action::State)>
Link::on_communication_state_change;
try {
d_value = xbt_parse_get_time("", 0, value, "");
} catch (const simgrid::ParseError&) {
- throw std::invalid_argument(std::string("Impossible to set latency for link: ") + get_name() +
- std::string(". Invalid value: ") + value);
+ throw std::invalid_argument("Impossible to set latency for link: " + get_name() + ". Invalid value: " + value);
}
return set_latency(d_value);
}
Link* Link::set_sharing_policy(Link::SharingPolicy policy, const NonLinearResourceCb& cb)
{
if (policy == SharingPolicy::SPLITDUPLEX || policy == SharingPolicy::WIFI)
- throw std::invalid_argument(std::string("Impossible to set wifi or split-duplex for the link: ") + get_name() +
- std::string(". Use appropriate create function in NetZone."));
+ throw std::invalid_argument("Impossible to set wifi or split-duplex for the link: " + get_name() +
+ ". Use appropriate create function in NetZone.");
kernel::actor::simcall_object_access(pimpl_, [this, policy, &cb] { pimpl_->set_sharing_policy(policy, cb); });
return this;
wlink->set_host_rate(host, level);
}
+int Link::get_concurrency_limit() const
+{
+ return pimpl_->get_concurrency_limit();
+}
+
Link* Link::set_concurrency_limit(int limit)
{
kernel::actor::simcall_object_access(pimpl_, [this, limit] { pimpl_->set_concurrency_limit(limit); });
return this;
}
-double Link::get_usage() const
+double Link::get_load() const
{
- return this->pimpl_->get_constraint()->get_usage();
+ return this->pimpl_->get_constraint()->get_load();
}
void Link::turn_on()