75 * \param v7 the value of the attribute to set |
75 * \param v7 the value of the attribute to set |
76 * |
76 * |
77 * All the attributes specified in this method should exist |
77 * All the attributes specified in this method should exist |
78 * in the requested mac. |
78 * in the requested mac. |
79 */ |
79 */ |
80 void SetType (std::string type, |
80 virtual void SetType (std::string type, |
81 std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (), |
81 std::string n0 = "", const AttributeValue &v0 = EmptyAttributeValue (), |
82 std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (), |
82 std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (), |
83 std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (), |
83 std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (), |
84 std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (), |
84 std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (), |
85 std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (), |
85 std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (), |
129 * \param ac access category for which we are setting block ack threshold. Possibilities |
129 * \param ac access category for which we are setting block ack threshold. Possibilities |
130 * are: AC_BK, AC_BE, AC_VI, AC_VO. |
130 * are: AC_BK, AC_BE, AC_VI, AC_VO. |
131 * \param timeout number of block of 1024 microseconds. |
131 * \param timeout number of block of 1024 microseconds. |
132 */ |
132 */ |
133 void SetBlockAckInactivityTimeoutForAc (enum AcIndex ac, uint16_t timeout); |
133 void SetBlockAckInactivityTimeoutForAc (enum AcIndex ac, uint16_t timeout); |
|
134 protected: |
|
135 ObjectFactory m_mac; |
134 private: |
136 private: |
135 /** |
137 /** |
136 * \internal |
138 * \internal |
137 * \returns a newly-created MAC object. |
139 * \returns a newly-created MAC object. |
138 * |
140 * |
139 * This method implements the pure virtual method defined in \ref ns3::WifiMacHelper. |
141 * This method implements the pure virtual method defined in \ref ns3::WifiMacHelper. |
140 */ |
142 */ |
141 virtual Ptr<WifiMac> Create (void) const; |
143 virtual Ptr<WifiMac> Create (void) const; |
142 void Setup (Ptr<WifiMac> mac, enum AcIndex ac, std::string dcaAttrName) const; |
144 void Setup (Ptr<WifiMac> mac, enum AcIndex ac, std::string dcaAttrName) const; |
143 |
145 |
144 |
|
145 ObjectFactory m_mac; |
|
146 std::map<AcIndex, ObjectFactory> m_aggregators; |
146 std::map<AcIndex, ObjectFactory> m_aggregators; |
147 /* |
147 /* |
148 * Next maps contain, for every access category, the values for |
148 * Next maps contain, for every access category, the values for |
149 * block ack threshold and block ack inactivity timeout. |
149 * block ack threshold and block ack inactivity timeout. |
150 */ |
150 */ |