Public Types | Public Member Functions

ns3::UanPhy Class Reference

Base class for UAN Phy models. More...

#include <uan-phy.h>

Inheritance diagram for ns3::UanPhy:
Inheritance graph
[legend]
Collaboration diagram for ns3::UanPhy:
Collaboration graph
[legend]

List of all members.

Public Types

enum  State { IDLE, CCABUSY, RX, TX }
 

Enum defining possible Phy states.


typedef Callback< void, Ptr
< Packet >, double, UanTxMode
RxOkCallback
typedef Callback< void, Ptr
< Packet >, double > 
RxErrCallback

Public Member Functions

virtual void SendPacket (Ptr< Packet > pkt, uint32_t modeNum)=0
virtual void RegisterListener (UanPhyListener *listener)=0
virtual void StartRxPacket (Ptr< Packet > pkt, double rxPowerDb, UanTxMode txMode, UanPdp pdp)=0
 Packet arriving from channel: i.e. leading bit of packet has arrived.
virtual void SetReceiveOkCallback (RxOkCallback cb)=0
virtual void SetReceiveErrorCallback (RxErrCallback cb)=0
virtual void SetRxGainDb (double gain)=0
virtual void SetTxPowerDb (double txpwr)=0
virtual void SetRxThresholdDb (double thresh)=0
virtual void SetCcaThresholdDb (double thresh)=0
virtual double GetRxGainDb (void)=0
virtual double GetTxPowerDb (void)=0
virtual double GetRxThresholdDb (void)=0
virtual double GetCcaThresholdDb (void)=0
virtual bool IsStateIdle (void)=0
virtual bool IsStateBusy (void)=0
virtual bool IsStateRx (void)=0
virtual bool IsStateTx (void)=0
virtual bool IsStateCcaBusy (void)=0
virtual Ptr< UanChannelGetChannel (void) const =0
virtual Ptr< UanNetDeviceGetDevice (void)=0
virtual void SetChannel (Ptr< UanChannel > channel)=0
virtual void SetDevice (Ptr< UanNetDevice > device)=0
virtual void SetMac (Ptr< UanMac > mac)=0
virtual void NotifyTransStartTx (Ptr< Packet > packet, double txPowerDb, UanTxMode txMode)=0
virtual void NotifyIntChange (void)=0
virtual void SetTransducer (Ptr< UanTransducer > trans)=0
virtual Ptr< UanTransducerGetTransducer (void)=0
virtual uint32_t GetNModes (void)=0
virtual UanTxMode GetMode (uint32_t n)=0
virtual Ptr< PacketGetPacketRx (void) const =0
virtual void Clear (void)=0

Detailed Description

Base class for UAN Phy models.


Member Typedef Documentation

typedef Callback<void, Ptr<Packet>, double > ns3::UanPhy::RxErrCallback

arg1: packet received successfully arg2: snr of packet

arg1: packet received successfully arg2: snr of packet arg3: mode of packet


Member Function Documentation

virtual void ns3::UanPhy::Clear ( void   )  [pure virtual]

