src/devices/wifi/nqap-wifi-mac.cc
changeset 4720 15221757964f
parent 4687 02bf728f7e39
child 5524 efed7493f2c1
equal deleted inserted replaced
4716:055af17f7225 4720:15221757964f
    58                    MakeBooleanAccessor (&NqapWifiMac::SetBeaconGeneration,
    58                    MakeBooleanAccessor (&NqapWifiMac::SetBeaconGeneration,
    59                                         &NqapWifiMac::GetBeaconGeneration),
    59                                         &NqapWifiMac::GetBeaconGeneration),
    60                    MakeBooleanChecker ())
    60                    MakeBooleanChecker ())
    61     .AddAttribute ("DcaTxop", "The DcaTxop object",
    61     .AddAttribute ("DcaTxop", "The DcaTxop object",
    62                    PointerValue (),
    62                    PointerValue (),
    63                    MakePointerAccessor (&NqapWifiMac::GetDcaTxop,
    63                    MakePointerAccessor (&NqapWifiMac::GetDcaTxop),
    64                                         &NqapWifiMac::SetDcaTxop),
       
    65                    MakePointerChecker<DcaTxop> ()) 
    64                    MakePointerChecker<DcaTxop> ()) 
    66     ;
    65     ;
    67   return tid;
    66   return tid;
    68 }
    67 }
    69 
    68 
    83   m_beaconDca->SetAifsn(1);
    82   m_beaconDca->SetAifsn(1);
    84   m_beaconDca->SetMinCw(0);
    83   m_beaconDca->SetMinCw(0);
    85   m_beaconDca->SetMaxCw(0);
    84   m_beaconDca->SetMaxCw(0);
    86   m_beaconDca->SetLow (m_low);
    85   m_beaconDca->SetLow (m_low);
    87   m_beaconDca->SetManager (m_dcfManager);
    86   m_beaconDca->SetManager (m_dcfManager);
       
    87 
       
    88   m_dca = CreateObject<DcaTxop> ();
       
    89   m_dca->SetLow (m_low);
       
    90   m_dca->SetManager (m_dcfManager);
       
    91   m_dca->SetTxOkCallback (MakeCallback (&NqapWifiMac::TxOk, this));
       
    92   m_dca->SetTxFailedCallback (MakeCallback (&NqapWifiMac::TxFailed, this));
    88 }
    93 }
    89 NqapWifiMac::~NqapWifiMac ()
    94 NqapWifiMac::~NqapWifiMac ()
    90 {
    95 {
    91   NS_LOG_FUNCTION (this);
    96   NS_LOG_FUNCTION (this);
    92 }
    97 }
   563 NqapWifiMac::GetDcaTxop(void) const
   568 NqapWifiMac::GetDcaTxop(void) const
   564 {
   569 {
   565   return m_dca;
   570   return m_dca;
   566 }
   571 }
   567 
   572 
   568 void
   573 void 
   569 NqapWifiMac::SetDcaTxop (Ptr<DcaTxop> dcaTxop)
   574 NqapWifiMac::FinishConfigureStandard (enum WifiPhyStandard standard)
   570 {
   575 {
   571   m_dca = dcaTxop;
   576   switch (standard)
   572   m_dca->SetLow (m_low);
   577     {
   573   m_dca->SetManager (m_dcfManager);
   578     case WIFI_PHY_STANDARD_holland:
   574   m_dca->SetTxOkCallback (MakeCallback (&NqapWifiMac::TxOk, this));
   579       // fall through
   575   m_dca->SetTxFailedCallback (MakeCallback (&NqapWifiMac::TxFailed, this));
   580     case WIFI_PHY_STANDARD_80211_10Mhz: 
   576 }
   581       // fall through
       
   582     case WIFI_PHY_STANDARD_80211_5Mhz:
       
   583       // fall through
       
   584     case WIFI_PHY_STANDARD_80211a:
       
   585       ConfigureDcf (m_dca, 15, 1023, AC_BE_NQOS);
       
   586       break;
       
   587     case WIFI_PHY_STANDARD_80211b:
       
   588       ConfigureDcf (m_dca, 31, 1023, AC_BE_NQOS);
       
   589       break;
       
   590     default:
       
   591       NS_ASSERT (false);
       
   592       break;
       
   593     }
       
   594 }
       
   595 
   577 
   596 
   578 } // namespace ns3
   597 } // namespace ns3