--- a/src/wifi/helper/qos-wifi-mac-helper.h Tue Jun 16 13:13:06 2015 -0700
+++ b/src/wifi/helper/qos-wifi-mac-helper.h Sun Jun 21 00:23:45 2015 +0200
@@ -17,6 +17,7 @@
*
* Author: Mirko Banchi <mk.banchi@gmail.com>
*/
+
#ifndef QOS_WIFI_MAC_HELPER_H
#define QOS_WIFI_MAC_HELPER_H
@@ -77,19 +78,19 @@
* in the requested mac.
*/
virtual void SetType (std::string type,
- std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (),
- std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
- std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
- std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (),
- std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (),
- std::string n5 = "", const AttributeValue &v5 = EmptyAttributeValue (),
- std::string n6 = "", const AttributeValue &v6 = EmptyAttributeValue (),
- std::string n7 = "", const AttributeValue &v7 = EmptyAttributeValue ());
+ std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (),
+ std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
+ std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
+ std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (),
+ std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (),
+ std::string n5 = "", const AttributeValue &v5 = EmptyAttributeValue (),
+ std::string n6 = "", const AttributeValue &v6 = EmptyAttributeValue (),
+ std::string n7 = "", const AttributeValue &v7 = EmptyAttributeValue ());
/**
* Set the class, type and attributes for the Msdu aggregator
*
- * \param ac access category for which we are setting aggregator. Possibilities
- * are: AC_BK, AC_BE, AC_VI, AC_VO.
+ * \param ac access category for which we are setting aggregator.
+ * Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
* \param type the type of ns3::MsduAggregator to create.
* \param n0 the name of the attribute to set
* \param v0 the value of the attribute to set
@@ -108,36 +109,36 @@
std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue ());
- /**
- * Set the class, type and attributes for the Mpdu aggregator
- *
- * \param ac access category for which we are setting aggregator. Possibilities
- * are: AC_BK, AC_BE, AC_VI, AC_VO.
- * \param type the type of ns3::MsduAggregator to create.
- * \param n0 the name of the attribute to set
- * \param v0 the value of the attribute to set
- * \param n1 the name of the attribute to set
- * \param v1 the value of the attribute to set
- * \param n2 the name of the attribute to set
- * \param v2 the value of the attribute to set
- * \param n3 the name of the attribute to set
- * \param v3 the value of the attribute to set
- *
- * All the attributes specified in this method should exist
- * in the requested aggregator.
- */
+ /**
+ * Set the class, type and attributes for the Mpdu aggregator
+ *
+ * \param ac access category for which we are setting aggregator.
+ * Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
+ * \param type the type of ns3::MsduAggregator to create.
+ * \param n0 the name of the attribute to set
+ * \param v0 the value of the attribute to set
+ * \param n1 the name of the attribute to set
+ * \param v1 the value of the attribute to set
+ * \param n2 the name of the attribute to set
+ * \param v2 the value of the attribute to set
+ * \param n3 the name of the attribute to set
+ * \param v3 the value of the attribute to set
+ *
+ * All the attributes specified in this method should exist
+ * in the requested aggregator.
+ */
void SetMpduAggregatorForAc (enum AcIndex ac, std::string type,
std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (),
std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
- std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue ()); //A-MPDU
+ std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue ());
/**
* This method sets value of block ack threshold for a specific access class.
* If number of packets in the respective queue reaches this value block ack mechanism
* is used.
*
- * \param ac access category for which we are setting block ack threshold. Possibilities
- * are: AC_BK, AC_BE, AC_VI, AC_VO.
+ * \param ac access category for which we are setting block ack threshold.
+ * Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
* \param threshold the threshold (number of packets)
*/
void SetBlockAckThresholdForAc (enum AcIndex ac, uint8_t threshold);
@@ -148,13 +149,17 @@
* that a block ack request or a MPDU with ack policy BLOCK ACK is received.
* Timer is reset in a originator station every time that a block ack frame is received.
*
- * \param ac access category for which we are setting block ack threshold. Possibilities
- * are: AC_BK, AC_BE, AC_VI, AC_VO.
+ * \param ac access category for which we are setting block ack threshold.
+ * Possibilities are: AC_BK, AC_BE, AC_VI, AC_VO.
* \param timeout number of block of 1024 microseconds.
*/
void SetBlockAckInactivityTimeoutForAc (enum AcIndex ac, uint16_t timeout);
+
+
protected:
ObjectFactory m_mac;
+
+
private:
/**
* \returns a newly-created MAC object.
@@ -164,8 +169,8 @@
virtual Ptr<WifiMac> Create (void) const;
void Setup (Ptr<WifiMac> mac, enum AcIndex ac, std::string dcaAttrName) const;
- std::map<AcIndex, ObjectFactory> m_aggregators; //!<
- ObjectFactory m_mpduAggregator; //!<
+ std::map<AcIndex, ObjectFactory> m_aggregators;
+ ObjectFactory m_mpduAggregator;
/*
* Next maps contain, for every access category, the values for
* block ack threshold and block ack inactivity timeout.
@@ -174,6 +179,6 @@
std::map<AcIndex, uint16_t> m_bAckInactivityTimeouts;
};
-} // namespace ns3
+} //namespace ns3
#endif /* QOS_WIFI_MAC_HELPER_H */