wifi: Pass entire TXVECTOR to SendCtsAfterRts

This commit is contained in:
Stefano Avallone
2024-11-06 16:27:13 +01:00
parent 1e8dd82f2e
commit 94be633e59
5 changed files with 15 additions and 11 deletions

View File

@@ -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

View File

@@ -199,7 +199,9 @@ class EhtFrameExchangeManager : public HeFrameExchangeManager
const std::vector<bool>& 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<const WifiPsdu> psdu) override;
void ReceivedQosNullAfterBsrpTf(Mac48Address sender) override;
void SendQosNullFramesInTbPpdu(const CtrlTriggerHeader& trigger,

View File

@@ -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<const WifiMpdu> mpdu,
&FrameExchangeManager::SendCtsAfterRts,
this,
hdr,
txVector.GetMode(),
txVector,
rxSnr);
}
else

View File

@@ -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.

View File

@@ -816,7 +816,7 @@ QosFrameExchangeManager::ReceiveMpdu(Ptr<const WifiMpdu> mpdu,
&QosFrameExchangeManager::SendCtsAfterRts,
this,
hdr,
txVector.GetMode(),
txVector,
rxSnr);
}
else