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 |
Virtual base class for all UAN MAC protocols.
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::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.
virtual void ns3::UanMac::Clear | ( | void | ) | [pure virtual] |
Clears all pointer references
Implemented in ns3::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.
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::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.
virtual Address ns3::UanMac::GetAddress | ( | void | ) | [pure virtual] |
Implemented in ns3::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.
virtual Address ns3::UanMac::GetBroadcast | ( | void | ) | const [pure virtual] |
Implemented in ns3::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.
virtual void ns3::UanMac::SetAddress | ( | UanAddress | addr | ) | [pure virtual] |
addr | UanAddress for this MAC |
Implemented in ns3::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.
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::UanMacAloha, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacRc.