A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::UanTransducer Class Reference

Virtual base for Transducer objects. More...

#include <uan-transducer.h>

+ Inheritance diagram for ns3::UanTransducer:
+ Collaboration diagram for ns3::UanTransducer:

Public Types

typedef std::list
< UanPacketArrival
ArrivalList
 Arrival list is a standard template library list of UanPacketArrivals objects.
enum  State { TX, RX }
 Transducer state (receiving or transmitting) More...
typedef std::list< Ptr< UanPhy > > UanPhyList
 UanPhyList is a standard template library list of UanPhy objects.

Public Member Functions

virtual void AddPhy (Ptr< UanPhy > phy)=0
virtual void Clear (void)=0
virtual const ArrivalListGetArrivalList (void) const =0
virtual Ptr< UanChannelGetChannel (void) const =0
virtual const UanPhyListGetPhyList (void) const =0
virtual State GetState (void) const =0
virtual bool IsRx (void) const =0
virtual bool IsTx (void) const =0
virtual void Receive (Ptr< Packet > packet, double rxPowerDb, UanTxMode txMode, UanPdp pdp)=0
 Receive Notify this object that a new packet has arrived at this nodes location.
virtual void SetChannel (Ptr< UanChannel > chan)=0
virtual void Transmit (Ptr< UanPhy > src, Ptr< Packet > packet, double txPowerDb, UanTxMode txMode)=0
 Transmit a packet from this transducer.
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
AggregateIterator GetAggregateIterator (void) const
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::UanTransducer.

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void DoDispose (void)
virtual void DoStart (void)
virtual void NotifyNewAggregate (void)

Detailed Description

Virtual base for Transducer objects.

The Transducer was added to support classes such as UanPhyDual. In a generic Phy setting, this class functions to hold information about all possibly interfering packets.

Definition at line 123 of file uan-transducer.h.

Member Typedef Documentation

Arrival list is a standard template library list of UanPacketArrivals objects.

Definition at line 138 of file uan-transducer.h.

UanPhyList is a standard template library list of UanPhy objects.

Definition at line 142 of file uan-transducer.h.

Member Enumeration Documentation

Transducer state (receiving or transmitting)

Enumerator:
TX 
RX 

Definition at line 131 of file uan-transducer.h.

Member Function Documentation

virtual void ns3::UanTransducer::AddPhy ( Ptr< UanPhy phy)
pure virtual
Parameters
phyAdd phy above this transducer (may connect > 1 Phy to a transducer)

Implemented in ns3::UanTransducerHd.

Referenced by ns3::UanPhyGen::SetTransducer().

+ Here is the caller graph for this function:

virtual void ns3::UanTransducer::Clear ( void  )
pure virtual

Clears all pointer references

Implemented in ns3::UanTransducerHd.

Referenced by ns3::UanNetDevice::Clear(), and ns3::UanPhyGen::Clear().

+ Here is the caller graph for this function:

virtual const ArrivalList& ns3::UanTransducer::GetArrivalList ( void  ) const
pure virtual
Returns
List of all packets currently crossing this node in the water.

Implemented in ns3::UanTransducerHd.

Referenced by ns3::UanPhyGen::CalculateSinrDb(), ns3::UanMacCw::Enqueue(), and ns3::UanPhyGen::GetInterferenceDb().

+ Here is the caller graph for this function:

virtual Ptr<UanChannel> ns3::UanTransducer::GetChannel ( void  ) const
pure virtual
Returns
Channel this transducer is attached to

Implemented in ns3::UanTransducerHd.

virtual const UanPhyList& ns3::UanTransducer::GetPhyList ( void  ) const
pure virtual
Returns
List of all Phy's this transducer sends packets to.

Implemented in ns3::UanTransducerHd.

virtual State ns3::UanTransducer::GetState ( void  ) const
pure virtual
Returns
State (TX or RX) of this transducer

Implemented in ns3::UanTransducerHd.

TypeId ns3::UanTransducer::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::UanTransducer.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Object.

Reimplemented in ns3::UanTransducerHd.

Definition at line 27 of file uan-transducer.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

virtual bool ns3::UanTransducer::IsRx ( void  ) const
pure virtual
Returns
True if this transducer is available for receiving an incoming packet.

Implemented in ns3::UanTransducerHd.

virtual bool ns3::UanTransducer::IsTx ( void  ) const
pure virtual
Returns
True if there is a packet being transmitted from this transducer.

Implemented in ns3::UanTransducerHd.

virtual void ns3::UanTransducer::Receive ( Ptr< Packet packet,
double  rxPowerDb,
UanTxMode  txMode,
UanPdp  pdp 
)
pure virtual

Receive Notify this object that a new packet has arrived at this nodes location.

Parameters
packetPacket arriving
rxPowerDbSignal power in dB of arriving packet
txModeMode arriving packet is using
pdpPDP of arriving signal

Implemented in ns3::UanTransducerHd.

virtual void ns3::UanTransducer::SetChannel ( Ptr< UanChannel chan)
pure virtual
Parameters
chanChannel this transducer is attached to

Implemented in ns3::UanTransducerHd.

Referenced by ns3::UanNetDevice::SetChannel(), and ns3::UanNetDevice::SetTransducer().

+ Here is the caller graph for this function:

virtual void ns3::UanTransducer::Transmit ( Ptr< UanPhy src,
Ptr< Packet packet,
double  txPowerDb,
UanTxMode  txMode 
)
pure virtual

Transmit a packet from this transducer.

Parameters
srcSource PHY
packetPacket to transmit
txPowerDbOutgoing Tx power of packet
txModeMode to transmit packet with.

Implemented in ns3::UanTransducerHd.

Referenced by ns3::UanPhyGen::SendPacket().

+ Here is the caller graph for this function:


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