* walk through the routing components tree and find a route between hosts
* by calling each "get_route" function in each routing component.
*/
* walk through the routing components tree and find a route between hosts
* by calling each "get_route" function in each routing component.
*/
for (kernel::resource::LinkImpl* const& l : linkImpls)
links.push_back(&l->piface_);
}
/** @brief Just like Host::routeTo, but filling an array of link implementations */
for (kernel::resource::LinkImpl* const& l : linkImpls)
links.push_back(&l->piface_);
}
/** @brief Just like Host::routeTo, but filling an array of link implementations */
{
simgrid::kernel::routing::NetZoneImpl::get_global_route(pimpl_netpoint, dest->pimpl_netpoint, links, latency);
if (XBT_LOG_ISENABLED(surf_route, xbt_log_priority_debug)) {
{
simgrid::kernel::routing::NetZoneImpl::get_global_route(pimpl_netpoint, dest->pimpl_netpoint, links, latency);
if (XBT_LOG_ISENABLED(surf_route, xbt_log_priority_debug)) {
{
simgrid::simix::simcall([this, pstate_index] { this->pimpl_cpu->set_pstate(pstate_index); });
}
/** @brief Retrieve the pstate at which the host is currently running */
{
simgrid::simix::simcall([this, pstate_index] { this->pimpl_cpu->set_pstate(pstate_index); });
}
/** @brief Retrieve the pstate at which the host is currently running */
void sg_host_route(sg_host_t from, sg_host_t to, xbt_dynar_t links)
{
std::vector<simgrid::s4u::Link*> vlinks;
void sg_host_route(sg_host_t from, sg_host_t to, xbt_dynar_t links)
{
std::vector<simgrid::s4u::Link*> vlinks;
for (auto const& link : vlinks)
xbt_dynar_push(links, &link);
}
for (auto const& link : vlinks)
xbt_dynar_push(links, &link);
}
for (auto const& link : vlinks) {
double bandwidth = link->get_bandwidth();
if (bandwidth < min_bandwidth || min_bandwidth < 0.0)
for (auto const& link : vlinks) {
double bandwidth = link->get_bandwidth();
if (bandwidth < min_bandwidth || min_bandwidth < 0.0)