wifi: Pass entire TXVECTOR to SendCtsAfterRts
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -816,7 +816,7 @@ QosFrameExchangeManager::ReceiveMpdu(Ptr<const WifiMpdu> mpdu,
|
||||
&QosFrameExchangeManager::SendCtsAfterRts,
|
||||
this,
|
||||
hdr,
|
||||
txVector.GetMode(),
|
||||
txVector,
|
||||
rxSnr);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user