wifi: Avoid unnecessary copies of IEs in Probe Request frames
This commit is contained in:
committed by
Stefano Avallone
parent
8191b2a940
commit
9ee5a89599
@@ -1109,7 +1109,7 @@ ApWifiMac::Receive (Ptr<WifiMacQueueItem> mpdu)
|
||||
}
|
||||
MgtProbeRequestHeader probeRequestHeader;
|
||||
packet->PeekHeader (probeRequestHeader);
|
||||
Ssid ssid = probeRequestHeader.GetSsid ();
|
||||
const Ssid& ssid = probeRequestHeader.GetSsid ();
|
||||
if (ssid == GetSsid () || ssid.IsBroadcast ())
|
||||
{
|
||||
NS_LOG_DEBUG ("Probe request received from " << from << ": send probe response");
|
||||
|
||||
@@ -37,84 +37,126 @@ MgtProbeRequestHeader::~MgtProbeRequestHeader ()
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetSsid (Ssid ssid)
|
||||
MgtProbeRequestHeader::SetSsid (const Ssid& ssid)
|
||||
{
|
||||
m_ssid = ssid;
|
||||
}
|
||||
|
||||
Ssid
|
||||
void
|
||||
MgtProbeRequestHeader::SetSsid (Ssid&& ssid)
|
||||
{
|
||||
m_ssid = std::move (ssid);
|
||||
}
|
||||
|
||||
const Ssid&
|
||||
MgtProbeRequestHeader::GetSsid (void) const
|
||||
{
|
||||
return m_ssid;
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetSupportedRates (SupportedRates rates)
|
||||
MgtProbeRequestHeader::SetSupportedRates (const SupportedRates& rates)
|
||||
{
|
||||
m_rates = rates;
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetExtendedCapabilities (ExtendedCapabilities extendedCapabilities)
|
||||
MgtProbeRequestHeader::SetSupportedRates (SupportedRates&& rates)
|
||||
{
|
||||
m_rates = std::move (rates);
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities)
|
||||
{
|
||||
m_extendedCapability = extendedCapabilities;
|
||||
}
|
||||
|
||||
ExtendedCapabilities
|
||||
void
|
||||
MgtProbeRequestHeader::SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities)
|
||||
{
|
||||
m_extendedCapability = std::move (extendedCapabilities);
|
||||
}
|
||||
|
||||
const ExtendedCapabilities&
|
||||
MgtProbeRequestHeader::GetExtendedCapabilities (void) const
|
||||
{
|
||||
return m_extendedCapability;
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetHtCapabilities (HtCapabilities htCapabilities)
|
||||
MgtProbeRequestHeader::SetHtCapabilities (const HtCapabilities& htCapabilities)
|
||||
{
|
||||
m_htCapability = htCapabilities;
|
||||
}
|
||||
|
||||
HtCapabilities
|
||||
void
|
||||
MgtProbeRequestHeader::SetHtCapabilities (HtCapabilities&& htCapabilities)
|
||||
{
|
||||
m_htCapability = std::move (htCapabilities);
|
||||
}
|
||||
|
||||
const HtCapabilities&
|
||||
MgtProbeRequestHeader::GetHtCapabilities (void) const
|
||||
{
|
||||
return m_htCapability;
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetVhtCapabilities (VhtCapabilities vhtCapabilities)
|
||||
MgtProbeRequestHeader::SetVhtCapabilities (const VhtCapabilities& vhtCapabilities)
|
||||
{
|
||||
m_vhtCapability = vhtCapabilities;
|
||||
}
|
||||
|
||||
VhtCapabilities
|
||||
void
|
||||
MgtProbeRequestHeader::SetVhtCapabilities (VhtCapabilities&& vhtCapabilities)
|
||||
{
|
||||
m_vhtCapability = std::move (vhtCapabilities);
|
||||
}
|
||||
|
||||
const VhtCapabilities&
|
||||
MgtProbeRequestHeader::GetVhtCapabilities (void) const
|
||||
{
|
||||
return m_vhtCapability;
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetHeCapabilities (HeCapabilities heCapabilities)
|
||||
MgtProbeRequestHeader::SetHeCapabilities (const HeCapabilities& heCapabilities)
|
||||
{
|
||||
m_heCapability = heCapabilities;
|
||||
}
|
||||
|
||||
HeCapabilities
|
||||
void
|
||||
MgtProbeRequestHeader::SetHeCapabilities (HeCapabilities&& heCapabilities)
|
||||
{
|
||||
m_heCapability = std::move (heCapabilities);
|
||||
}
|
||||
|
||||
const HeCapabilities&
|
||||
MgtProbeRequestHeader::GetHeCapabilities (void) const
|
||||
{
|
||||
return m_heCapability;
|
||||
}
|
||||
|
||||
void
|
||||
MgtProbeRequestHeader::SetEhtCapabilities (EhtCapabilities ehtCapabilities)
|
||||
MgtProbeRequestHeader::SetEhtCapabilities (const EhtCapabilities& ehtCapabilities)
|
||||
{
|
||||
m_ehtCapability = ehtCapabilities;
|
||||
}
|
||||
|
||||
EhtCapabilities
|
||||
void
|
||||
MgtProbeRequestHeader::SetEhtCapabilities (EhtCapabilities&& ehtCapabilities)
|
||||
{
|
||||
m_ehtCapability = std::move (ehtCapabilities);
|
||||
}
|
||||
|
||||
const EhtCapabilities&
|
||||
MgtProbeRequestHeader::GetEhtCapabilities (void) const
|
||||
{
|
||||
return m_ehtCapability;
|
||||
}
|
||||
|
||||
SupportedRates
|
||||
const SupportedRates&
|
||||
MgtProbeRequestHeader::GetSupportedRates (void) const
|
||||
{
|
||||
return m_rates;
|
||||
|
||||
@@ -575,85 +575,119 @@ public:
|
||||
*
|
||||
* \param ssid SSID
|
||||
*/
|
||||
void SetSsid (Ssid ssid);
|
||||
void SetSsid (const Ssid& ssid);
|
||||
|
||||
/** \copydoc SetSsid */
|
||||
void SetSsid (Ssid&& ssid);
|
||||
|
||||
/**
|
||||
* Set the supported rates.
|
||||
*
|
||||
* \param rates the supported rates
|
||||
*/
|
||||
void SetSupportedRates (SupportedRates rates);
|
||||
void SetSupportedRates (const SupportedRates& rates);
|
||||
|
||||
/** \copydoc SetSupportedRates */
|
||||
void SetSupportedRates (SupportedRates&& rates);
|
||||
|
||||
/**
|
||||
* Set the extended capabilities.
|
||||
*
|
||||
* \param extendedCapabilities the extended capabilities
|
||||
*/
|
||||
void SetExtendedCapabilities (ExtendedCapabilities extendedCapabilities);
|
||||
void SetExtendedCapabilities (const ExtendedCapabilities& extendedCapabilities);
|
||||
|
||||
/** \copydoc SetExtendedCapabilities */
|
||||
void SetExtendedCapabilities (ExtendedCapabilities&& extendedCapabilities);
|
||||
|
||||
/**
|
||||
* Set the HT capabilities.
|
||||
*
|
||||
* \param htCapabilities HT capabilities
|
||||
*/
|
||||
void SetHtCapabilities (HtCapabilities htCapabilities);
|
||||
void SetHtCapabilities (const HtCapabilities& htCapabilities);
|
||||
|
||||
/** \copydoc SetHtCapabilities */
|
||||
void SetHtCapabilities (HtCapabilities&& htCapabilities);
|
||||
|
||||
/**
|
||||
* Set the VHT capabilities.
|
||||
*
|
||||
* \param vhtCapabilities VHT capabilities
|
||||
*/
|
||||
void SetVhtCapabilities (VhtCapabilities vhtCapabilities);
|
||||
void SetVhtCapabilities (const VhtCapabilities& vhtCapabilities);
|
||||
|
||||
/** \copydoc SetVhtCapabilities */
|
||||
void SetVhtCapabilities (VhtCapabilities&& vhtCapabilities);
|
||||
|
||||
/**
|
||||
* Set the HE capabilities.
|
||||
*
|
||||
* \param heCapabilities HE capabilities
|
||||
*/
|
||||
void SetHeCapabilities (HeCapabilities heCapabilities);
|
||||
void SetHeCapabilities (const HeCapabilities& heCapabilities);
|
||||
|
||||
/** \copydoc SetHeCapabilities */
|
||||
void SetHeCapabilities (HeCapabilities&& heCapabilities);
|
||||
|
||||
/**
|
||||
* Set the EHT capabilities.
|
||||
*
|
||||
* \param ehtCapabilities EHT capabilities
|
||||
*/
|
||||
void SetEhtCapabilities (EhtCapabilities ehtCapabilities);
|
||||
void SetEhtCapabilities (const EhtCapabilities& ehtCapabilities);
|
||||
|
||||
/** \copydoc SetEhtCapabilities */
|
||||
void SetEhtCapabilities (EhtCapabilities&& ehtCapabilities);
|
||||
|
||||
/**
|
||||
* Return the Service Set Identifier (SSID).
|
||||
*
|
||||
* \return SSID
|
||||
*/
|
||||
Ssid GetSsid (void) const;
|
||||
const Ssid& GetSsid (void) const;
|
||||
|
||||
/**
|
||||
* Return the supported rates.
|
||||
*
|
||||
* \return the supported rates
|
||||
*/
|
||||
SupportedRates GetSupportedRates (void) const;
|
||||
const SupportedRates& GetSupportedRates (void) const;
|
||||
|
||||
/**
|
||||
* Return the extended capabilities.
|
||||
*
|
||||
* \return the extended capabilities
|
||||
*/
|
||||
ExtendedCapabilities GetExtendedCapabilities (void) const;
|
||||
const ExtendedCapabilities& GetExtendedCapabilities (void) const;
|
||||
|
||||
/**
|
||||
* Return the HT capabilities.
|
||||
*
|
||||
* \return HT capabilities
|
||||
*/
|
||||
HtCapabilities GetHtCapabilities (void) const;
|
||||
const HtCapabilities& GetHtCapabilities (void) const;
|
||||
|
||||
/**
|
||||
* Return the VHT capabilities.
|
||||
*
|
||||
* \return VHT capabilities
|
||||
*/
|
||||
VhtCapabilities GetVhtCapabilities (void) const;
|
||||
const VhtCapabilities& GetVhtCapabilities (void) const;
|
||||
|
||||
/**
|
||||
* Return the HE capabilities.
|
||||
*
|
||||
* \return HE capabilities
|
||||
*/
|
||||
HeCapabilities GetHeCapabilities (void) const;
|
||||
const HeCapabilities& GetHeCapabilities (void) const;
|
||||
|
||||
/**
|
||||
* Return the EHT capabilities.
|
||||
*
|
||||
* \return EHT capabilities
|
||||
*/
|
||||
EhtCapabilities GetEhtCapabilities (void) const;
|
||||
const EhtCapabilities& GetEhtCapabilities (void) const;
|
||||
|
||||
/**
|
||||
* Register this type.
|
||||
|
||||
Reference in New Issue
Block a user