wifi.SetStandard(ns3::WIFI_STANDARD_80211n_5GHZ);
#else
wifi.SetStandard(ns3::WIFI_STANDARD_80211n);
- wifiPhy.Set ("ChannelSettings", StringValue ("{0, 0, WIFI_PHY_BAND_5GHZ, 0}"));
+ wifiPhy.Set ("ChannelSettings", ns3::StringValue ("{0, 0, BAND_5GHZ, 0}"));
#endif
std::string ssid = wifizone->get_name();
double angle = 0;
auto nb_stations = static_cast<double>(wifizone->get_all_hosts().size() - 1);
double step = 2 * M_PI / nb_stations;
- for (auto station_host : wifizone->get_all_hosts()) {
+ for (const auto* station_host : wifizone->get_all_hosts()) {
station_netpoint_ns3 = station_host->get_netpoint()->extension<NetPointNs3>();
if (station_netpoint_ns3 == access_point_netpoint_ns3)
continue;
});
namespace simgrid {
-namespace kernel {
-namespace resource {
+namespace kernel::resource {
NetworkNS3Model::NetworkNS3Model(const std::string& name) : NetworkModel(name)
{
ns3::Config::SetDefault("ns3::TcpSocket::DelAckCount", ns3::UintegerValue(1));
ns3::Config::SetDefault("ns3::TcpSocketBase::Timestamp", ns3::BooleanValue(false));
- auto const& TcpProtocol = ns3_tcp_model.get();
- if (TcpProtocol == "default") {
+ if (auto const& TcpProtocol = ns3_tcp_model.get(); TcpProtocol == "default") {
/* nothing to do */
} else if (TcpProtocol == "Reno" || TcpProtocol == "NewReno" || TcpProtocol == "Tahoe") {
{
static std::vector<std::string> socket_to_destroy;
- std::string ns3_socket;
- for (const auto& elm : flow_from_sock) {
- ns3_socket = elm.first;
- SgFlow* sgFlow = elm.second;
+ for (const auto& [ns3_socket, sgFlow] : flow_from_sock) {
NetworkNS3Action* action = sgFlow->action_;
XBT_DEBUG("Processing flow %p (socket %s, action %p)", sgFlow, ns3_socket.c_str(), action);
// Because NS3 stops as soon as a flow is finished, the other flows that ends at the same time may remains in an
}
while (not socket_to_destroy.empty()) {
- ns3_socket = socket_to_destroy.back();
+ std::string ns3_socket = socket_to_destroy.back();
socket_to_destroy.pop_back();
SgFlow* flow = flow_from_sock.at(ns3_socket);
if (XBT_LOG_ISENABLED(res_ns3, xbt_log_priority_debug)) {
// ns-3 fails when src = dst, so avoid the problem by considering that communications are infinitely fast on the
// loopback that does not exists
if (src == dst) {
- static bool warned = false;
- if (not warned) {
+ if (static bool warned = false; not warned) {
XBT_WARN("Sending from a host %s to itself is not supported by ns-3. Every such communication finishes "
"immediately upon startup.",
src->get_cname());
XBT_DEBUG("Create socket %s for a flow of %.0f Bytes from %s to %s with Interface %s",
transform_socket_ptr(sock).c_str(), totalBytes, src->get_cname(), dst->get_cname(), addr.c_str());
- flow_from_sock.insert({transform_socket_ptr(sock), new SgFlow(static_cast<uint32_t>(totalBytes), this)});
- sink_from_sock.insert({transform_socket_ptr(sock), apps});
+ flow_from_sock.try_emplace(transform_socket_ptr(sock), new SgFlow(static_cast<uint32_t>(totalBytes), this));
+ sink_from_sock.try_emplace(transform_socket_ptr(sock), apps);
sock->Bind(ns3::InetSocketAddress(port_number));
ns3::Simulator::ScheduleNow(&start_flow, sock, addr.c_str(), port_number);
THROW_IMPOSSIBLE;
}
-} // namespace resource
-} // namespace kernel
+} // namespace kernel::resource
ns3::Ptr<ns3::Node> get_ns3node_from_sghost(const simgrid::s4u::Host* host)
{