27 #include <unordered_map> 32 class CapabilityInformation;
33 class DsssParameterSet;
35 class EdcaParameterSet;
101 const std::map<uint16_t, Mac48Address>&
GetStaList (
void)
const;
310 std::unordered_map<Mac48Address, uint16_t, WifiAddressHash>
m_addressIdMap;
325 std::unordered_map<WifiAddressTidPair, bsrType, WifiAddressTidHash>
m_bufferStatus;
void Enqueue(Ptr< Packet > packet, Mac48Address to) override
std::map< uint16_t, Mac48Address > m_staList
Map of all stations currently associated to the AP with their association ID.
void SetBeaconInterval(Time interval)
Simulation virtual time values and global simulation resolution.
void ForwardDown(Ptr< Packet > packet, Mac48Address from, Mac48Address to)
Forward the packet down to DCF/EDCAF (enqueue the packet).
SupportedRates GetSupportedRates(void) const
Return an instance of SupportedRates that contains all rates that we support including HT rates...
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
EdcaParameterSet GetEdcaParameterSet(void) const
Return the EDCA Parameter Set of the current AP.
HeOperation GetHeOperation(void) const
Return the HE operation of the current AP.
void SetAddress(Mac48Address address) override
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
TracedCallback< uint16_t, Mac48Address > m_deAssocLogger
deassociation logger
Forward calls to a chain of Callback.
bool m_shortPreambleEnabled
Flag whether short preamble is enabled in the BSS.
uint16_t m_numNonHtStations
Number of non-HT stations currently associated to the AP.
The VHT Operation Information ElementThis class knows how to serialise and deserialise the VHT Operat...
uint16_t m_numNonErpStations
Number of non-ERP stations currently associated to the AP.
store value and timestamp for each Buffer Status Report
uint16_t GetAssociationId(Mac48Address addr) const
The HT Operation Information ElementThis class knows how to serialise and deserialise the HT Operatio...
void UpdateShortSlotTimeEnabled(void)
Update whether short slot time should be enabled or not in the BSS.
Time GetBeaconInterval(void) const
const std::map< uint16_t, Mac48Address > & GetStaList(void) const
Get a const reference to the map of associated stations.
uint16_t GetVhtOperationalChannelWidth(void) const
Determine the VHT operational channel width (in MHz).
uint16_t GetNextAssociationId(void)
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
void DeaggregateAmsduAndForward(Ptr< WifiMacQueueItem > mpdu) override
This method is called to de-aggregate an A-MSDU and forward the constituent packets up the stack...
bool m_enableBeaconGeneration
Flag whether beacons are being generated.
void SendAssocResp(Mac48Address to, bool success, bool isReassoc)
Forward an association or a reassociation response packet to the DCF.
base class for all MAC-level wifi objects.
void SetBufferStatus(uint8_t tid, Mac48Address address, uint8_t size)
Store the value of the Queue Size subfield of the last QoS Data or QoS Null frame received from the s...
bool SupportsSendFrom(void) const override
uint8_t GetMaxBufferStatus(Mac48Address address) const
Return the maximum among the values of the Queue Size subfield of the last QoS Data or QoS Null frame...
static TypeId GetTypeId(void)
Get the type ID.
CapabilityInformation GetCapabilities(void) const
Return the Capability information of the current AP.
Time timestamp
timestamp of BSR
Time m_bsrLifetime
Lifetime of Buffer Status Reports.
VhtOperation GetVhtOperation(void) const
Return the VHT operation of the current AP.
void SetWifiRemoteStationManager(const Ptr< WifiRemoteStationManager > stationManager) override
void SetLinkUpCallback(Callback< void > linkUp) override
bool m_enableNonErpProtection
Flag whether protection mechanism is used or not when non-ERP STAs are present within the BSS...
EventId m_beaconEvent
Event to generate one beacon.
Ptr< Txop > m_beaconTxop
Dedicated Txop for beacons.
void Receive(Ptr< WifiMacQueueItem > mpdu) override
This method acts as the MacRxMiddle receive callback and is invoked to notify us that a frame has bee...
void TxFailed(uint8_t timeoutReason, Ptr< const WifiMacQueueItem > mpdu, const WifiTxVector &txVector)
The packet we sent was successfully received by the receiver (i.e.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
The EDCA Parameter SetThis class knows how to serialise and deserialise the EDCA Parameter Set...
void TxOk(Ptr< const WifiMacQueueItem > mpdu)
The packet we sent was successfully received by the receiver (i.e.
bool m_shortSlotTimeEnabled
Flag whether short slot time is enabled within the BSS.
uint8_t value
value of BSR
void UpdateShortPreambleEnabled(void)
Update whether short preamble should be enabled or not in the BSS.
Wi-Fi AP state machineHandle association, dis-association and authentication, of STAs within an infra...
DsssParameterSet GetDsssParameterSet(void) const
Return the DSSS Parameter Set that we support.
HtOperation GetHtOperation(void) const
Return the HT operation of the current AP.
ErpInformation GetErpInformation(void) const
Return the ERP information of the current AP.
void SendProbeResp(Mac48Address to)
Forward a probe response packet to the DCF.
The DSSS Parameter SetThis class knows how to serialise and deserialise the DSSS Parameter Set...
bool GetUseNonErpProtection(void) const
Return whether protection for non-ERP stations is used in the BSS.
void SendOneBeacon(void)
Forward a beacon packet to the beacon special DCF.
An identifier for simulation events.
void(* AssociationCallback)(uint16_t aid, Mac48Address address)
TracedCallback signature for association/deassociation events.
Ptr< UniformRandomVariable > m_beaconJitter
UniformRandomVariable used to randomize the time of the first beacon.
Time m_beaconInterval
Beacon interval.
std::unordered_map< WifiAddressTidPair, bsrType, WifiAddressTidHash > m_bufferStatus
Per (MAC address, TID) buffer status reports.
void DoInitialize(void) override
Initialize() implementation.
uint8_t GetBufferStatus(uint8_t tid, Mac48Address address) const
Return the value of the Queue Size subfield of the last QoS Data or QoS Null frame received from the ...
bool m_enableBeaconJitter
Flag whether the first beacon should be generated at random time.
void DoDispose(void) override
Destructor implementation.
The HE Operation Information ElementThis class knows how to serialise and deserialise the HE Operatio...
TracedCallback< uint16_t, Mac48Address > m_assocLogger
association logger
a unique identifier for an interface.
std::unordered_map< Mac48Address, uint16_t, WifiAddressHash > m_addressIdMap
Maps MAC addresses of associated stations to their association ID.
void SetBeaconGeneration(bool enable)
Enable or disable beacon generation of the AP.