+ wifiChannel.SetPropagationDelay ("ns3::ConstantSpeedPropagationDelayModel");
+
+ wifiPhy.SetChannel (wifiChannel.Create ());
+
+ wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager",
+ "ControlMode", ns3::StringValue ("HtMcs3"),
+ "DataMode", ns3::StringValue ("HtMcs3"));
+
+ mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
+
+ wifiMac.SetType("ns3::ApWifiMac");
+ netA.Add(wifi.Install (wifiPhy, wifiMac, a));
+
+ wifiMac.SetType ("ns3::StaWifiMac",
+ "ActiveProbing", ns3::BooleanValue (false));
+ netA.Add(wifi.Install (wifiPhy, wifiMac, b));
+
+ ns3::Ptr<ns3::ListPositionAllocator> positionAllocS = ns3::CreateObject<ns3::ListPositionAllocator> ();
+ positionAllocS->Add(ns3::Vector(-5, 0, 0.0));
+ positionAllocS->Add(ns3::Vector(5, 0, 0.0));
+ mobility.SetPositionAllocator(positionAllocS);
+ mobility.Install(a);
+ mobility.Install(b);
+ } else {
+ ns3::PointToPointHelper pointToPoint;
+ XBT_DEBUG("\tAdd PTP from %d to %d bw:'%f Bps' lat:'%fs'", srcNum, dstNum, bw, lat);
+ pointToPoint.SetDeviceAttribute("DataRate",
+ ns3::DataRateValue(ns3::DataRate(bw * 8))); // ns-3 takes bps, but we provide Bps
+ pointToPoint.SetChannelAttribute("Delay", ns3::TimeValue(ns3::Seconds(lat)));
+
+ netA.Add(pointToPoint.Install(a, b));
+ }