ns-3
ns3::UanMac Class Reference

Virtual base class for all UAN MAC protocols. More...

#include <uan-mac.h>

Inheritance diagram for ns3::UanMac:
Collaboration diagram for ns3::UanMac:

List of all members.

Public Member Functions

virtual Address GetAddress (void)=0
virtual void SetAddress (UanAddress addr)=0
virtual bool Enqueue (Ptr< Packet > pkt, const Address &dest, uint16_t protocolNumber)=0
virtual void SetForwardUpCb (Callback< void, Ptr< Packet >, const UanAddress & > cb)=0
virtual void AttachPhy (Ptr< UanPhy > phy)=0
virtual Address GetBroadcast (void) const =0
virtual void Clear (void)=0

Static Public Member Functions

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

Detailed Description

Virtual base class for all UAN MAC protocols.


Member Function Documentation

virtual void ns3::UanMac::AttachPhy ( Ptr< UanPhy phy) [pure virtual]

Attach PHY layer to this MAC. Some MACs may be designed to work with multiple PHY layers. Others may only work with one.

Parameters:
phyPhy layer to attach to this MAC

Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.

Referenced by ns3::UanNetDevice::SetMac(), and ns3::UanNetDevice::SetPhy().

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

Clears all pointer references

Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.

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

virtual bool ns3::UanMac::Enqueue ( Ptr< Packet pkt,
const Address dest,
uint16_t  protocolNumber 
) [pure virtual]

Enqueue packet to be transmitted

Parameters:
pktPacket to be transmitted
destDestination address
protocolNumberProtocol #. Usage varies by MAC

Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.

Referenced by ns3::UanNetDevice::Send().

virtual Address ns3::UanMac::GetBroadcast ( void  ) const [pure virtual]
TypeId ns3::UanMac::GetTypeId ( void  ) [static]

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanNetDevice/Mac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanNetDevice/Mac
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac

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

Reimplemented from ns3::Object.

Reimplemented in ns3::UanMacRc, ns3::UanMacRcGw, ns3::UanMacCw, and ns3::UanMacAloha.

References ns3::TypeId::SetParent().

virtual void ns3::UanMac::SetAddress ( UanAddress  addr) [pure virtual]
Parameters:
addrUanAddress for this MAC

Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.

Referenced by ns3::UanNetDevice::SetAddress().

virtual void ns3::UanMac::SetForwardUpCb ( Callback< void, Ptr< Packet >, const UanAddress & >  cb) [pure virtual]
Parameters:
cbCallback to be called when a packet is forwarded up to higher layer

Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.

Referenced by ns3::UanNetDevice::SetMac().


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