ns-3
|
Virtual base class for all UAN MAC protocols. More...
#include <uan-mac.h>
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. |
Virtual base class for all UAN MAC protocols.
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.
phy | Phy 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
pkt | Packet to be transmitted |
dest | Destination address |
protocolNumber | Protocol #. Usage varies by MAC |
Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.
Referenced by ns3::UanNetDevice::Send().
virtual Address ns3::UanMac::GetAddress | ( | void | ) | [pure virtual] |
Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.
Referenced by ns3::UanNetDevice::GetAddress(), ns3::UanPhyGen::SendPacket(), and ns3::UanPhyGen::StartRxPacket().
virtual Address ns3::UanMac::GetBroadcast | ( | void | ) | const [pure virtual] |
Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.
Referenced by ns3::UanNetDevice::GetBroadcast(), and ns3::UanNetDevice::GetMulticast().
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:
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] |
addr | UanAddress 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] |
cb | Callback 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().