|
|
| 282 |
static TypeId tid = TypeId ("ns3::WifiRemoteStationManager") |
282 |
static TypeId tid = TypeId ("ns3::WifiRemoteStationManager") |
| 283 |
.SetParent<Object> () |
283 |
.SetParent<Object> () |
| 284 |
.SetGroupName ("Wifi") |
284 |
.SetGroupName ("Wifi") |
| 285 |
.AddAttribute ("IsLowLatency", "If true, we attempt to modelize a so-called low-latency device: a device" |
285 |
.AddAttribute ("IsLowLatency", |
| 286 |
" where decisions about tx parameters can be made on a per-packet basis and feedback about the" |
286 |
"If true, we attempt to modelize a so-called low-latency device: " |
| 287 |
" transmission of each packet is obtained before sending the next. Otherwise, we modelize a " |
287 |
"a device where decisions about tx parameters can be made on a per-packet basis and " |
| 288 |
" high-latency device, that is a device where we cannot update our decision about tx parameters" |
288 |
"feedback about the transmission of each packet is obtained before sending the next. " |
| 289 |
" after every packet transmission.", |
289 |
"Otherwise, we modelize a high-latency device, that is a device where we cannot update " |
|
|
290 |
"our decision about tx parameters after every packet transmission.", |
| 290 |
TypeId::ATTR_GET, |
291 |
TypeId::ATTR_GET, |
| 291 |
BooleanValue (true), //this value is ignored because there is no setter |
292 |
BooleanValue (true), //this value is ignored because there is no setter |
| 292 |
MakeBooleanAccessor (&WifiRemoteStationManager::IsLowLatency), |
293 |
MakeBooleanAccessor (&WifiRemoteStationManager::IsLowLatency), |
| 293 |
MakeBooleanChecker ()) |
294 |
MakeBooleanChecker ()) |
| 294 |
.AddAttribute ("MaxSsrc", "The maximum number of retransmission attempts for an RTS. This value" |
295 |
.AddAttribute ("MaxSsrc", |
| 295 |
" will not have any effect on some rate control algorithms.", |
296 |
"The maximum number of retransmission attempts for an RTS. " |
|
|
297 |
" This value will not have any effect on some rate control algorithms.", |
| 296 |
UintegerValue (7), |
298 |
UintegerValue (7), |
| 297 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_maxSsrc), |
299 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_maxSsrc), |
| 298 |
MakeUintegerChecker<uint32_t> ()) |
300 |
MakeUintegerChecker<uint32_t> ()) |
| 299 |
.AddAttribute ("MaxSlrc", "The maximum number of retransmission attempts for a DATA packet. This value" |
301 |
.AddAttribute ("MaxSlrc", |
| 300 |
" will not have any effect on some rate control algorithms.", |
302 |
"The maximum number of retransmission attempts for a DATA packet. " |
|
|
303 |
"This value will not have any effect on some rate control algorithms.", |
| 301 |
UintegerValue (7), |
304 |
UintegerValue (7), |
| 302 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_maxSlrc), |
305 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_maxSlrc), |
| 303 |
MakeUintegerChecker<uint32_t> ()) |
306 |
MakeUintegerChecker<uint32_t> ()) |
| 304 |
.AddAttribute ("RtsCtsThreshold", "If the size of the data packet + LLC header + MAC header + FCS trailer is bigger than " |
307 |
.AddAttribute ("RtsCtsThreshold", |
| 305 |
"this value, we use an RTS/CTS handshake before sending the data, as per IEEE Std. 802.11-2012, Section 9.3.5. " |
308 |
"If the size of the PSDU is bigger than this value, we use an RTS/CTS handshake before sending the data frame." |
| 306 |
"This value will not have any effect on some rate control algorithms.", |
309 |
"This value will not have any effect on some rate control algorithms.", |
| 307 |
UintegerValue (2346), |
310 |
UintegerValue (65535), |
| 308 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_rtsCtsThreshold), |
311 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_rtsCtsThreshold), |
| 309 |
MakeUintegerChecker<uint32_t> ()) |
312 |
MakeUintegerChecker<uint32_t> ()) |
| 310 |
.AddAttribute ("FragmentationThreshold", "If the size of the data packet + LLC header + MAC header + FCS trailer is bigger" |
313 |
.AddAttribute ("FragmentationThreshold", |
| 311 |
"than this value, we fragment it such that the size of the fragments are equal or smaller " |
314 |
"If the size of the PSDU is bigger than this value, we fragment it such that the size of the fragments are equal or smaller. " |
| 312 |
"than this value, as per IEEE Std. 802.11-2012, Section 9.5. " |
315 |
"This value does not apply when it is carried in an A-MPDU. " |
| 313 |
"This value will not have any effect on some rate control algorithms.", |
316 |
"This value will not have any effect on some rate control algorithms.", |
| 314 |
UintegerValue (2346), |
317 |
UintegerValue (2346), |
| 315 |
MakeUintegerAccessor (&WifiRemoteStationManager::DoSetFragmentationThreshold, |
318 |
MakeUintegerAccessor (&WifiRemoteStationManager::DoSetFragmentationThreshold, |
| 316 |
&WifiRemoteStationManager::DoGetFragmentationThreshold), |
319 |
&WifiRemoteStationManager::DoGetFragmentationThreshold), |
| 317 |
MakeUintegerChecker<uint32_t> ()) |
320 |
MakeUintegerChecker<uint32_t> ()) |
| 318 |
.AddAttribute ("NonUnicastMode", "Wifi mode used for non-unicast transmissions.", |
321 |
.AddAttribute ("NonUnicastMode", |
|
|
322 |
"Wifi mode used for non-unicast transmissions.", |
| 319 |
WifiModeValue (), |
323 |
WifiModeValue (), |
| 320 |
MakeWifiModeAccessor (&WifiRemoteStationManager::m_nonUnicastMode), |
324 |
MakeWifiModeAccessor (&WifiRemoteStationManager::m_nonUnicastMode), |
| 321 |
MakeWifiModeChecker ()) |
325 |
MakeWifiModeChecker ()) |
| 322 |
.AddAttribute ("DefaultTxPowerLevel", "Default power level to be used for transmissions. " |
326 |
.AddAttribute ("DefaultTxPowerLevel", |
| 323 |
"This is the power level that is used by all those WifiManagers that do not" |
327 |
"Default power level to be used for transmissions. " |
| 324 |
"implement TX power control.", |
328 |
"This is the power level that is used by all those WifiManagers that do not implement TX power control.", |
| 325 |
UintegerValue (0), |
329 |
UintegerValue (0), |
| 326 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_defaultTxPowerLevel), |
330 |
MakeUintegerAccessor (&WifiRemoteStationManager::m_defaultTxPowerLevel), |
| 327 |
MakeUintegerChecker<uint8_t> ()) |
331 |
MakeUintegerChecker<uint8_t> ()) |