|
|
| 1547 |
|
1547 |
|
| 1548 |
if (delay.IsZero ()) |
1548 |
if (delay.IsZero ()) |
| 1549 |
{ |
1549 |
{ |
| 1550 |
NS_LOG_DEBUG ("Sending MPDU as part of A-MPDU"); |
|
|
| 1551 |
if (!singleMpdu) |
1550 |
if (!singleMpdu) |
| 1552 |
{ |
1551 |
{ |
|
|
1552 |
NS_LOG_DEBUG ("Sending MPDU as part of A-MPDU"); |
| 1553 |
mpdutype = MPDU_IN_AGGREGATE; |
1553 |
mpdutype = MPDU_IN_AGGREGATE; |
| 1554 |
} |
1554 |
} |
| 1555 |
else |
1555 |
else |
| 1556 |
{ |
1556 |
{ |
|
|
1557 |
NS_LOG_DEBUG ("Sending S-MPDU"); |
| 1557 |
mpdutype = NORMAL_MPDU; |
1558 |
mpdutype = NORMAL_MPDU; |
| 1558 |
} |
1559 |
} |
| 1559 |
} |
1560 |
} |
|
|
| 2758 |
|
2759 |
|
| 2759 |
if (aggregated) |
2760 |
if (aggregated) |
| 2760 |
{ |
2761 |
{ |
| 2761 |
NS_LOG_DEBUG ("Adding packet with Sequence number " << currentSequenceNumber << " to A-MPDU, packet size = " << newPacket->GetSize () << ", A-MPDU size = " << currentAggregatedPacket->GetSize ()); |
2762 |
NS_LOG_DEBUG ("Adding packet with sequence number " << currentSequenceNumber << " to A-MPDU, packet size = " << newPacket->GetSize () << ", A-MPDU size = " << currentAggregatedPacket->GetSize ()); |
| 2762 |
i++; |
2763 |
i++; |
| 2763 |
m_aggregateQueue[tid]->Enqueue (Create<WifiMacQueueItem> (aggPacket, peekedHdr)); |
2764 |
m_aggregateQueue[tid]->Enqueue (Create<WifiMacQueueItem> (aggPacket, peekedHdr)); |
| 2764 |
} |
2765 |
} |
|
|
| 2843 |
InsertInTxQueue (packet, hdr, tstamp, tid); |
2844 |
InsertInTxQueue (packet, hdr, tstamp, tid); |
| 2844 |
} |
2845 |
} |
| 2845 |
} |
2846 |
} |
| 2846 |
NS_LOG_DEBUG ("Adding packet with Sequence number " << peekedHdr.GetSequenceNumber () << " to A-MPDU, packet size = " << newPacket->GetSize () << ", A-MPDU size = " << currentAggregatedPacket->GetSize ()); |
2847 |
NS_LOG_DEBUG ("Adding packet with sequence number " << peekedHdr.GetSequenceNumber () << " to A-MPDU, packet size = " << newPacket->GetSize () << ", A-MPDU size = " << currentAggregatedPacket->GetSize ()); |
| 2847 |
i++; |
2848 |
i++; |
| 2848 |
isAmpdu = true; |
2849 |
isAmpdu = true; |
| 2849 |
if (!m_txParams.MustSendRts ()) |
2850 |
if (!m_txParams.MustSendRts ()) |
|
|
| 2982 |
currentAggregatedPacket = Create<Packet> (); |
2983 |
currentAggregatedPacket = Create<Packet> (); |
| 2983 |
edcaIt->second->GetMpduAggregator ()->AggregateSingleMpdu (packet, currentAggregatedPacket); |
2984 |
edcaIt->second->GetMpduAggregator ()->AggregateSingleMpdu (packet, currentAggregatedPacket); |
| 2984 |
m_aggregateQueue[tid]->Enqueue (Create<WifiMacQueueItem> (packet, peekedHdr)); |
2985 |
m_aggregateQueue[tid]->Enqueue (Create<WifiMacQueueItem> (packet, peekedHdr)); |
| 2985 |
|
2986 |
if (m_txParams.MustSendRts ()) |
|
|
2987 |
{ |
| 2988 |
InsertInTxQueue (packet, peekedHdr, tstamp, tid); |
| 2989 |
} |
| 2986 |
if (edcaIt->second->GetBaAgreementExists (hdr.GetAddr1 (), tid)) |
2990 |
if (edcaIt->second->GetBaAgreementExists (hdr.GetAddr1 (), tid)) |
| 2987 |
{ |
2991 |
{ |
| 2988 |
edcaIt->second->CompleteAmpduTransfer (peekedHdr.GetAddr1 (), tid); |
2992 |
edcaIt->second->CompleteAmpduTransfer (peekedHdr.GetAddr1 (), tid); |