X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ea74f5d95928a521a588737e81f1de94eef25d19..ae62510f83c4cd6e7967aa00897bf66671a5923a:/src/plugins/link_energy.cpp diff --git a/src/plugins/link_energy.cpp b/src/plugins/link_energy.cpp index e528c0d6c5..116d5aea41 100644 --- a/src/plugins/link_energy.cpp +++ b/src/plugins/link_energy.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2017-2022. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2017-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. */ @@ -39,10 +39,9 @@ SIMGRID_REGISTER_PLUGIN(link_energy, "Link energy consumption.", &sg_link_energy and then use the following function to retrieve the consumption of a given link: sg_link_get_consumed_energy(). */ -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(link_energy, surf, "Logging specific to the SURF LinkEnergy plugin"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(link_energy, kernel, "Logging specific to the LinkEnergy plugin"); -namespace simgrid { -namespace plugin { +namespace simgrid::plugin { class LinkEnergy { s4u::Link* link_{}; @@ -111,13 +110,13 @@ void LinkEnergy::init_watts_range_list() try { idle_ = std::stod(current_power_values.front()); } catch (const std::invalid_argument&) { - throw std::invalid_argument(std::string("Invalid idle power value for link ") + this->link_->get_cname()); + throw std::invalid_argument("Invalid idle power value for link " + this->link_->get_name()); } try { busy_ = std::stod(current_power_values.back()); } catch (const std::invalid_argument&) { - throw std::invalid_argument(std::string("Invalid busy power value for link ") + this->link_->get_cname()); + throw std::invalid_argument("Invalid busy power value for link " + this->link_->get_name()); } } } @@ -138,11 +137,10 @@ double LinkEnergy::get_power() const double LinkEnergy::get_consumed_energy() { if (last_updated_ < simgrid::s4u::Engine::get_clock()) // We need to simcall this as it modifies the environment - kernel::actor::simcall(std::bind(&LinkEnergy::update, this)); + kernel::actor::simcall_answered(std::bind(&LinkEnergy::update, this)); return this->total_energy_; } -} // namespace plugin -} // namespace simgrid +} // namespace simgrid::plugin using simgrid::plugin::LinkEnergy;