21 #ifndef UAN_TRANSDUCER_H
22 #define UAN_TRANSDUCER_H
24 #include "ns3/object.h"
25 #include "ns3/packet.h"
27 #include "ns3/uan-prop-model.h"
171 virtual bool IsRx (
void)
const = 0;
177 virtual bool IsTx (
void)
const = 0;
231 virtual void Clear (
void) = 0;
UanPdp GetPdp(void) const
Get the propagation delay profile.
double m_rxPowerDb
The received power, in dB.
keep track of time values and allow control of global simulation resolution
Time GetArrivalTime(void) const
Get the packet arrival time.
virtual const UanPhyList & GetPhyList(void) const =0
Get the list of physical layer above this transducer.
virtual bool IsRx(void) const =0
Is the state receiving (or available for reception)?
std::list< Ptr< UanPhy > > UanPhyList
List of UanPhy objects.
virtual const ArrivalList & GetArrivalList(void) const =0
Get the list of overlapped (in time) packets at this transducer.
UanPacketArrival(Ptr< Packet > packet, double rxPowerDb, UanTxMode txMode, UanPdp pdp, Time arrTime)
Constructor.
virtual void Receive(Ptr< Packet > packet, double rxPowerDb, UanTxMode txMode, UanPdp pdp)=0
Notify this object that a new packet has arrived at this nodes location.
~UanPacketArrival()
Destructor.
virtual void AddPhy(Ptr< UanPhy > phy)=0
Attach a physical network layer above this transducer.
virtual State GetState(void) const =0
Get the transducer state.
Ptr< Packet > GetPacket(void) const
Get the arriving packet.
UanTxMode m_txMode
The transmission mode.
virtual void SetChannel(Ptr< UanChannel > chan)=0
Attach this transducer to a channel.
const UanTxMode & GetTxMode(void) const
Get the transmission mode of the packet.
virtual void Clear(void)=0
Clears all pointer references.
The power delay profile returned by propagation models.
Abstraction of packet modulation information.
UanPdp m_pdp
The propagation delay profile.
Virtual base for Transducer objects.
std::list< UanPacketArrival > ArrivalList
List of arriving packets overlapping in time.
double GetRxPowerDb(void) const
Get the received signal strength.
UanPacketArrival()
Default constructor.
virtual Ptr< UanChannel > GetChannel(void) const =0
Get the attached channel.
Time m_arrTime
The arrival time.
Ptr< Packet > m_packet
The arrived packet.
virtual bool IsTx(void) const =0
Is the state transmitting?
virtual void Transmit(Ptr< UanPhy > src, Ptr< Packet > packet, double txPowerDb, UanTxMode txMode)=0
Transmit a packet from this transducer.
a base class which provides memory management and object aggregation
a unique identifier for an interface.
Class consisting of packet arrival information (Time, RxPower, mode, PDP).
static TypeId GetTypeId(void)
Register this type.