doxygen
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 17 Dec 2007 13:41:51 +0100
changeset 2285 7c716f6fc4de
parent 2284 14b682d28918
child 2286 3704959cf153
doxygen
src/devices/wifi/mac-high-adhoc.h
src/devices/wifi/mac-high-nqap.h
src/devices/wifi/mac-high-nqsta.h
src/devices/wifi/wifi.h
--- a/src/devices/wifi/mac-high-adhoc.h	Mon Dec 17 13:27:22 2007 +0100
+++ b/src/devices/wifi/mac-high-adhoc.h	Mon Dec 17 13:41:51 2007 +0100
@@ -33,6 +33,13 @@
 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<void, Ptr<Packet>, const Mac48Address &> ForwardCallback;
--- a/src/devices/wifi/mac-high-nqap.h	Mon Dec 17 13:27:22 2007 +0100
+++ b/src/devices/wifi/mac-high-nqap.h	Mon Dec 17 13:41:51 2007 +0100
@@ -35,6 +35,18 @@
 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<void, Ptr<Packet>, const Mac48Address &> ForwardCallback;
@@ -52,6 +64,9 @@
 
   void Queue (Ptr<const Packet> packet, Mac48Address to);
 
+  /**
+   * Start beacon transmission immediately.
+   */
   void StartBeaconing (void);
 
   void Receive (Ptr<Packet> packet, WifiMacHeader const *hdr);
--- a/src/devices/wifi/mac-high-nqsta.h	Mon Dec 17 13:27:22 2007 +0100
+++ b/src/devices/wifi/mac-high-nqsta.h	Mon Dec 17 13:41:51 2007 +0100
@@ -38,6 +38,16 @@
 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<void, Ptr<Packet>, const Mac48Address &> ForwardCallback;
@@ -55,12 +65,31 @@
   void SetPhy (Ptr<WifiPhy> 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<const Packet> packet, Mac48Address to);
--- a/src/devices/wifi/wifi.h	Mon Dec 17 13:27:22 2007 +0100
+++ b/src/devices/wifi/wifi.h	Mon Dec 17 13:41:51 2007 +0100
@@ -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}.
  *