src/wifi/helper/qos-wifi-mac-helper.h
changeset 10459 f2e90c12a44f
parent 7386 2310ed220a61
child 11045 6024c150e4c8
equal deleted inserted replaced
10458:20987b07dbd4 10459:f2e90c12a44f
    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    */