25 #include "ns3/nstime.h"
27 #include <unordered_map>
43 typedef std::unordered_map <uint16_t , Ptr<const WifiPsdu> >
WifiConstPsduMap;
125 virtual bool CanBeReceived (uint16_t txCenterFreq, uint16_t p20MinFreq,
126 uint16_t p20MaxFreq)
const;
138 uint64_t
GetUid (
void)
const;
150 void Print (std::ostream &os)
const;
168 virtual uint16_t
GetStaId (
void)
const;
A template-based reference counting class.
Simulation virtual time values and global simulation resolution.
WifiPpdu stores a preamble, a modulation class, PHY headers and a PSDU.
void Print(std::ostream &os) const
Print the PPDU contents.
WifiPpdu(Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, uint64_t uid=UINT64_MAX)
Create a PPDU storing a PSDU.
WifiModulationClass GetModulation(void) const
Get the modulation used for the PPDU.
virtual WifiPpduType GetType(void) const
Return the PPDU type (.
WifiTxVector GetTxVector(void) const
Get the TXVECTOR used to send the PPDU.
virtual WifiTxVector DoGetTxVector(void) const
Get the TXVECTOR used to send the PPDU.
WifiPreamble GetPreamble(void) const
Get the preamble of the PPDU.
virtual Ptr< WifiPpdu > Copy(void) const
Copy this instance.
virtual Time GetTxDuration(void) const
Get the total transmission duration of the PPDU.
virtual std::string PrintPayload(void) const
Print the payload of the PPDU.
WifiModulationClass m_modulation
the modulation used for the transmission of this PPDU
WifiPreamble m_preamble
the PHY preamble
virtual bool CanBeReceived(uint16_t txCenterFreq, uint16_t p20MinFreq, uint16_t p20MaxFreq) const
Check whether the given PPDU can be received on the specified primary channel.
virtual ~WifiPpdu()
Destructor for WifiPpdu.
virtual uint16_t GetStaId(void) const
Get the ID of the STA that transmitted the PPDU for UL MU, SU_STA_ID otherwise.
uint64_t GetUid(void) const
Get the UID of the PPDU.
uint64_t m_uid
the unique ID of this PPDU
bool IsTruncatedTx(void) const
WifiConstPsduMap m_psdus
the PSDUs contained in this PPDU
uint8_t m_txAntennas
the number of antennas used to transmit this PPDU
uint8_t m_txPowerLevel
the transmission power level (used only for TX and initializing the returned WifiTxVector)
Ptr< const WifiPsdu > GetPsdu(void) const
Get the payload of the PPDU.
bool m_truncatedTx
flag indicating whether the frame's transmission was aborted due to transmitter switch off
virtual uint16_t GetTransmissionChannelWidth(void) const
Get the channel width over which the PPDU will effectively be transmitted.
void SetTruncatedTx(void)
Indicate that the PPDU's transmission was aborted due to transmitter switch off.
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
WifiPreamble
The type of preamble to be used by an IEEE 802.11 transmission.
WifiPpduType
The type of PPDU (SU, DL MU, or UL MU)
WifiModulationClass
This enumeration defines the modulation classes per (Table 10-6 "Modulation classes"; IEEE 802....
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::unordered_map< uint16_t, Ptr< const WifiPsdu > > WifiConstPsduMap
Map of const PSDUs indexed by STA-ID.
std::ostream & operator<<(std::ostream &os, const Angles &a)