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 |
![]() | |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Dispose (void) |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
void | Start (void) |
![]() | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
![]() | |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::UanMac. |
Additional Inherited Members | |
![]() | |
virtual void | NotifyNewAggregate (void) |
virtual void | DoStart (void) |
virtual void | DoDispose (void) |
Object (const Object &o) |
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::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.
Referenced by ns3::UanNetDevice::SetMac(), and ns3::UanNetDevice::SetPhy().
|
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().
|
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().
|
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().
|
pure virtual |
Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.
Referenced by ns3::UanNetDevice::GetBroadcast(), and ns3::UanNetDevice::GetMulticast().
|
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().
|
pure virtual |
addr | UanAddress for this MAC |
Implemented in ns3::UanMacRc, ns3::UanMacCw, ns3::UanMacRcGw, and ns3::UanMacAloha.
Referenced by ns3::UanNetDevice::SetAddress().
|
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().