Public Member Functions | Static Public Member Functions | Protected Member Functions

ns3::UanTransducerHd Class Reference

Half duplex implementation of transducer object. More...

#include <uan-transducer-hd.h>

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

List of all members.

Public Member Functions

virtual State GetState (void) const
virtual bool IsRx (void) const
virtual bool IsTx (void) const
virtual const ArrivalListGetArrivalList (void) const
virtual void Receive (Ptr< Packet > packet, double rxPowerDb, UanTxMode txMode, UanPdp pdp)
 Receive Notify this object that a new packet has arrived at this nodes location.
virtual void Transmit (Ptr< UanPhy > src, Ptr< Packet > packet, double txPowerDb, UanTxMode txMode)
 Transmit a packet from this transducer.
virtual void SetChannel (Ptr< UanChannel > chan)
virtual Ptr< UanChannelGetChannel (void) const
virtual void AddPhy (Ptr< UanPhy >)
virtual const UanPhyListGetPhyList (void) const
virtual void Clear (void)

Static Public Member Functions

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

Protected Member Functions

virtual void DoDispose ()

Detailed Description

Half duplex implementation of transducer object.

This class will only allow attached Phy's to receive packets if not in TX mode


Member Function Documentation

virtual void ns3::UanTransducerHd::AddPhy ( Ptr< UanPhy phy  )  [virtual]
Parameters:
phy Add phy above this transducer (may connect > 1 Phy to a transducer)

Implements ns3::UanTransducer.

virtual void ns3::UanTransducerHd::Clear ( void   )  [virtual]

Clears all pointer references

Implements ns3::UanTransducer.

virtual void ns3::UanTransducerHd::DoDispose (  )  [protected, virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

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

Implements ns3::UanTransducer.

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

Implements ns3::UanTransducer.

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

Implements ns3::UanTransducer.

virtual State ns3::UanTransducerHd::GetState ( void   )  const [virtual]
Returns:
State (TX or RX) of this transducer

Implements ns3::UanTransducer.

static TypeId ns3::UanTransducerHd::GetTypeId ( void   )  [static]

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::UanTransducerHd
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::UanTransducerHd

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

Reimplemented from ns3::Object.

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

Implements ns3::UanTransducer.

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

Implements ns3::UanTransducer.

virtual void ns3::UanTransducerHd::Receive ( Ptr< Packet packet,
double  rxPowerDb,
UanTxMode  txMode,
UanPdp  pdp 
) [virtual]

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

Parameters:
packet Packet arriving
rxPowerDb Signal power in dB of arriving packet
txMode Mode arriving packet is using
pdp PDP of arriving signal

Implements ns3::UanTransducer.

virtual void ns3::UanTransducerHd::SetChannel ( Ptr< UanChannel chan  )  [virtual]
Parameters:
chan Channel this transducer is attached to

Implements ns3::UanTransducer.

virtual void ns3::UanTransducerHd::Transmit ( Ptr< UanPhy src,
Ptr< Packet packet,
double  txPowerDb,
UanTxMode  txMode 
) [virtual]

Transmit a packet from this transducer.

Parameters:
src Source PHY
packet Packet to transmit
txPowerDb Outgoing Tx power of packet
txMode Mode to transmit packet with.

Implements ns3::UanTransducer.


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