Skip to content

wifi: inconsistent Traces in RateManagers

This point has been raised in our users forum here: https://groups.google.com/u/1/g/ns-3-users/c/auzqexWo_UU

Some WifiRemoteStationManager have a Trace named RateChange, whose signature is DataRate oldRate, DataRate newRate, Mac48Address remoteAddress. E.g., AparfWifiManager.

Some (e.g., MinstrelHtWifiManager) have a different trace: Rate, whose signature us a TracedValue<uint64_t> (i.e., a couple of uint64_t).

Moreover, I found that this line is unused, and in contrast with the definition in wifi-remote-station-manager.h:1073, which has the very same name:

src/wifi/model/rate-control/minstrel-ht-wifi-manager.h:257:    typedef void (*RateChangeTracedCallback)(const uint64_t rate, const Mac48Address remoteAddress);

Tasks:

  1. Remove the typedef in minstrel-ht-wifi-manager.h, as it generates confusion and is unused.
  2. Deprecate the Rate trace where present.
  3. Add the RateChange trace where it is not present.