hold a list of per-remote-station state. More...
#include <wifi-remote-station-manager.h>
Public Member Functions | |
void | AddBasicMode (WifiMode mode) |
void | AddSupportedMode (Mac48Address address, WifiMode mode) |
WifiMode | GetAckMode (Mac48Address address, WifiMode dataMode) |
WifiMode | GetBasicMode (uint32_t i) const |
WifiMode | GetCtsMode (Mac48Address address, WifiMode rtsMode) |
WifiMode | GetDataMode (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet, uint32_t fullPacketSize) |
WifiMode | GetDefaultMode (void) const |
uint32_t | GetFragmentationThreshold (void) const |
uint32_t | GetFragmentOffset (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet, uint32_t fragmentNumber) |
uint32_t | GetFragmentSize (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet, uint32_t fragmentNumber) |
WifiRemoteStationInfo | GetInfo (Mac48Address address) |
uint32_t | GetMaxSlrc (void) const |
uint32_t | GetMaxSsrc (void) const |
uint32_t | GetNBasicModes (void) const |
WifiMode | GetNonUnicastMode (void) const |
uint32_t | GetRtsCtsThreshold (void) const |
WifiMode | GetRtsMode (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet) |
bool | IsAssociated (Mac48Address address) const |
bool | IsBrandNew (Mac48Address address) const |
bool | IsLastFragment (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet, uint32_t fragmentNumber) |
bool | IsWaitAssocTxOk (Mac48Address address) const |
bool | NeedDataRetransmission (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet) |
bool | NeedFragmentation (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet) |
bool | NeedRts (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet) |
bool | NeedRtsRetransmission (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet) |
void | PrepareForQueue (Mac48Address address, const WifiMacHeader *header, Ptr< const Packet > packet, uint32_t fullPacketSize) |
void | RecordDisassociated (Mac48Address address) |
void | RecordGotAssocTxFailed (Mac48Address address) |
void | RecordGotAssocTxOk (Mac48Address address) |
void | RecordWaitAssocTxOk (Mac48Address address) |
void | ReportDataFailed (Mac48Address address, const WifiMacHeader *header) |
void | ReportDataOk (Mac48Address address, const WifiMacHeader *header, double ackSnr, WifiMode ackMode, double dataSnr) |
void | ReportFinalDataFailed (Mac48Address address, const WifiMacHeader *header) |
void | ReportFinalRtsFailed (Mac48Address address, const WifiMacHeader *header) |
void | ReportRtsFailed (Mac48Address address, const WifiMacHeader *header) |
void | ReportRtsOk (Mac48Address address, const WifiMacHeader *header, double ctsSnr, WifiMode ctsMode, double rtsSnr) |
void | ReportRxOk (Mac48Address address, const WifiMacHeader *header, double rxSnr, WifiMode txMode) |
void | Reset (void) |
void | Reset (Mac48Address address) |
void | SetFragmentationThreshold (uint32_t threshold) |
void | SetMaxSlrc (uint32_t maxSlrc) |
void | SetMaxSsrc (uint32_t maxSsrc) |
void | SetRtsCtsThreshold (uint32_t threshold) |
virtual void | SetupPhy (Ptr< WifiPhy > phy) |
Public Member Functions inherited from ns3::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) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Public Member Functions inherited from ns3::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 Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | DoDispose (void) |
uint32_t | GetNSupported (const WifiRemoteStation *station) const |
WifiMode | GetSupported (const WifiRemoteStation *station, uint32_t i) const |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Private Types | |
typedef std::vector < WifiRemoteStation * > | Stations |
typedef std::vector < WifiRemoteStationState * > | StationStates |
Private Member Functions | |
virtual WifiRemoteStation * | DoCreateStation (void) const =0 |
virtual WifiMode | DoGetDataMode (WifiRemoteStation *station, uint32_t size)=0 |
uint32_t | DoGetFragmentationThreshold (void) const |
virtual WifiMode | DoGetRtsMode (WifiRemoteStation *station)=0 |
virtual bool | DoNeedDataRetransmission (WifiRemoteStation *station, Ptr< const Packet > packet, bool normally) |
virtual bool | DoNeedFragmentation (WifiRemoteStation *station, Ptr< const Packet > packet, bool normally) |
virtual bool | DoNeedRts (WifiRemoteStation *station, Ptr< const Packet > packet, bool normally) |
virtual bool | DoNeedRtsRetransmission (WifiRemoteStation *station, Ptr< const Packet > packet, bool normally) |
virtual void | DoReportDataFailed (WifiRemoteStation *station)=0 |
virtual void | DoReportDataOk (WifiRemoteStation *station, double ackSnr, WifiMode ackMode, double dataSnr)=0 |
virtual void | DoReportFinalDataFailed (WifiRemoteStation *station)=0 |
virtual void | DoReportFinalRtsFailed (WifiRemoteStation *station)=0 |
virtual void | DoReportRtsFailed (WifiRemoteStation *station)=0 |
virtual void | DoReportRtsOk (WifiRemoteStation *station, double ctsSnr, WifiMode ctsMode, double rtsSnr)=0 |
virtual void | DoReportRxOk (WifiRemoteStation *station, double rxSnr, WifiMode txMode)=0 |
void | DoSetFragmentationThreshold (uint32_t threshold) |
WifiMode | GetControlAnswerMode (Mac48Address address, WifiMode reqMode) |
uint32_t | GetNFragments (const WifiMacHeader *header, Ptr< const Packet > packet) |
virtual bool | IsLowLatency (void) const =0 |
WifiRemoteStation * | Lookup (Mac48Address address, uint8_t tid) const |
WifiRemoteStation * | Lookup (Mac48Address address, const WifiMacHeader *header) const |
Find a remote station by its remote address and TID taken from MAC header. | |
WifiRemoteStationState * | LookupState (Mac48Address address) const |
Private Attributes | |
double | m_avgSlrcCoefficient |
WifiModeList | m_bssBasicRateSet |
WifiMode | m_defaultTxMode |
uint32_t | m_fragmentationThreshold |
bool | m_isLowLatency |
TracedCallback< Mac48Address > | m_macTxDataFailed |
TracedCallback< Mac48Address > | m_macTxFinalDataFailed |
TracedCallback< Mac48Address > | m_macTxFinalRtsFailed |
TracedCallback< Mac48Address > | m_macTxRtsFailed |
uint32_t | m_maxSlrc |
uint32_t | m_maxSsrc |
WifiMode | m_nonUnicastMode |
uint32_t | m_rtsCtsThreshold |
StationStates | m_states |
Stations | m_stations |
Ptr< WifiPhy > | m_wifiPhy |
hold a list of per-remote-station state.
ns3::WifiRemoteStationManager is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 81 of file wifi-remote-station-manager.h.
void ns3::WifiRemoteStationManager::AddSupportedMode | ( | Mac48Address | address, |
WifiMode | mode | ||
) |
Invoked in a STA or AP to store the set of modes supported by a destination which is also supported locally. The set of supported modes includes the BSSBasicRateSet.
Definition at line 275 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), and NS_ASSERT.
Referenced by Reset().
|
privatepure virtual |
Implemented in ns3::MinstrelWifiManager, ns3::RraaWifiManager, ns3::IdealWifiManager, ns3::ArfWifiManager, ns3::OnoeWifiManager, ns3::AmrrWifiManager, ns3::AarfcdWifiManager, ns3::CaraWifiManager, ns3::ConstantRateWifiManager, and ns3::AarfWifiManager.
|
protectedvirtual |
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.
Definition at line 199 of file wifi-remote-station-manager.cc.
|
privatepure virtual |
station | the station with which we need to communicate |
size | size of the packet or fragment we want to send |
Note: This method is called before sending a unicast packet or a fragment of a unicast packet to decide which transmission mode to use.
Implemented in ns3::MinstrelWifiManager, ns3::RraaWifiManager, ns3::IdealWifiManager, ns3::ArfWifiManager, ns3::OnoeWifiManager, ns3::AmrrWifiManager, ns3::AarfcdWifiManager, ns3::CaraWifiManager, ns3::ConstantRateWifiManager, and ns3::AarfWifiManager.
Referenced by GetDataMode(), and PrepareForQueue().
|
privatepure virtual |
station | the station with which we need to communicate |
Note: This method is called before sending an rts to a station to decide which transmission mode to use for the rts.
Implemented in ns3::MinstrelWifiManager, ns3::RraaWifiManager, ns3::IdealWifiManager, ns3::ArfWifiManager, ns3::OnoeWifiManager, ns3::AmrrWifiManager, ns3::AarfcdWifiManager, ns3::CaraWifiManager, ns3::ConstantRateWifiManager, and ns3::AarfWifiManager.
Referenced by GetRtsMode(), and PrepareForQueue().
|
privatevirtual |
station | the station with which we need to communicate |
packet | the packet to send |
normally | indicates whether the normal 802.11 data retransmission mechanism would request that the data is retransmitted or not. |
Note: This method is called after a unicast packet transmission has been attempted and has failed.
Definition at line 837 of file wifi-remote-station-manager.cc.
Referenced by NeedDataRetransmission().
|
privatevirtual |
station | the station with which we need to communicate |
packet | the packet to send |
normally | indicates whether the normal 802.11 data fragmentation mechanism would request that the data packet is fragmented or not. |
Note: This method is called before sending a unicast packet.
Definition at line 843 of file wifi-remote-station-manager.cc.
Referenced by NeedFragmentation().
|
privatevirtual |
station | the station with which we need to communicate |
packet | the packet to send |
normally | indicates whether the normal 802.11 rts enable mechanism would request that the rts is sent or not. |
Note: This method is called before a unicast packet is sent on the medium.
Reimplemented in ns3::RraaWifiManager, ns3::AarfcdWifiManager, and ns3::CaraWifiManager.
Definition at line 825 of file wifi-remote-station-manager.cc.
Referenced by NeedRts().
|
privatevirtual |
station | the station with which we need to communicate |
packet | the packet to send |
normally | indicates whether the normal 802.11 rts enable mechanism would request that the rts is retransmitted or not. |
Note: This method is called after an rts/cts handshake has been attempted and has failed.
Definition at line 831 of file wifi-remote-station-manager.cc.
Referenced by NeedRtsRetransmission().
WifiMode ns3::WifiRemoteStationManager::GetAckMode | ( | Mac48Address | address, |
WifiMode | dataMode | ||
) |
address | |
dataMode | the transmission mode used to send an ACK we just received |
Definition at line 703 of file wifi-remote-station-manager.cc.
References GetControlAnswerMode(), ns3::Mac48Address::IsGroup(), and NS_ASSERT.
|
private |
The standard has relatively unambiguous rules for selecting a control response rate (the below is quoted from IEEE 802.11-2007, Section 9.6):
To allow the transmitting STA to calculate the contents of the Duration/ID field, a STA responding to a received frame shall transmit its Control Response frame (either CTS or ACK), other than the BlockAck control frame, at the highest rate in the BSSBasicRateSet parameter that is less than or equal to the rate of the immediately previous frame in the frame exchange sequence (as defined in 9.12) and that is of the same modulation class (see 9.6.1) as the received frame...
If no suitable basic rate was found, we search the mandatory rates. The standard (IEEE 802.11-2007, Section 9.6) says:
...If no rate contained in the BSSBasicRateSet parameter meets these conditions, then the control frame sent in response to a received frame shall be transmitted at the highest mandatory rate of the PHY that is less than or equal to the rate of the received frame, and that is of the same modulation class as the received frame. In addition, the Control Response frame shall be sent using the same PHY options as the received frame, unless they conflict with the requirement to use the BSSBasicRateSet parameter.
TODO: Note that we're ignoring the last sentence for now, because there is not yet any manipulation here of PHY options.
If we still haven't found a suitable rate for the response then someone has messed up the simulation config. This probably means that the WifiPhyStandard is not set correctly, or that a rate that is not supported by the PHY has been explicitly requested in a WifiRemoteStationManager (or descendant) configuration.
Either way, it is serious - we can either disobey the standard or fail, and I have chosen to do the latter...
Definition at line 591 of file wifi-remote-station-manager.cc.
References ns3::WifiPhy::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::WifiPhy::GetNModes(), ns3::WifiMode::GetPhyRate(), ns3::WifiMode::IsMandatory(), m_bssBasicRateSet, m_wifiPhy, and NS_FATAL_ERROR.
Referenced by GetAckMode(), and GetCtsMode().
WifiMode ns3::WifiRemoteStationManager::GetCtsMode | ( | Mac48Address | address, |
WifiMode | rtsMode | ||
) |
address | remote address |
rtsMode | the transmission mode used to send an RTS we just received |
Definition at line 697 of file wifi-remote-station-manager.cc.
References GetControlAnswerMode(), ns3::Mac48Address::IsGroup(), and NS_ASSERT.
WifiMode ns3::WifiRemoteStationManager::GetDataMode | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet, | ||
uint32_t | fullPacketSize | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
fullPacketSize | the size of the packet after its 802.11 MAC header has been added. |
Definition at line 359 of file wifi-remote-station-manager.cc.
References DoGetDataMode(), ns3::Mac48Address::IsGroup(), IsLowLatency(), and NS_ASSERT.
uint32_t ns3::WifiRemoteStationManager::GetFragmentOffset | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet, | ||
uint32_t | fragmentNumber | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
fragmentNumber | the fragment index of the next fragment to send (starts at zero). |
Definition at line 574 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), NS_ASSERT, and ns3::WIFI_MAC_FCS_LENGTH.
uint32_t ns3::WifiRemoteStationManager::GetFragmentSize | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet, | ||
uint32_t | fragmentNumber | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
fragmentNumber | the fragment index of the next fragment to send (starts at zero). |
Definition at line 552 of file wifi-remote-station-manager.cc.
References ns3::Packet::GetSize(), ns3::Mac48Address::IsGroup(), NS_ASSERT, and ns3::WIFI_MAC_FCS_LENGTH.
WifiMode ns3::WifiRemoteStationManager::GetRtsMode | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
Definition at line 377 of file wifi-remote-station-manager.cc.
References DoGetRtsMode(), ns3::Mac48Address::IsGroup(), IsLowLatency(), and NS_ASSERT.
bool ns3::WifiRemoteStationManager::IsLastFragment | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet, | ||
uint32_t | fragmentNumber | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
fragmentNumber | the fragment index of the next fragment to send (starts at zero). |
Definition at line 583 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), and NS_ASSERT.
|
privatepure virtual |
Note: In this context, low vs high latency is defined in IEEE 802.11 Rate Adaptation: A Practical Approach, by M. Lacage, M.H. Manshaei, and T. Turletti.
Implemented in ns3::MinstrelWifiManager, ns3::RraaWifiManager, ns3::IdealWifiManager, ns3::ArfWifiManager, ns3::OnoeWifiManager, ns3::AarfcdWifiManager, ns3::CaraWifiManager, ns3::AmrrWifiManager, ns3::ConstantRateWifiManager, and ns3::AarfWifiManager.
Referenced by GetDataMode(), GetRtsMode(), and PrepareForQueue().
bool ns3::WifiRemoteStationManager::NeedDataRetransmission | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
Definition at line 481 of file wifi-remote-station-manager.cc.
References DoNeedDataRetransmission(), ns3::Mac48Address::IsGroup(), and NS_ASSERT.
bool ns3::WifiRemoteStationManager::NeedFragmentation | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
Definition at line 490 of file wifi-remote-station-manager.cc.
References DoNeedFragmentation(), ns3::Packet::GetSize(), ns3::Mac48Address::IsGroup(), and ns3::WIFI_MAC_FCS_LENGTH.
bool ns3::WifiRemoteStationManager::NeedRts | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
Definition at line 461 of file wifi-remote-station-manager.cc.
References DoNeedRts(), ns3::Packet::GetSize(), ns3::Mac48Address::IsGroup(), and ns3::WIFI_MAC_FCS_LENGTH.
bool ns3::WifiRemoteStationManager::NeedRtsRetransmission | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet | ||
) |
address | remote address |
header | MAC header |
packet | the packet to send |
Definition at line 472 of file wifi-remote-station-manager.cc.
References DoNeedRtsRetransmission(), ns3::Mac48Address::IsGroup(), and NS_ASSERT.
void ns3::WifiRemoteStationManager::PrepareForQueue | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
Ptr< const Packet > | packet, | ||
uint32_t | fullPacketSize | ||
) |
address | remote address |
header | MAC header |
packet | the packet to queue |
fullPacketSize | the size of the packet after its 802.11 MAC header has been added. |
This method is typically invoked just before queuing a packet for transmission. It is a no-op unless the IsLowLatency attribute of the attached ns3::WifiRemoteStationManager is set to false, in which case, the tx parameters of the packet are calculated and stored in the packet as a tag. These tx parameters are later retrieved from GetDadaMode and GetRtsMode.
Definition at line 341 of file wifi-remote-station-manager.cc.
References ns3::Packet::AddPacketTag(), DoGetDataMode(), DoGetRtsMode(), ns3::Mac48Address::IsGroup(), and IsLowLatency().
void ns3::WifiRemoteStationManager::ReportDataFailed | ( | Mac48Address | address, |
const WifiMacHeader * | header | ||
) |
Should be invoked whenever the AckTimeout associated to a transmission attempt expires.
Definition at line 401 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), m_macTxDataFailed, and NS_ASSERT.
void ns3::WifiRemoteStationManager::ReportDataOk | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
double | ackSnr, | ||
WifiMode | ackMode, | ||
double | dataSnr | ||
) |
Should be invoked whenever we receive the Ack associated to a data packet we just sent.
Definition at line 420 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), and NS_ASSERT.
void ns3::WifiRemoteStationManager::ReportFinalDataFailed | ( | Mac48Address | address, |
const WifiMacHeader * | header | ||
) |
Should be invoked after calling ReportDataFailed if NeedDataRetransmission returns false
Definition at line 440 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), m_macTxFinalDataFailed, and NS_ASSERT.
void ns3::WifiRemoteStationManager::ReportFinalRtsFailed | ( | Mac48Address | address, |
const WifiMacHeader * | header | ||
) |
Should be invoked after calling ReportRtsFailed if NeedRtsRetransmission returns false
Definition at line 430 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), m_macTxFinalRtsFailed, and NS_ASSERT.
void ns3::WifiRemoteStationManager::ReportRtsFailed | ( | Mac48Address | address, |
const WifiMacHeader * | header | ||
) |
Should be invoked whenever the RtsTimeout associated to a transmission attempt expires.
Definition at line 392 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), m_macTxRtsFailed, and NS_ASSERT.
void ns3::WifiRemoteStationManager::ReportRtsOk | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
double | ctsSnr, | ||
WifiMode | ctsMode, | ||
double | rtsSnr | ||
) |
Should be invoked whenever we receive the Cts associated to an RTS we just sent.
Definition at line 410 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup(), and NS_ASSERT.
void ns3::WifiRemoteStationManager::ReportRxOk | ( | Mac48Address | address, |
const WifiMacHeader * | header, | ||
double | rxSnr, | ||
WifiMode | txMode | ||
) |
address | remote address |
header | MAC header |
rxSnr | the snr of the packet received |
txMode | the transmission mode used for the packet received. |
Should be invoked whenever a packet is successfully received.
Definition at line 450 of file wifi-remote-station-manager.cc.
References ns3::Mac48Address::IsGroup().
void ns3::WifiRemoteStationManager::Reset | ( | Mac48Address | address | ) |
Invoked in an AP upon disassociation of a specific STA.
Definition at line 267 of file wifi-remote-station-manager.cc.
References AddSupportedMode(), ns3::Mac48Address::IsGroup(), and NS_ASSERT.
|
private |
This member is the list of WifiMode objects that comprise the BSSBasicRateSet parameter. This list is constructed through calls to WifiRemoteStationManager::AddBasicMode(), and an API that allows external access to it is available through WifiRemoteStationManager::GetNBasicModes() and WifiRemoteStationManager::GetBasicMode().
Definition at line 425 of file wifi-remote-station-manager.h.
Referenced by GetControlAnswerMode().
|
private |
The trace source fired when the transmission of a single data packet has failed
Definition at line 441 of file wifi-remote-station-manager.h.
Referenced by ReportDataFailed().
|
private |
The trace source fired when the transmission of a data packet has exceeded the maximum number of attempts
Definition at line 451 of file wifi-remote-station-manager.h.
Referenced by ReportFinalDataFailed().
|
private |
The trace source fired when the transmission of a RTS has exceeded the maximum number of attempts
Definition at line 446 of file wifi-remote-station-manager.h.
Referenced by ReportFinalRtsFailed().
|
private |
The trace source fired when the transmission of a single RTS has failed
Definition at line 437 of file wifi-remote-station-manager.h.
Referenced by ReportRtsFailed().
This is a pointer to the WifiPhy associated with this WifiRemoteStationManager that is set on call to WifiRemoteStationManager::SetupPhy(). Through this pointer the station manager can determine PHY characteristics, such as the set of all transmission rates that may be supported (the "DeviceRateSet").
Definition at line 414 of file wifi-remote-station-manager.h.
Referenced by GetControlAnswerMode().