25 #include "ns3/callback.h"
26 #include "ns3/packet.h"
27 #include "ns3/object.h"
28 #include "ns3/nstime.h"
33 #include "ns3/traced-callback.h"
320 virtual uint32_t
GetNModes (
void)
const = 0;
393 virtual uint8_t
GetNMcs (
void)
const=0;
394 virtual uint8_t
GetMcs (uint8_t mcs)
const=0;
545 double signalDbm,
double noiseDbm);
602 virtual void SetLdpc (
bool Ldpc)=0;
606 virtual bool GetLdpc (
void)
const=0;
610 virtual void SetStbc (
bool stbc)=0;
614 virtual bool GetStbc (
void)
const=0;
static WifiMode GetOfdmRate9MbpsBW5MHz()
TracedCallback< Ptr< const Packet > > m_phyRxBeginTrace
static WifiMode GetErpOfdmRate24Mbps()
static WifiMode GetDsssRate11Mbps()
static uint32_t GetPlcpHeaderDurationMicroSeconds(WifiMode payloadMode, WifiPreamble preamble)
virtual uint32_t GetFrequency(void) const =0
virtual uint32_t GetNumberOfTransmitAntennas(void) const =0
virtual Ptr< WifiChannel > GetChannel(void) const =0
keep track of time values and allow control of global simulation resolution
static WifiMode GetErpOfdmRate36Mbps()
static WifiMode GetOfdmRate26MbpsBW20MHz()
virtual void ConfigureStandard(enum WifiPhyStandard standard)=0
static WifiMode GetOfdmRate9Mbps()
static WifiMode GetOfdmRate7_2MbpsBW20MHz()
static WifiMode GetOfdmRate18MbpsBW10MHz()
static WifiMode GetOfdmRate27MbpsBW10MHz()
static WifiMode GetOfdmRate3MbpsBW5MHz()
static WifiMode GetDsssRate1Mbps()
void NotifyMonitorSniffTx(Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, bool isShortPreamble, uint8_t txPower)
virtual uint32_t GetNModes(void) const =0
static WifiMode GetOfdmRate81MbpsBW40MHz()
static WifiMode GetErpOfdmRate18Mbps()
forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a norma...
static WifiMode GetOfdmRate12Mbps()
TracedCallback< Ptr< const Packet > > m_phyRxEndTrace
virtual uint8_t GetNMcs(void) const =0
static WifiMode GetOfdmRate43_3MbpsBW20MHz()
Callback< void, Ptr< Packet >, double, WifiMode, enum WifiPreamble > RxOkCallback
virtual double CalculateSnr(WifiMode txMode, double ber) const =0
static WifiMode GetOfdmRate60MbpsBW40MHz()
static WifiMode GetOfdmRate1_5MbpsBW5MHz()
static WifiMode GetOfdmRate4_5MbpsBW10MHz()
static WifiMode GetMFPlcpHeaderMode(WifiMode payloadMode, WifiPreamble preamble)
static WifiMode GetOfdmRate54Mbps()
virtual void SetNumberOfReceiveAntennas(uint32_t rx)=0
virtual bool GetLdpc(void) const =0
virtual uint8_t GetMcs(uint8_t mcs) const =0
void NotifyTxDrop(Ptr< const Packet > packet)
static WifiMode GetOfdmRate108MbpsBW40MHz()
static WifiMode GetOfdmRate21_7MbpsBW20MHz()
void NotifyTxBegin(Ptr< const Packet > packet)
virtual void NotifyTxStart(Time duration)=0
virtual uint32_t WifiModeToMcs(WifiMode mode)=0
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
static WifiMode GetOfdmRate135MbpsBW40MHz()
static WifiMode GetOfdmRate36Mbps()
static WifiMode GetOfdmRate6MbpsBW5MHz()
virtual bool IsStateCcaBusy(void)=0
virtual void RegisterListener(WifiPhyListener *listener)=0
virtual void NotifySwitchingStart(Time duration)=0
virtual bool IsStateIdle(void)=0
static WifiMode GetErpOfdmRate54Mbps()
void NotifyRxDrop(Ptr< const Packet > packet)
virtual uint16_t GetChannelNumber() const =0
Return current channel number, see SetChannelNumber()
static WifiMode GetOfdmRate6_5MbpsBW20MHz()
virtual bool GetStbc(void) const =0
static double GetPayloadDurationMicroSeconds(uint32_t size, WifiTxVector txvector)
Callback< void, Ptr< const Packet >, double > RxErrorCallback
virtual void NotifyRxEndOk(void)=0
static WifiMode GetOfdmRate135MbpsBW40MHzShGi()
virtual void SetFrequency(uint32_t freq)=0
virtual void SetReceiveErrorCallback(RxErrorCallback callback)=0
TracedCallback< Ptr< const Packet >, uint16_t, uint16_t, uint32_t, bool, uint8_t > m_phyMonitorSniffTxTrace
receive notifications about phy events.
TracedCallback< Ptr< const Packet > > m_phyTxDropTrace
static WifiMode GetErpOfdmRate48Mbps()
static WifiMode GetPlcpHeaderMode(WifiMode payloadMode, WifiPreamble preamble)
virtual Time GetDelayUntilIdle(void)=0
static WifiMode GetOfdmRate12MbpsBW10MHz()
virtual void SetLdpc(bool Ldpc)=0
TracedCallback< Ptr< const Packet > > m_phyRxDropTrace
virtual bool GetGuardInterval(void) const =0
virtual ~WifiPhyListener()
virtual void SetNumberOfTransmitAntennas(uint32_t tx)=0
void NotifyRxBegin(Ptr< const Packet > packet)
static WifiMode GetOfdmRate19_5MbpsBW20MHz()
static WifiMode GetOfdmRate18Mbps()
static WifiMode GetOfdmRate9MbpsBW10MHz()
TracedCallback< Ptr< const Packet >, uint16_t, uint16_t, uint32_t, bool, double, double > m_phyMonitorSniffRxTrace
static WifiMode GetOfdmRate12MbpsBW5MHz()
virtual uint32_t GetNBssMembershipSelectors(void) const =0
static WifiMode GetOfdmRate52MbpsBW20MHz()
static WifiMode GetOfdmRate40_5MbpsBW40MHz()
TracedCallback< Ptr< const Packet > > m_phyTxBeginTrace
virtual bool IsStateSwitching(void)=0
static WifiMode GetOfdmRate72_2MbpsBW20MHz()
static WifiMode GetOfdmRate65MbpsBW20MHzShGi()
virtual bool IsStateBusy(void)=0
static WifiMode GetOfdmRate48Mbps()
std::ostream & operator<<(std::ostream &os, const Angles &a)
void NotifyMonitorSniffRx(Ptr< const Packet > packet, uint16_t channelFreqMhz, uint16_t channelNumber, uint32_t rate, bool isShortPreamble, double signalDbm, double noiseDbm)
static TypeId GetTypeId(void)
static WifiMode GetOfdmRate57_8MbpsBW20MHz()
static WifiMode GetOfdmRate24Mbps()
virtual uint32_t GetBssMembershipSelector(uint32_t selector) const =0
static WifiMode GetOfdmRate13MbpsBW20MHz()
virtual bool IsStateRx(void)=0
virtual void SetGreenfield(bool greenfield)=0
virtual Time GetStateDuration(void)=0
static WifiMode GetOfdmRate65MbpsBW20MHz()
static uint32_t GetPlcpHtTrainingSymbolDurationMicroSeconds(WifiMode payloadMode, WifiPreamble preamble, WifiTxVector txvector)
static WifiMode GetOfdmRate58_5MbpsBW20MHz()
virtual WifiMode GetMode(uint32_t mode) const =0
static WifiMode GetDsssRate5_5Mbps()
virtual void SetStbc(bool stbc)=0
static WifiMode GetOfdmRate2_25MbpsBW5MHz()
std::vector< WifiMode > WifiModeList
static WifiMode GetErpOfdmRate9Mbps()
void NotifyTxEnd(Ptr< const Packet > packet)
virtual void SetChannelNumber(uint16_t id)=0
Set channel number.
virtual bool IsStateTx(void)=0
virtual void NotifyRxStart(Time duration)=0
virtual void NotifyRxEndError(void)=0
virtual double GetTxPowerEnd(void) const =0
static WifiMode GetOfdmRate15MbpsBW40MHz()
static WifiMode GetOfdmRate121_5MbpsBW40MHz()
static WifiMode GetOfdmRate28_9MbpsBW20MHz()
virtual void SetGuardInterval(bool GuardInterval)=0
static WifiMode GetErpOfdmRate6Mbps()
virtual double GetTxPowerStart(void) const =0
static Time CalculateTxDuration(uint32_t size, WifiTxVector txvector, enum WifiPreamble preamble)
virtual bool GetChannelBonding(void) const =0
static WifiMode GetErpOfdmRate12Mbps()
void NotifyRxEnd(Ptr< const Packet > packet)
static WifiMode GetOfdmRate13_5MbpsBW40MHz()
static WifiMode GetOfdmRate30MbpsBW40MHz()
virtual uint32_t GetNTxPower(void) const =0
static WifiMode GetOfdmRate54MbpsBW40MHz()
virtual void SetReceiveOkCallback(RxOkCallback callback)=0
virtual int64_t AssignStreams(int64_t stream)=0
virtual void SetChannelBonding(bool channelbonding)=0
static WifiMode GetOfdmRate90MbpsBW40MHz()
static WifiMode GetOfdmRate45MbpsBW40MHz()
static WifiMode GetOfdmRate120MbpsBW40MHz()
virtual void SendPacket(Ptr< const Packet > packet, WifiMode mode, enum WifiPreamble preamble, WifiTxVector txvector)=0
static WifiMode GetOfdmRate39MbpsBW20MHz()
a base class which provides memory management and object aggregation
static WifiMode GetDsssRate2Mbps()
static WifiMode GetOfdmRate6MbpsBW10MHz()
static WifiMode GetOfdmRate24MbpsBW10MHz()
virtual WifiModeList GetMembershipSelectorModes(uint32_t selector)=0
static WifiMode GetOfdmRate13_5MbpsBW5MHz()
virtual Time GetLastRxStartTime(void) const =0
a unique identifier for an interface.
static uint32_t GetPlcpPreambleDurationMicroSeconds(WifiMode payloadMode, WifiPreamble preamble)
virtual WifiMode McsToWifiMode(uint8_t mcs)=0
static WifiMode GetOfdmRate6Mbps()
static WifiMode GetOfdmRate27MbpsBW40MHz()
virtual bool GetGreenfield(void) const =0
virtual uint32_t GetNumberOfReceiveAntennas(void) const =0
static WifiMode GetOfdmRate4_5MbpsBW5MHz()
static WifiMode GetOfdmRate14_4MbpsBW20MHz()
static uint32_t GetPlcpHtSigHeaderDurationMicroSeconds(WifiMode payloadMode, WifiPreamble preamble)
static WifiMode GetOfdmRate3MbpsBW10MHz()
TracedCallback< Ptr< const Packet > > m_phyTxEndTrace
virtual void NotifyMaybeCcaBusyStart(Time duration)=0
static WifiMode GetOfdmRate150MbpsBW40MHz()