From f043a8789c12ca54b07d413aeaa264d64c3f86b4 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Mon, 17 Dec 2007 13:41:51 +0100 Subject: [PATCH] doxygen --- src/devices/wifi/mac-high-adhoc.h | 7 +++++++ src/devices/wifi/mac-high-nqap.h | 15 +++++++++++++++ src/devices/wifi/mac-high-nqsta.h | 29 +++++++++++++++++++++++++++++ src/devices/wifi/wifi.h | 14 +++++++++----- 4 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/devices/wifi/mac-high-adhoc.h b/src/devices/wifi/mac-high-adhoc.h index 233356562..38d822cdf 100644 --- a/src/devices/wifi/mac-high-adhoc.h +++ b/src/devices/wifi/mac-high-adhoc.h @@ -33,6 +33,13 @@ class WifiMacHeader; class MacStations; class WifiPhy; +/** + * \brief the Adhoc state machine + * + * For now, this class is really empty but it should contain + * the code for the distributed generation of beacons in an adhoc + * network. + */ class MacHighAdhoc { public: typedef Callback, const Mac48Address &> ForwardCallback; diff --git a/src/devices/wifi/mac-high-nqap.h b/src/devices/wifi/mac-high-nqap.h index d1fc08020..2b91fe8e5 100644 --- a/src/devices/wifi/mac-high-nqap.h +++ b/src/devices/wifi/mac-high-nqap.h @@ -35,6 +35,18 @@ class DcaTxop; class MacStations; class WifiPhy; +/** + * \brief non-QoS AP state machine + * + * Handle association, dis-association and authentication, + * of STAs within an IBSS. + * This class uses two output queues, each of which is server by + * a single DCF + * - the highest priority DCF serves the queue which contains + * only beacons. + * - the lowest priority DCF serves the queue which contains all + * other frames, including user data frames. + */ class MacHighNqap { public: typedef Callback, const Mac48Address &> ForwardCallback; @@ -52,6 +64,9 @@ public: void Queue (Ptr packet, Mac48Address to); + /** + * Start beacon transmission immediately. + */ void StartBeaconing (void); void Receive (Ptr packet, WifiMacHeader const *hdr); diff --git a/src/devices/wifi/mac-high-nqsta.h b/src/devices/wifi/mac-high-nqsta.h index 12018a10d..0efe02e24 100644 --- a/src/devices/wifi/mac-high-nqsta.h +++ b/src/devices/wifi/mac-high-nqsta.h @@ -38,6 +38,16 @@ class DcaTxop; class WifiPhy; class MacStations; +/** + * \brief a non-QoS STA state machine + * + * This state machine handles association, disassociation, + * authentication and beacon monitoring. It does not perform + * channel scanning. + * If the station detects a certain number of missed beacons + * while associated, it automatically attempts a new association + * sequence. + */ class MacHighNqsta { public: typedef Callback, const Mac48Address &> ForwardCallback; @@ -55,12 +65,31 @@ public: void SetPhy (Ptr phy); void SetStations (MacStations *stations); + /** + * \param missed the number of beacons which must be missed + * before a new association sequence is started. + */ void SetMaxMissedBeacons (uint32_t missed); + /** + * \param timeout + * + * If no probe response is received within the specified + * timeout, the station sends a new probe request. + */ void SetProbeRequestTimeout (Time timeout); + /** + * \param timeout + * + * If no association response is received within the specified + * timeout, the station sends a new association request. + */ void SetAssocRequestTimeout (Time timeout); Mac48Address GetBssid (void) const; + /** + * Start an active association sequence immediately. + */ void StartActiveAssociation (void); void Queue (Ptr packet, Mac48Address to); diff --git a/src/devices/wifi/wifi.h b/src/devices/wifi/wifi.h index 075f39124..0342aa0c5 100644 --- a/src/devices/wifi/wifi.h +++ b/src/devices/wifi/wifi.h @@ -20,21 +20,23 @@ * - a simple adhoc state machine which does not perform any * kind of beacon generation, probing, or association. This * state machine is implemented by the ns3::AdhocWifiNetDevice - * class. + * and ns3::MacHighAdhoc classes. * - an active probing and association state machine which handles * automatic re-association whenever too many beacons are missed - * is implemented by the ns3::NqstaWifiNetDevice class. + * is implemented by the ns3::NqstaWifiNetDevice and + * ns3::MacHighNqsta classes. * - an access point which generates periodic beacons, and which * accepts every attempt to associate. This AP state machine - * is implemented by the ns3::NqapWifiNetDevice. + * is implemented by the ns3::NqapWifiNetDevice and + * ns3::MacHighNqap classes. * * The MAC low layer is split in 3 components: * - ns3::MacLow which takes care of RTS/CTS/DATA/ACK transactions. - * - ns3::Dcf which implements the DCF function. + * - ns3::DcfManager and ns3::DcfState which implements the DCF function. * - ns3::DcaTxop which handles the packet queue, packet fragmentation, * and packet retransmissions if they are needed. * - * The PHY layer implements a single model in ns3::WifiPhy. + * The PHY layer implements a single model in the ns3::WifiPhy class. * * It also provides a set of Rate control algorithms: * - ns3::ArfMacStations (initialized from \valueref{WifiArfTimerThreshold}, and, @@ -45,6 +47,8 @@ * - ns3::IdealMacStations (initialized from \valueref{WifiIdealRateControlBerThreshold}) * - ns3::CrMacStations (initialized from \valueref{WifiConstantDataRate}, and, * \valueref{WifiConstantCtlRate}). + * - ns3::OnoeMacStations + * - ns3::AmrrMacStations * * The type of rate control algorithm is controlled through \valueref{WifiRateControlAlgorithm}. *