Clears all pointer references

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual double ns3::UanPhy::GetCcaThresholdDb ( void   )  [pure virtual]
Returns:
Threshold signal strength in dB to enter CCA busy mode

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual Ptr<UanChannel> ns3::UanPhy::GetChannel ( void   )  const [pure virtual]
Returns:
Channel this phy is attached to

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual Ptr<UanNetDevice> ns3::UanPhy::GetDevice ( void   )  [pure virtual]
Returns:
the Net Device that this Phy is a part of

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual UanTxMode ns3::UanPhy::GetMode ( uint32_t  n  )  [pure virtual]
Parameters:
n Mode number of mode to return (place in Modeslist)
Returns:
Mode n

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual uint32_t ns3::UanPhy::GetNModes ( void   )  [pure virtual]
Returns:
Number of TX modes supported by this PHY

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual Ptr<Packet> ns3::UanPhy::GetPacketRx ( void   )  const [pure virtual]
Warning:
Returns non-valid pointer if IsStateRx == false
Returns:
Packet currently being received in PHY

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual double ns3::UanPhy::GetRxGainDb ( void   )  [pure virtual]
Returns:
Gain added to signal at receiver in dB

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual double ns3::UanPhy::GetRxThresholdDb ( void   )  [pure virtual]
Returns:
Required signal strength, in dB, to begin receiving packet

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual Ptr<UanTransducer> ns3::UanPhy::GetTransducer ( void   )  [pure virtual]
Returns:
Transducer this Phy outputs to / receives from

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual double ns3::UanPhy::GetTxPowerDb ( void   )  [pure virtual]
Returns:
Current TX power output

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual bool ns3::UanPhy::IsStateBusy ( void   )  [pure virtual]
Returns:
True if Phy is not IDLE

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual bool ns3::UanPhy::IsStateCcaBusy ( void   )  [pure virtual]
Returns:
True if Phy is not TX or RX but the channel is sensed busy

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual bool ns3::UanPhy::IsStateIdle ( void   )  [pure virtual]
Returns:
True if Phy is IDLE

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual bool ns3::UanPhy::IsStateRx ( void   )  [pure virtual]
Returns:
True if Phy is currently in receive mode

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual bool ns3::UanPhy::IsStateTx ( void   )  [pure virtual]
Returns:
True if Phy is busy transmitting

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::NotifyIntChange ( void   )  [pure virtual]

Function called when there has been a change in the ammount of interference this node is experiencing from other transmissions

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::NotifyTransStartTx ( Ptr< Packet packet,
double  txPowerDb,
UanTxMode  txMode 
) [pure virtual]
Parameters:
packet Packet that is beginning transmission
txPowerDb Transmit power of packet
txMode Transmission mode of packet

Notification that there is a transmission beginning on the transducer that this Phy is attached to.

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::RegisterListener ( UanPhyListener listener  )  [pure virtual]
Parameters:
listener New listener to register

Register an object to be notified of common Phy events

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SendPacket ( Ptr< Packet pkt,
uint32_t  modeNum 
) [pure virtual]
Parameters:
pkt Packet to transmit
modeNum Index of mode in SupportedModes list to use for transmission

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetCcaThresholdDb ( double  thresh  )  [pure virtual]
Parameters:
thresh Signal power at receiver required for CCA busy state

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetChannel ( Ptr< UanChannel channel  )  [pure virtual]
Parameters:
channel The channel this Phy is attached to

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetDevice ( Ptr< UanNetDevice device  )  [pure virtual]
Parameters:
device The Net Device this Phy is a part of

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetMac ( Ptr< UanMac mac  )  [pure virtual]
Parameters:
mac The MAC forwarding messages to this Phy

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetReceiveErrorCallback ( RxErrCallback  cb  )  [pure virtual]
Parameters:
cb Callback to be enabled when a packet is received with errors

Implemented in ns3::UanPhyGen.

virtual void ns3::UanPhy::SetReceiveOkCallback ( RxOkCallback  cb  )  [pure virtual]
Parameters:
cb Callback to be enabled when packet is received without error

Implemented in ns3::UanPhyGen.

virtual void ns3::UanPhy::SetRxGainDb ( double  gain  )  [pure virtual]
Parameters:
gain Gain added at receiver

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetRxThresholdDb ( double  thresh  )  [pure virtual]
Parameters:
thresh Threshold SINR for propper reception in dB

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetTransducer ( Ptr< UanTransducer trans  )  [pure virtual]
Parameters:
trans Transducer this Phy outputs to / receives from

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::SetTxPowerDb ( double  txpwr  )  [pure virtual]
Parameters:
txpwr Final output transmission power in dB

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.

virtual void ns3::UanPhy::StartRxPacket ( Ptr< Packet pkt,
double  rxPowerDb,
UanTxMode  txMode,
UanPdp  pdp 
) [pure virtual]

Packet arriving from channel: i.e. leading bit of packet has arrived.

Parameters:
pkt Packet which is arriving
rxPowerDb Signal power of incoming packet in dB
txMode Transmission mode defining modulation of incoming packet
pdp Power delay profile of incoming packet

Implemented in ns3::UanPhyDual, and ns3::UanPhyGen.


The documentation for this class was generated from the following file: