#include <adhoc-wifi-mac.h>
Public Member Functions | |
AdhocWifiMac () | |
virtual | ~AdhocWifiMac () |
virtual void | Enqueue (Ptr< const Packet > packet, Mac48Address to) |
virtual void | SetAddress (Mac48Address address) |
virtual void | SetLinkUpCallback (Callback< void > linkUp) |
![]() | |
RegularWifiMac () | |
virtual | ~RegularWifiMac () |
virtual void | Enqueue (Ptr< const Packet > packet, Mac48Address to, Mac48Address from) |
Time | GetAckTimeout (void) const |
virtual Mac48Address | GetAddress (void) const |
virtual Time | GetBasicBlockAckTimeout (void) const |
virtual Mac48Address | GetBssid (void) const |
virtual Time | GetCompressedBlockAckTimeout (void) const |
Time | GetCtsTimeout (void) const |
bool | GetCtsToSelfSupported () const |
Time | GetEifsNoDifs (void) const |
Time | GetPifs (void) const |
Time | GetRifs (void) const |
Time | GetSifs (void) const |
Time | GetSlot (void) const |
virtual Ssid | GetSsid (void) const |
virtual Ptr< WifiPhy > | GetWifiPhy () const |
virtual Ptr < WifiRemoteStationManager > | GetWifiRemoteStationManager () const |
void | SetAckTimeout (Time ackTimeout) |
virtual void | SetBasicBlockAckTimeout (Time blockAckTimeout) |
virtual void | SetBssid (Mac48Address bssid) |
virtual void | SetCompressedBlockAckTimeout (Time blockAckTimeout) |
void | SetCtsTimeout (Time ctsTimeout) |
void | SetCtsToSelfSupported (bool enable) |
void | SetEifsNoDifs (Time eifsNoDifs) |
virtual void | SetForwardUpCallback (ForwardUpCallback upCallback) |
virtual void | SetLinkDownCallback (Callback< void > linkDown) |
void | SetPifs (Time pifs) |
virtual void | SetPromisc (void) |
Sets the interface in promiscuous mode. More... | |
void | SetRifs (Time rifs) |
void | SetSifs (Time sifs) |
void | SetSlot (Time slotTime) |
virtual void | SetSsid (Ssid ssid) |
virtual void | SetWifiPhy (Ptr< WifiPhy > phy) |
virtual void | SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > stationManager) |
virtual bool | SupportsSendFrom (void) const |
![]() | |
void | ConfigureStandard (enum WifiPhyStandard standard) |
Time | GetMaxPropagationDelay (void) const |
Time | GetMsduLifetime (void) const |
void | NotifyPromiscRx (Ptr< const Packet > packet) |
void | NotifyRx (Ptr< const Packet > packet) |
void | NotifyRxDrop (Ptr< const Packet > packet) |
void | NotifyTx (Ptr< const Packet > packet) |
void | NotifyTxDrop (Ptr< const Packet > packet) |
virtual void | SetForwardUpCallback (Callback< void, Ptr< Packet >, Mac48Address, Mac48Address > upCallback)=0 |
void | SetMaxPropagationDelay (Time delay) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
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) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Private Member Functions | |
virtual void | Receive (Ptr< Packet > packet, const WifiMacHeader *hdr) |
ns3::AdhocWifiMac is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 36 of file adhoc-wifi-mac.h.
ns3::AdhocWifiMac::AdhocWifiMac | ( | ) |
Definition at line 55 of file adhoc-wifi-mac.cc.
References ns3::ADHOC_STA, NS_LOG_FUNCTION, and ns3::RegularWifiMac::SetTypeOfStation().
|
virtual |
Definition at line 63 of file adhoc-wifi-mac.cc.
References NS_LOG_FUNCTION.
|
virtual |
packet | the packet to send. |
to | the address to which the packet should be sent. |
The packet should be enqueued in a tx queue, and should be dequeued as soon as the channel access function determines that access is granted to this MAC.
Implements ns3::RegularWifiMac.
Definition at line 83 of file adhoc-wifi-mac.cc.
References ns3::RegularWifiMac::GetBssid(), ns3::WifiPhy::GetMode(), ns3::WifiPhy::GetNModes(), ns3::RegularWifiMac::m_dca, ns3::RegularWifiMac::m_edca, ns3::RegularWifiMac::m_low, ns3::RegularWifiMac::m_phy, ns3::RegularWifiMac::m_qosSupported, ns3::RegularWifiMac::m_stationManager, ns3::WifiMacHeader::NORMAL_ACK, NS_ASSERT, NS_LOG_FUNCTION, ns3::QosUtilsGetTidForPacket(), ns3::QosUtilsMapTidToAc(), ns3::WifiMacHeader::SetAddr1(), ns3::WifiMacHeader::SetAddr2(), ns3::WifiMacHeader::SetAddr3(), ns3::WifiMacHeader::SetDsNotFrom(), ns3::WifiMacHeader::SetDsNotTo(), ns3::WifiMacHeader::SetQosAckPolicy(), ns3::WifiMacHeader::SetQosNoAmsdu(), ns3::WifiMacHeader::SetQosNoEosp(), ns3::WifiMacHeader::SetQosTid(), ns3::WifiMacHeader::SetQosTxopLimit(), ns3::WifiMacHeader::SetType(), ns3::WifiMacHeader::SetTypeData(), and ns3::WIFI_MAC_QOSDATA.
|
static |
Definition at line 46 of file adhoc-wifi-mac.cc.
References ns3::TypeId::SetParent().
|
privatevirtual |
This method acts as the MacRxMiddle receive callback and is invoked to notify us that a frame has been received. The implementation is intended to capture logic that is going to be common to all (or most) derived classes. Specifically, handling of Block Ack managment frames is dealt with here.
This method will need, however, to be overriden by derived classes so that they can perform their data handling before invoking the base version.
packet | the packet that has been received. |
hdr | a pointer to the MAC header of the received frame. |
Reimplemented from ns3::RegularWifiMac.
Definition at line 166 of file adhoc-wifi-mac.cc.
References ns3::RegularWifiMac::DeaggregateAmsduAndForward(), ns3::RegularWifiMac::ForwardUp(), ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetAddr2(), ns3::WifiMacHeader::IsCtl(), ns3::WifiMacHeader::IsData(), ns3::WifiMacHeader::IsQosAmsdu(), ns3::WifiMacHeader::IsQosData(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::RegularWifiMac::Receive().
|
virtual |
address | the current address of this MAC layer. |
Reimplemented from ns3::RegularWifiMac.
Definition at line 69 of file adhoc-wifi-mac.cc.
References NS_LOG_FUNCTION, ns3::RegularWifiMac::SetAddress(), and ns3::RegularWifiMac::SetBssid().
|
virtual |
linkUp | the callback to invoke when the link becomes up. |
Reimplemented from ns3::RegularWifiMac.
Definition at line 154 of file adhoc-wifi-mac.cc.
References NS_LOG_FUNCTION, and ns3::RegularWifiMac::SetLinkUpCallback().