21 #ifndef UAN_TRANSDUCER_HD_H 22 #define UAN_TRANSDUCER_HD_H 25 #include "ns3/simulator.h" 52 virtual bool IsRx (
void)
const;
53 virtual bool IsTx (
void)
const;
64 virtual void Clear (
void);
static TypeId GetTypeId(void)
Register this type.
Simulation virtual time values and global simulation resolution.
EventId m_endTxEvent
Event scheduled for end of transmission.
virtual const UanPhyList & GetPhyList(void) const
Get the list of physical layer above this transducer.
void EndTx(void)
Handle end of transmission event.
std::list< Ptr< UanPhy > > UanPhyList
List of UanPhy objects.
ArrivalList m_arrivalList
List of arriving packets which overlap in time.
virtual bool IsRx(void) const
Is the state receiving (or available for reception)?
Ptr< UanChannel > m_channel
The attached channel.
virtual void Receive(Ptr< Packet > packet, double rxPowerDb, UanTxMode txMode, UanPdp pdp)
Notify this object that a new packet has arrived at this nodes location.
bool m_cleared
Flab when we've been cleared.
virtual void DoDispose()
Destructor implementation.
virtual ~UanTransducerHd()
Dummy destructor, see DoDispose.
The power delay profile returned by propagation models.
Abstraction of packet modulation information.
Virtual base for Transducer objects.
std::list< UanPacketArrival > ArrivalList
List of arriving packets overlapping in time.
UanTransducerHd()
Constructor.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual State GetState(void) const
Get the transducer state.
double m_rxGainDb
Receive gain in dB.
virtual double GetRxGainDb(void)
Get the receiver gain added to signal at receiver in dB.
void RemoveArrival(UanPacketArrival arrival)
Remove an entry from the arrival list.
Time m_endTxTime
Time at which transmission will be completed.
virtual const ArrivalList & GetArrivalList(void) const
Get the list of overlapped (in time) packets at this transducer.
virtual double ApplyRxGainDb(double rxPowerDb, UanTxMode mode)
Apply receiver gain in dB to the received power.
virtual void SetChannel(Ptr< UanChannel > chan)
Attach this transducer to a channel.
virtual void AddPhy(Ptr< UanPhy >)
Attach a physical network layer above this transducer.
virtual void SetRxGainDb(double gainDb)
Set the receiver gain.
An identifier for simulation events.
virtual void Clear(void)
Clears all pointer references.
virtual Ptr< UanChannel > GetChannel(void) const
Get the attached channel.
UanPhyList m_phyList
List of physical layers attached above this tranducer.
virtual void Transmit(Ptr< UanPhy > src, Ptr< Packet > packet, double txPowerDb, UanTxMode txMode)
Transmit a packet from this transducer.
virtual bool IsTx(void) const
Is the state transmitting?
a unique identifier for an interface.
State m_state
Transducer state.
Half duplex implementation of transducer object.
Class consisting of packet arrival information (Time, RxPower, mode, PDP).