|
|
| 3046 |
std::map<AcIndex, MacLowAggregationCapableTransmissionListener*>::const_iterator listenerIt = m_edcaListeners.find (ac); |
3046 |
std::map<AcIndex, MacLowAggregationCapableTransmissionListener*>::const_iterator listenerIt = m_edcaListeners.find (ac); |
| 3047 |
NS_ASSERT (listenerIt != m_edcaListeners.end ()); |
3047 |
NS_ASSERT (listenerIt != m_edcaListeners.end ()); |
| 3048 |
queue = listenerIt->second->GetQueue (); |
3048 |
queue = listenerIt->second->GetQueue (); |
|
|
3049 |
|
| 3050 |
Ptr<const Packet> peekedPacket = queue->DequeueByTidAndAddress (hdr, hdr->GetQosTid (), |
| 3051 |
WifiMacHeader::ADDR1, hdr->GetAddr1 ()); |
| 3049 |
|
3052 |
|
| 3050 |
listenerIt->second->GetMsduAggregator ()->Aggregate (packet, currentAmsduPacket, |
3053 |
listenerIt->second->GetMsduAggregator ()->Aggregate (packet, currentAmsduPacket, |
| 3051 |
listenerIt->second->GetSrcAddressForAggregation (*hdr), |
3054 |
listenerIt->second->GetSrcAddressForAggregation (*hdr), |
| 3052 |
listenerIt->second->GetDestAddressForAggregation (*hdr)); |
3055 |
listenerIt->second->GetDestAddressForAggregation (*hdr)); |
| 3053 |
|
3056 |
|
| 3054 |
Ptr<const Packet> peekedPacket = queue->PeekByTidAndAddress (hdr, hdr->GetQosTid (), |
3057 |
peekedPacket = queue->PeekByTidAndAddress (hdr, hdr->GetQosTid (), |
| 3055 |
WifiMacHeader::ADDR1, hdr->GetAddr1 (), tstamp); |
3058 |
WifiMacHeader::ADDR1, hdr->GetAddr1 (), tstamp); |
| 3056 |
while (peekedPacket != 0) |
3059 |
while (peekedPacket != 0) |
| 3057 |
{ |
3060 |
{ |
| 3058 |
tempPacket = currentAmsduPacket; |
3061 |
tempPacket = currentAmsduPacket; |
|
|
| 3083 |
} |
3086 |
} |
| 3084 |
else |
3087 |
else |
| 3085 |
{ |
3088 |
{ |
|
|
3089 |
queue->PushFront (packet, *hdr); |
| 3086 |
return 0; |
3090 |
return 0; |
| 3087 |
} |
3091 |
} |
| 3088 |
} |
3092 |
} |