wifi: Pass an MPDU to QosTxop::PushFront()
This commit is contained in:
committed by
Stefano Avallone
parent
da9965197e
commit
fa51183362
@@ -239,10 +239,12 @@ HtFrameExchangeManager::SendAddBaResponse (const MgtAddBaRequestHeader *reqHdr,
|
||||
|
||||
CreateBlockAckAgreement (&respHdr, originator, reqHdr->GetStartingSequence ());
|
||||
|
||||
auto mpdu = Create<WifiMacQueueItem> (packet, hdr);
|
||||
|
||||
//It is unclear which queue this frame should go into. For now we
|
||||
//bung it into the queue corresponding to the TID for which we are
|
||||
//establishing an agreement, and push it to the head.
|
||||
m_mac->GetQosTxop (reqHdr->GetTid ())->PushFront (packet, hdr);
|
||||
m_mac->GetQosTxop (reqHdr->GetTid ())->PushFront (mpdu);
|
||||
}
|
||||
|
||||
uint16_t
|
||||
|
||||
@@ -579,11 +579,10 @@ QosTxop::GetRemainingTxop (uint8_t linkId) const
|
||||
}
|
||||
|
||||
void
|
||||
QosTxop::PushFront (Ptr<const Packet> packet, const WifiMacHeader &hdr)
|
||||
QosTxop::PushFront (Ptr<WifiMacQueueItem> mpdu)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << packet << &hdr);
|
||||
WifiMacTrailer fcs;
|
||||
Ptr<WifiMacQueueItem> mpdu = Create<WifiMacQueueItem> (packet, hdr);
|
||||
NS_LOG_FUNCTION (this << *mpdu);
|
||||
|
||||
if (!m_queue->PushFront (mpdu))
|
||||
{
|
||||
NS_LOG_DEBUG ("Queue is full, replace the oldest frame with the ADDBA Request frame");
|
||||
|
||||
@@ -212,13 +212,12 @@ public:
|
||||
void ResetBa (Mac48Address recipient, uint8_t tid);
|
||||
|
||||
/**
|
||||
* \param packet packet to send.
|
||||
* \param hdr header of packet to send.
|
||||
* \param mpdu the given MPDU
|
||||
*
|
||||
* Store the packet in the front of the internal queue until it
|
||||
* Store the given MPDU in the front of the internal queue until it
|
||||
* can be sent safely.
|
||||
*/
|
||||
void PushFront (Ptr<const Packet> packet, const WifiMacHeader &hdr);
|
||||
void PushFront (Ptr<WifiMacQueueItem> mpdu);
|
||||
|
||||
/**
|
||||
* Set threshold for block ack mechanism. If number of packets in the
|
||||
|
||||
Reference in New Issue
Block a user