Non-gateway node MAC for reservation channel MAC protocol. More...
#include <uan-mac-rc.h>
Public Types | |
enum | { TYPE_DATA, TYPE_GWPING, TYPE_RTS, TYPE_CTS, TYPE_ACK } |
Public Member Functions | |
virtual Address | GetAddress (void) |
virtual void | SetAddress (UanAddress addr) |
virtual bool | Enqueue (Ptr< Packet > pkt, const Address &dest, uint16_t protocolNumber) |
virtual void | SetForwardUpCb (Callback< void, Ptr< Packet >, const UanAddress & > cb) |
virtual void | AttachPhy (Ptr< UanPhy > phy) |
virtual Address | GetBroadcast (void) const |
virtual void | Clear (void) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::UanMacRc. | |
Protected Member Functions | |
void | DoDispose () |
Non-gateway node MAC for reservation channel MAC protocol.
This MAC protocol assumes a network topology where all traffic is destined for a set of GW nodes which are connected via some out of band (RF?) means. This particular implementation assumes that there is only a single gateway.
For more information on class operation email lentracy@u.washington.edu (This work is, as of yet, unpublished)
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 |
Implements ns3::UanMac.
virtual void ns3::UanMacRc::Clear | ( | void | ) | [virtual] |
Clears all pointer references
Implements ns3::UanMac.
void ns3::UanMacRc::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 bool ns3::UanMacRc::Enqueue | ( | Ptr< Packet > | pkt, | |
const Address & | dest, | |||
uint16_t | protocolNumber | |||
) | [virtual] |
Enqueue packet to be transmitted
pkt | Packet to be transmitted | |
dest | Destination address | |
protocolNumber | Protocol #. Usage varies by MAC |
Implements ns3::UanMac.
virtual Address ns3::UanMacRc::GetAddress | ( | void | ) | [virtual] |
Implements ns3::UanMac.
virtual Address ns3::UanMacRc::GetBroadcast | ( | void | ) | const [virtual] |
Implements ns3::UanMac.
static TypeId ns3::UanMacRc::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::UanMacRc.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
TraceSources defined for this type:
Reimplemented from ns3::Object.
virtual void ns3::UanMacRc::SetAddress | ( | UanAddress | addr | ) | [virtual] |
addr | UanAddress for this MAC |
Implements ns3::UanMac.
virtual void ns3::UanMacRc::SetForwardUpCb | ( | Callback< void, Ptr< Packet >, const UanAddress & > | cb | ) | [virtual] |
cb | Callback to be called when a packet is forwarded up to higher layer |
Implements ns3::UanMac.