/* 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. */
/* 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/kernel/routing/NetPoint.hpp"
#include "simgrid/s4u/Actor.hpp"
#include "simgrid/s4u/Engine.hpp"
#include "simgrid/kernel/routing/NetPoint.hpp"
#include "simgrid/s4u/Actor.hpp"
#include "simgrid/s4u/Engine.hpp"
{
std::vector<kernel::resource::LinkImpl*> linkImpls;
this->route_to(dest, linkImpls, latency);
{
std::vector<kernel::resource::LinkImpl*> linkImpls;
this->route_to(dest, linkImpls, latency);
if (XBT_LOG_ISENABLED(surf_route, xbt_log_priority_debug)) {
XBT_CDEBUG(surf_route, "Route from '%s' to '%s' (latency: %f):", get_cname(), dest->get_cname(),
(latency == nullptr ? -1 : *latency));
if (XBT_LOG_ISENABLED(surf_route, xbt_log_priority_debug)) {
XBT_CDEBUG(surf_route, "Route from '%s' to '%s' (latency: %f):", get_cname(), dest->get_cname(),
(latency == nullptr ? -1 : *latency));
- for (auto const& link : links)
- XBT_CDEBUG(surf_route, "Link %s", link->get_cname());
+ for (auto const* link : links)
+ XBT_CDEBUG(surf_route, " Link '%s'", link->get_cname());
-void Host::send_to(Host* dest, double byte_amount)
+void Host::sendto(Host* dest, double byte_amount)
+{
+ sendto_async(dest, byte_amount)->wait();
+}
+
+ActivityPtr Host::sendto_async(Host* dest, double byte_amount)
{
std::vector<Host*> m_host_list = {this, dest};
std::vector<double> flops_amount = {0, 0};
std::vector<double> bytes_amount = {0, byte_amount, 0, 0};
{
std::vector<Host*> m_host_list = {this, dest};
std::vector<double> flops_amount = {0, 0};
std::vector<double> bytes_amount = {0, byte_amount, 0, 0};
kernel::actor::simcall([this, &key, &value] { this->pimpl_->set_property(key, value); });
}
kernel::actor::simcall([this, &key, &value] { this->pimpl_->set_property(key, value); });
}
- if (mounts_ == nullptr)
- mounts_ = pimpl_->get_mounted_storages();
-
+ kernel::actor::simcall([this] {
+ if (mounts_ == nullptr)
+ mounts_ = pimpl_->get_mounted_storages();
+ });
size_t host_count = e->get_host_count();
xbt_assert(host_count > 0, "There is no host!");
std::vector<simgrid::s4u::Host*> hosts = e->get_all_hosts();
size_t host_count = e->get_host_count();
xbt_assert(host_count > 0, "There is no host!");
std::vector<simgrid::s4u::Host*> hosts = e->get_all_hosts();