|
|
| 314 |
} |
314 |
} |
| 315 |
|
315 |
|
| 316 |
bool |
316 |
bool |
| 317 |
EdcaTxopN::GetBaAgreementExists (Mac48Address address, uint8_t tid) |
317 |
EdcaTxopN::GetBaAgreementExists (Mac48Address address, uint8_t tid) const |
| 318 |
{ |
318 |
{ |
| 319 |
return m_baManager->ExistsAgreement (address, tid); |
319 |
return m_baManager->ExistsAgreement (address, tid); |
| 320 |
} |
320 |
} |
|
|
| 717 |
} |
717 |
} |
| 718 |
|
718 |
|
| 719 |
uint8_t |
719 |
uint8_t |
| 720 |
EdcaTxopN::GetCurrentTid () |
720 |
EdcaTxopN::GetCurrentTid () const |
| 721 |
{ |
721 |
{ |
| 722 |
NS_LOG_FUNCTION (this); |
722 |
NS_LOG_FUNCTION (this); |
| 723 |
if (m_currentHdr.IsQosData ()) |
723 |
if (m_currentHdr.IsQosData ()) |
|
|
| 1357 |
EdcaTxopN::NeedFragmentation (void) const |
1357 |
EdcaTxopN::NeedFragmentation (void) const |
| 1358 |
{ |
1358 |
{ |
| 1359 |
NS_LOG_FUNCTION (this); |
1359 |
NS_LOG_FUNCTION (this); |
|
|
1360 |
if (m_stationManager->HasVhtSupported () |
| 1361 |
|| GetAmpduExist (m_currentHdr.GetAddr1 ()) |
| 1362 |
|| (m_stationManager->HasHtSupported () |
| 1363 |
&& m_currentHdr.IsQosData () |
| 1364 |
&& GetBaAgreementExists (m_currentHdr.GetAddr1 (), GetCurrentTid ()) |
| 1365 |
&& GetMpduAggregator ()->GetMaxAmpduSize () >= m_currentPacket->GetSize ())) |
| 1366 |
{ |
| 1367 |
//MSDU is not fragmented when it is transmitted using an HT-immediate or |
| 1368 |
//HT-delayed Block Ack agreement or when it is carried in an A-MPDU. |
| 1369 |
return false; |
| 1370 |
} |
| 1360 |
return m_stationManager->NeedFragmentation (m_currentHdr.GetAddr1 (), &m_currentHdr, |
1371 |
return m_stationManager->NeedFragmentation (m_currentHdr.GetAddr1 (), &m_currentHdr, |
| 1361 |
m_currentPacket); |
1372 |
m_currentPacket); |
| 1362 |
} |
1373 |
} |
|
|
| 1543 |
} |
1554 |
} |
| 1544 |
} |
1555 |
} |
| 1545 |
|
1556 |
|
| 1546 |
bool EdcaTxopN::GetAmpduExist (Mac48Address dest) |
1557 |
bool EdcaTxopN::GetAmpduExist (Mac48Address dest) const |
| 1547 |
{ |
1558 |
{ |
| 1548 |
NS_LOG_FUNCTION (this << dest); |
1559 |
NS_LOG_FUNCTION (this << dest); |
| 1549 |
if (m_aMpduEnabled.find (dest) != m_aMpduEnabled.end ()) |
1560 |
if (m_aMpduEnabled.find (dest) != m_aMpduEnabled.end ()) |