/* 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. */
+#include <simgrid/s4u/Engine.hpp>
+
+#include "src/kernel/EngineImpl.hpp"
#include "src/surf/LinkImpl.hpp"
-#include "simgrid/s4u/Engine.hpp"
-#include "surf/surf.hpp"
#include <numeric>
*/
void LinkImpl::destroy()
{
- s4u::Link::on_destruction(this->piface_);
+ s4u::Link::on_destruction(piface_);
+ s4u::Engine::get_instance()->link_unregister(get_name());
delete this;
}
-bool LinkImpl::is_used() const
-{
- return get_model()->get_maxmin_system()->constraint_used(get_constraint());
-}
-
constexpr kernel::lmm::Constraint::SharingPolicy to_maxmin_policy(s4u::Link::SharingPolicy policy)
{
switch (policy) {
sharing_policy_ = policy;
}
-s4u::Link::SharingPolicy LinkImpl::get_sharing_policy() const
-{
- return sharing_policy_;
-}
-
void LinkImpl::latency_check(double latency) const
{
static double last_warned_latency = sg_surf_precision;
s4u::Link::on_state_change(piface_);
const kernel::lmm::Element* elem = nullptr;
- double now = surf_get_clock();
+ double now = EngineImpl::get_clock();
while (const auto* var = get_constraint()->get_variable(&elem)) {
Action* action = var->get_id();
if (action->get_state() == Action::State::INITED || action->get_state() == Action::State::STARTED) {
xbt_assert(this->get_model(), "Cannot seal Link(%s) without setting the Network model first", this->get_cname());
Resource::seal();
- s4u::Link::on_creation(piface_);
}
void LinkImpl::on_bandwidth_change() const
} // namespace resource
} // namespace kernel
-} // namespace simgrid
\ No newline at end of file
+} // namespace simgrid