doxygen
This commit is contained in:
@@ -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<void, Ptr<Packet>, const Mac48Address &> ForwardCallback;
|
||||
|
||||
@@ -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<void, Ptr<Packet>, const Mac48Address &> ForwardCallback;
|
||||
@@ -52,6 +64,9 @@ public:
|
||||
|
||||
void Queue (Ptr<const Packet> packet, Mac48Address to);
|
||||
|
||||
/**
|
||||
* Start beacon transmission immediately.
|
||||
*/
|
||||
void StartBeaconing (void);
|
||||
|
||||
void Receive (Ptr<Packet> packet, WifiMacHeader const *hdr);
|
||||
|
||||
@@ -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<void, Ptr<Packet>, const Mac48Address &> ForwardCallback;
|
||||
@@ -55,12 +65,31 @@ public:
|
||||
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);
|
||||
|
||||
@@ -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}.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user