diff --git a/src/wifi/model/block-ack-manager.cc b/src/wifi/model/block-ack-manager.cc index 38f92e46c..5567df766 100644 --- a/src/wifi/model/block-ack-manager.cc +++ b/src/wifi/model/block-ack-manager.cc @@ -456,19 +456,19 @@ BlockAckManager::NotifyMissedAck (Ptr mpdu) } void -BlockAckManager::NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address recipient, +BlockAckManager::NotifyGotBlockAck (const CtrlBAckResponseHeader& blockAck, Mac48Address recipient, const std::set& tids, double rxSnr, double dataSnr, const WifiTxVector& dataTxVector, size_t index) { NS_LOG_FUNCTION (this << blockAck << recipient << rxSnr << dataSnr << dataTxVector << index); - if (!blockAck->IsMultiTid ()) + if (!blockAck.IsMultiTid ()) { - uint8_t tid = blockAck->GetTidInfo (index); + uint8_t tid = blockAck.GetTidInfo (index); // If this is a Multi-STA Block Ack with All-ack context (TID equal to 14), // use the TID passed by the caller. if (tid == 14) { - NS_ASSERT (blockAck->GetAckType (index) && tids.size () == 1); + NS_ASSERT (blockAck.GetAckType (index) && tids.size () == 1); tid = *tids.begin (); } if (ExistsAgreementInState (recipient, tid, OriginatorBlockAckAgreement::ESTABLISHED)) @@ -495,12 +495,12 @@ BlockAckManager::NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac4 uint16_t currentStartingSeq = it->second.first.GetStartingSequence (); uint16_t currentSeq = SEQNO_SPACE_SIZE; // invalid value - if (blockAck->IsBasic ()) + if (blockAck.IsBasic ()) { for (PacketQueueI queueIt = it->second.second.begin (); queueIt != queueEnd; ) { currentSeq = (*queueIt)->GetHeader ().GetSequenceNumber (); - if (blockAck->IsFragmentReceived (currentSeq, + if (blockAck.IsFragmentReceived (currentSeq, (*queueIt)->GetHeader ().GetFragmentNumber ())) { nSuccessfulMpdus++; @@ -524,12 +524,12 @@ BlockAckManager::NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac4 RemoveOldPackets (recipient, tid, (currentSeq + 1) % SEQNO_SPACE_SIZE); } } - else if (blockAck->IsCompressed () || blockAck->IsExtendedCompressed () || blockAck->IsMultiSta ()) + else if (blockAck.IsCompressed () || blockAck.IsExtendedCompressed () || blockAck.IsMultiSta ()) { for (PacketQueueI queueIt = it->second.second.begin (); queueIt != queueEnd; ) { currentSeq = (*queueIt)->GetHeader ().GetSequenceNumber (); - if (blockAck->IsPacketReceived (currentSeq, index)) + if (blockAck.IsPacketReceived (currentSeq, index)) { it->second.first.NotifyAckedMpdu (*queueIt); nSuccessfulMpdus++; diff --git a/src/wifi/model/block-ack-manager.h b/src/wifi/model/block-ack-manager.h index 513cbcfed..d4ad94240 100644 --- a/src/wifi/model/block-ack-manager.h +++ b/src/wifi/model/block-ack-manager.h @@ -208,7 +208,7 @@ public: * Note that tids is only used if blockAck is a Multi-STA Block Ack * using All-ack context. */ - void NotifyGotBlockAck (const CtrlBAckResponseHeader *blockAck, Mac48Address recipient, + void NotifyGotBlockAck (const CtrlBAckResponseHeader& blockAck, Mac48Address recipient, const std::set& tids, double rxSnr, double dataSnr, const WifiTxVector& dataTxVector, size_t index = 0); /** diff --git a/src/wifi/model/he/he-frame-exchange-manager.cc b/src/wifi/model/he/he-frame-exchange-manager.cc index 59225edcc..41f6d8e9d 100644 --- a/src/wifi/model/he/he-frame-exchange-manager.cc +++ b/src/wifi/model/he/he-frame-exchange-manager.cc @@ -1431,7 +1431,7 @@ HeFrameExchangeManager::ReceiveMpdu (Ptr mpdu, RxSignalInfo rx CtrlBAckResponseHeader blockAck; mpdu->GetPacket ()->PeekHeader (blockAck); uint8_t tid = blockAck.GetTidInfo (); - GetBaManager (tid)->NotifyGotBlockAck (&blockAck, hdr.GetAddr2 (), {tid}, rxSignalInfo.snr, + GetBaManager (tid)->NotifyGotBlockAck (blockAck, hdr.GetAddr2 (), {tid}, rxSignalInfo.snr, tag.Get (), m_txParams.m_txVector); // remove the sender from the set of stations that are expected to send a BlockAck @@ -1500,7 +1500,7 @@ HeFrameExchangeManager::ReceiveMpdu (Ptr mpdu, RxSignalInfo rx tid = *tids.begin (); } - GetBaManager (tid)->NotifyGotBlockAck (&blockAck, hdr.GetAddr2 (), {tid}, + GetBaManager (tid)->NotifyGotBlockAck (blockAck, hdr.GetAddr2 (), {tid}, rxSignalInfo.snr, tag.Get (staId), m_txParams.m_txVector, index); } diff --git a/src/wifi/model/ht/ht-frame-exchange-manager.cc b/src/wifi/model/ht/ht-frame-exchange-manager.cc index 919775037..dec4fb9d3 100644 --- a/src/wifi/model/ht/ht-frame-exchange-manager.cc +++ b/src/wifi/model/ht/ht-frame-exchange-manager.cc @@ -1338,7 +1338,7 @@ HtFrameExchangeManager::ReceiveMpdu (Ptr mpdu, RxSignalInfo rx CtrlBAckResponseHeader blockAck; mpdu->GetPacket ()->PeekHeader (blockAck); uint8_t tid = blockAck.GetTidInfo (); - GetBaManager (tid)->NotifyGotBlockAck (&blockAck, hdr.GetAddr2 (), {tid}, rxSnr, + GetBaManager (tid)->NotifyGotBlockAck (blockAck, hdr.GetAddr2 (), {tid}, rxSnr, tag.Get (), m_txParams.m_txVector); // cancel the timer