From 94be633e59d061de53e17799a398bc77f202a522 Mon Sep 17 00:00:00 2001 From: Stefano Avallone Date: Wed, 6 Nov 2024 16:27:13 +0100 Subject: [PATCH] wifi: Pass entire TXVECTOR to SendCtsAfterRts --- src/wifi/model/eht/eht-frame-exchange-manager.cc | 6 +++--- src/wifi/model/eht/eht-frame-exchange-manager.h | 4 +++- src/wifi/model/frame-exchange-manager.cc | 8 ++++---- src/wifi/model/frame-exchange-manager.h | 6 ++++-- src/wifi/model/qos-frame-exchange-manager.cc | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/wifi/model/eht/eht-frame-exchange-manager.cc b/src/wifi/model/eht/eht-frame-exchange-manager.cc index 8280fbc18..25aee4cb8 100644 --- a/src/wifi/model/eht/eht-frame-exchange-manager.cc +++ b/src/wifi/model/eht/eht-frame-exchange-manager.cc @@ -1065,10 +1065,10 @@ EhtFrameExchangeManager::IsCrossLinkCollision( void EhtFrameExchangeManager::SendCtsAfterRts(const WifiMacHeader& rtsHdr, - WifiMode rtsTxMode, + const WifiTxVector& rtsTxVector, double rtsSnr) { - NS_LOG_FUNCTION(this << rtsHdr << rtsTxMode << rtsSnr); + NS_LOG_FUNCTION(this << rtsHdr << rtsTxVector << rtsSnr); auto addr2 = rtsHdr.GetAddr2(); @@ -1106,7 +1106,7 @@ EhtFrameExchangeManager::SendCtsAfterRts(const WifiMacHeader& rtsHdr, } } - HeFrameExchangeManager::SendCtsAfterRts(rtsHdr, rtsTxMode, rtsSnr); + HeFrameExchangeManager::SendCtsAfterRts(rtsHdr, rtsTxVector, rtsSnr); } bool diff --git a/src/wifi/model/eht/eht-frame-exchange-manager.h b/src/wifi/model/eht/eht-frame-exchange-manager.h index c4541d105..89c8094c8 100644 --- a/src/wifi/model/eht/eht-frame-exchange-manager.h +++ b/src/wifi/model/eht/eht-frame-exchange-manager.h @@ -199,7 +199,9 @@ class EhtFrameExchangeManager : public HeFrameExchangeManager const std::vector& perMpduStatus) override; void NavResetTimeout() override; void IntraBssNavResetTimeout() override; - void SendCtsAfterRts(const WifiMacHeader& rtsHdr, WifiMode rtsTxMode, double rtsSnr) override; + void SendCtsAfterRts(const WifiMacHeader& rtsHdr, + const WifiTxVector& rtsTxVector, + double rtsSnr) override; void PsduRxError(Ptr psdu) override; void ReceivedQosNullAfterBsrpTf(Mac48Address sender) override; void SendQosNullFramesInTbPpdu(const CtrlTriggerHeader& trigger, diff --git a/src/wifi/model/frame-exchange-manager.cc b/src/wifi/model/frame-exchange-manager.cc index c216f5059..77ff9eefd 100644 --- a/src/wifi/model/frame-exchange-manager.cc +++ b/src/wifi/model/frame-exchange-manager.cc @@ -871,13 +871,13 @@ FrameExchangeManager::DoSendCtsAfterRts(const WifiMacHeader& rtsHdr, void FrameExchangeManager::SendCtsAfterRts(const WifiMacHeader& rtsHdr, - WifiMode rtsTxMode, + const WifiTxVector& rtsTxVector, double rtsSnr) { - NS_LOG_FUNCTION(this << rtsHdr << rtsTxMode << rtsSnr); + NS_LOG_FUNCTION(this << rtsHdr << rtsTxVector << rtsSnr); WifiTxVector ctsTxVector = - GetWifiRemoteStationManager()->GetCtsTxVector(rtsHdr.GetAddr2(), rtsTxMode); + GetWifiRemoteStationManager()->GetCtsTxVector(rtsHdr.GetAddr2(), rtsTxVector.GetMode()); DoSendCtsAfterRts(rtsHdr, ctsTxVector, rtsSnr); } @@ -1404,7 +1404,7 @@ FrameExchangeManager::ReceiveMpdu(Ptr mpdu, &FrameExchangeManager::SendCtsAfterRts, this, hdr, - txVector.GetMode(), + txVector, rxSnr); } else diff --git a/src/wifi/model/frame-exchange-manager.h b/src/wifi/model/frame-exchange-manager.h index 14f8b94d5..70a180001 100644 --- a/src/wifi/model/frame-exchange-manager.h +++ b/src/wifi/model/frame-exchange-manager.h @@ -595,10 +595,12 @@ class FrameExchangeManager : public Object * Send CTS after receiving RTS. * * @param rtsHdr the header of the received RTS - * @param rtsTxMode the TX mode used to transmit the RTS + * @param rtsTxVector the TXVECTOR used to transmit the RTS * @param rtsSnr the SNR of the RTS in linear scale */ - virtual void SendCtsAfterRts(const WifiMacHeader& rtsHdr, WifiMode rtsTxMode, double rtsSnr); + virtual void SendCtsAfterRts(const WifiMacHeader& rtsHdr, + const WifiTxVector& rtsTxVector, + double rtsSnr); /** * Send CTS after receiving RTS. diff --git a/src/wifi/model/qos-frame-exchange-manager.cc b/src/wifi/model/qos-frame-exchange-manager.cc index f814fe455..e21455ed0 100644 --- a/src/wifi/model/qos-frame-exchange-manager.cc +++ b/src/wifi/model/qos-frame-exchange-manager.cc @@ -816,7 +816,7 @@ QosFrameExchangeManager::ReceiveMpdu(Ptr mpdu, &QosFrameExchangeManager::SendCtsAfterRts, this, hdr, - txVector.GetMode(), + txVector, rxSnr); } else