X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e1a5484101efbff9c8d982a0c4650f7953ee7e2f..5ed37babb2fa9097abe82df299c0aa259ed84d5a:/src/kernel/routing/WifiZone.cpp?ds=sidebyside diff --git a/src/kernel/routing/WifiZone.cpp b/src/kernel/routing/WifiZone.cpp index f6693e0bd1..d6cb94fa82 100644 --- a/src/kernel/routing/WifiZone.cpp +++ b/src/kernel/routing/WifiZone.cpp @@ -1,21 +1,17 @@ -/* Copyright (c) 2009-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2009-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. */ -#include "simgrid/kernel/routing/WifiZone.hpp" -#include "simgrid/kernel/routing/NetPoint.hpp" -#include "src/surf/network_interface.hpp" -#include "src/surf/xml/platf_private.hpp" -#include "surf/surf.hpp" +#include +#include -#include +#include "src/kernel/resource/NetworkModel.hpp" -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_wifi, surf, "Routing part of surf"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(ker_routing_wifi, ker_routing, "Kernel Wifi Routing"); namespace simgrid { -namespace kernel { -namespace routing { +namespace kernel::routing { void WifiZone::do_seal() { @@ -29,9 +25,9 @@ void WifiZone::do_seal() } } -void WifiZone::get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* res, double* lat) +void WifiZone::get_local_route(const NetPoint* src, const NetPoint* dst, Route* res, double* lat) { - XBT_DEBUG("full getLocalRoute from %s[%u] to %s[%u]", src->get_cname(), src->id(), dst->get_cname(), dst->id()); + XBT_DEBUG("full getLocalRoute from %s[%lu] to %s[%lu]", src->get_cname(), src->id(), dst->get_cname(), dst->id()); if (wifi_link_ != nullptr) { // If src and dst are nodes, not access_point, we need to traverse the link twice @@ -39,30 +35,25 @@ void WifiZone::get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* if (src != access_point_) { XBT_DEBUG("src %s is not our gateway", src->get_cname()); - res->link_list.push_back(wifi_link_); - if (lat) - *lat += wifi_link_->get_latency(); + add_link_latency(res->link_list_, wifi_link_, lat); } if (dst != access_point_) { XBT_DEBUG("dst %s is not our gateway", dst->get_cname()); - res->link_list.push_back(wifi_link_); - if (lat) - *lat += wifi_link_->get_latency(); + add_link_latency(res->link_list_, wifi_link_, lat); } } } -s4u::Link* WifiZone::create_link(const std::string& name, const std::vector& bandwidths) +resource::StandardLinkImpl* WifiZone::do_create_link(const std::string& name, const std::vector& bandwidths) { xbt_assert(wifi_link_ == nullptr, "WIFI netzone %s contains more than one link. Please only declare one, the wifi link.", get_cname()); wifi_link_ = get_network_model()->create_wifi_link(name, bandwidths); - wifi_link_->set_sharing_policy(s4u::Link::SharingPolicy::WIFI); - return wifi_link_->get_iface(); + wifi_link_->set_sharing_policy(s4u::Link::SharingPolicy::WIFI, {}); + return wifi_link_; } -} // namespace routing -} // namespace kernel +} // namespace kernel::routing namespace s4u { NetZone* create_wifi_zone(const std::string& name)