22 #ifndef UAN_PHY_DUAL_H
23 #define UAN_PHY_DUAL_H
25 #include "ns3/uan-phy.h"
48 static TypeId GetTypeId (
void);
78 static TypeId GetTypeId ();
121 virtual void Clear (
void);
251 virtual void SetSleepMode (
bool sleep)
290 void RxErrFromSubPhy (
Ptr<Packet> pkt,
double sinr);
virtual uint32_t GetNModes(void)
virtual Ptr< UanTransducer > GetTransducer(void)
forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a norma...
virtual void SetEnergyModelCallback(DeviceEnergyModel::ChangeStateCallback callback)
Ptr< Packet > GetPacketRx(void) const
virtual void SetMac(Ptr< UanMac > mac)
virtual bool IsStateSleep(void)
double GetCcaThresholdPhy2(void) const
Container for UanTxModes.
virtual bool IsStateTx(void)
virtual void SetCcaThresholdDb(double thresh)
virtual void SetDevice(Ptr< UanNetDevice > device)
virtual Ptr< UanChannel > GetChannel(void) const
virtual void SetTxPowerDb(double txpwr)
virtual bool IsStateBusy(void)
virtual double GetRxThresholdDb(void)
void SetCcaThresholdPhy1(double thresh)
virtual bool IsStateIdle(void)
virtual double CalcSinrDb(Ptr< Packet > pkt, Time arrTime, double rxPowerDb, double ambNoiseDb, UanTxMode mode, UanPdp pdp, const UanTransducer::ArrivalList &arrivalList) const
double GetRxGainDbPhy1(void) const
virtual void NotifyTransStartTx(Ptr< Packet > packet, double txPowerDb, UanTxMode txMode)
virtual void SendPacket(Ptr< Packet > pkt, uint32_t modeNum)
Ptr< Packet > GetPhy1PacketRx(void) const
Abstraction of packet modulation information.
std::list< UanPacketArrival > ArrivalList
Arrival list is a standard template library list of UanPacketArrivals objects.
virtual void NotifyIntChange(void)
virtual void SetChannel(Ptr< UanChannel > channel)
Ptr< UanPhyPer > GetPerModelPhy2(void) const
UanModesList GetModesPhy1(void) const
void SetModesPhy1(UanModesList modes)
Ptr< UanPhyCalcSinr > GetSinrModelPhy2(void) const
UanModesList GetModesPhy2(void) const
virtual void SetRxGainDb(double gain)
void SetPerModelPhy1(Ptr< UanPhyPer > per)
Interface for PHY event listener A class which implements this interface may register with Phy object...
virtual void StartRxPacket(Ptr< Packet > pkt, double rxPowerDb, UanTxMode txMode, UanPdp pdp)
Packet arriving from channel: i.e. leading bit of packet has arrived.
virtual bool IsStateRx(void)
double GetCcaThresholdPhy1(void) const
void SetModesPhy2(UanModesList modes)
Base class for UAN Phy models.
void SetSinrModelPhy2(Ptr< UanPhyCalcSinr > calcSinr)
virtual void SetRxThresholdDb(double thresh)
void SetSinrModelPhy1(Ptr< UanPhyCalcSinr > calcSinr)
virtual void SetReceiveOkCallback(RxOkCallback cb)
virtual void SetTransducer(Ptr< UanTransducer > trans)
int64_t AssignStreams(int64_t stream)
double GetTxPowerDbPhy1(void) const
void SetTxPowerDbPhy2(double)
virtual void RegisterListener(UanPhyListener *listener)
Register a class to receive phy state change notifications.
Ptr< UanPhyCalcSinr > GetSinrModelPhy1(void) const
virtual void SetReceiveErrorCallback(RxErrCallback cb)
double GetTxPowerDbPhy2(void) const
virtual double GetRxGainDb(void)
virtual bool IsStateCcaBusy(void)
virtual Ptr< UanNetDevice > GetDevice(void)
a unique identifier for an interface.
void SetTxPowerDbPhy1(double)
Ptr< Packet > GetPhy2PacketRx(void) const
double GetRxGainDbPhy2(void) const
void SetPerModelPhy2(Ptr< UanPhyPer > per)
virtual double GetCcaThresholdDb(void)
void SetRxGainDbPhy2(double gain)
Default SINR model for UanPhyDual.
void SetRxGainDbPhy1(double gain)
void SetCcaThresholdPhy2(double thresh)
Ptr< UanPhyPer > GetPerModelPhy1(void) const
virtual UanTxMode GetMode(uint32_t n)
virtual void EnergyDepletionHandler(void)
virtual double GetTxPowerDb(void)