src/devices/wifi/minstrel-wifi-manager.cc
changeset 5235 ca04d8e6cb2e
parent 4725 4e068296f09f
child 5260 a9154b34d4d5
equal deleted inserted replaced
5234:5c75d40fedcd 5235:ca04d8e6cb2e
   367 }
   367 }
   368 
   368 
   369 WifiMode
   369 WifiMode
   370 MinstrelWifiRemoteStation::DoGetDataMode (uint32_t size)
   370 MinstrelWifiRemoteStation::DoGetDataMode (uint32_t size)
   371 {
   371 {
   372   UpdateStats ();
       
   373   if (!m_initialized)
   372   if (!m_initialized)
   374     {
   373     {
   375       CheckInit ();
   374       CheckInit ();
   376 
   375 
   377       /// start the rate at half way
   376       /// start the rate at half way
   378       m_txrate = GetNSupportedModes () / 2;
   377       m_txrate = GetNSupportedModes () / 2;
   379     }
   378     }
       
   379   UpdateStats ();
   380   return GetSupportedMode (m_txrate);
   380   return GetSupportedMode (m_txrate);
   381 }
   381 }
   382 
   382 
   383 WifiMode
   383 WifiMode
   384 MinstrelWifiRemoteStation::DoGetRtsMode (void)
   384 MinstrelWifiRemoteStation::DoGetRtsMode (void)
   433   if ( (((100* m_sampleCount) / (m_sampleCount + m_packetCount )) < m_stations->m_lookAroundRate) &&
   433   if ( (((100* m_sampleCount) / (m_sampleCount + m_packetCount )) < m_stations->m_lookAroundRate) &&
   434      ((int)coinFlip.GetValue ()) % 2 == 1 )
   434      ((int)coinFlip.GetValue ()) % 2 == 1 )
   435     {
   435     {
   436 
   436 
   437       /// now go through the table and find an index rate
   437       /// now go through the table and find an index rate
   438       idx = GetNextSample	();
   438       idx = GetNextSample();
   439 			
   439 			
   440 			
   440 			
   441       /**
   441       /**
   442        * This if condition is used to make sure that we don't need to use
   442        * This if condition is used to make sure that we don't need to use
   443        * the sample rate it is the same as our current rate
   443        * the sample rate it is the same as our current rate