27 #include <unordered_map>
32 class CapabilityInformation;
33 class DsssParameterSet;
35 class EdcaParameterSet;
36 class MuEdcaParameterSet;
41 class UniformRandomVariable;
97 const std::map<uint16_t, Mac48Address>&
GetStaList (
void)
const;
324 std::unordered_map<WifiAddressTidPair, bsrType, WifiAddressTidHash>
m_bufferStatus;
void UpdateShortPreambleEnabled(void)
Update whether short preamble should be enabled or not in the BSS.
bool m_shortPreambleEnabled
Flag whether short preamble is enabled in the BSS.
Ptr< Txop > m_beaconTxop
Dedicated Txop for beacons.
void SetBeaconGeneration(bool enable)
Enable or disable beacon generation of the AP.
void SendProbeResp(Mac48Address to)
Forward a probe response packet to the DCF.
SupportedRates GetSupportedRates(void) const
Return an instance of SupportedRates that contains all rates that we support including HT rates.
void SetBeaconInterval(Time interval)
HeOperation GetHeOperation(void) const
Return the HE operation of the current AP.
uint16_t GetAssociationId(Mac48Address addr) const
void SetAddress(Mac48Address address) override
uint16_t m_numNonHtStations
Number of non-HT stations currently associated to the AP.
Ptr< UniformRandomVariable > m_beaconJitter
UniformRandomVariable used to randomize the time of the first beacon.
void TxOk(Ptr< const WifiMacQueueItem > mpdu)
The packet we sent was successfully received by the receiver (i.e.
void(* AssociationCallback)(uint16_t aid, Mac48Address address)
TracedCallback signature for association/deassociation events.
bool CanForwardPacketsTo(Mac48Address to) const override
Return true if packets can be forwarded to the given destination, false otherwise.
bool m_enableNonErpProtection
Flag whether protection mechanism is used or not when non-ERP STAs are present within the BSS.
bool m_shortSlotTimeEnabled
Flag whether short slot time is enabled within the BSS.
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...
ErpInformation GetErpInformation(void) const
Return the ERP information of the current AP.
HtOperation GetHtOperation(void) const
Return the HT operation of the current AP.
bool SupportsSendFrom(void) const override
std::map< uint16_t, Mac48Address > m_staList
Map of all stations currently associated to the AP with their association ID.
DsssParameterSet GetDsssParameterSet(void) const
Return the DSSS Parameter Set that we support.
void UpdateShortSlotTimeEnabled(void)
Update whether short slot time should be enabled or not in the BSS.
CapabilityInformation GetCapabilities(void) const
Return the Capability information of the current AP.
void SendOneBeacon(void)
Forward a beacon packet to the beacon special DCF.
TracedCallback< uint16_t, Mac48Address > m_deAssocLogger
deassociation logger
bool m_enableBeaconGeneration
Flag whether beacons are being generated.
Time m_beaconInterval
Beacon interval.
void TxFailed(WifiMacDropReason timeoutReason, Ptr< const WifiMacQueueItem > mpdu)
The packet we sent was successfully received by the receiver (i.e.
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_enableBeaconJitter
Flag whether the first beacon should be generated at random time.
void DoInitialize(void) override
Initialize() implementation.
MuEdcaParameterSet GetMuEdcaParameterSet(void) const
Return the MU EDCA Parameter Set of the current AP.
EdcaParameterSet GetEdcaParameterSet(void) const
Return the EDCA Parameter Set of the current AP.
TracedCallback< uint16_t, Mac48Address > m_assocLogger
association logger
bool GetUseNonErpProtection(void) const
Return whether protection for non-ERP stations is used in the BSS.
EventId m_beaconEvent
Event to generate one beacon.
const std::map< uint16_t, Mac48Address > & GetStaList(void) const
Get a const reference to the map of associated stations.
void Enqueue(Ptr< Packet > packet, Mac48Address to) 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.
Time m_bsrLifetime
Lifetime of Buffer Status Reports.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
uint16_t GetNextAssociationId(void)
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 ...
void SetLinkUpCallback(Callback< void > linkUp) override
uint16_t m_numNonErpStations
Number of non-ERP stations currently associated to the AP.
VhtOperation GetVhtOperation(void) const
Return the VHT operation of the current AP.
void DoDispose(void) override
Destructor implementation.
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...
void SendAssocResp(Mac48Address to, bool success, bool isReassoc)
Forward an association or a reassociation response packet to the DCF.
std::unordered_map< WifiAddressTidPair, bsrType, WifiAddressTidHash > m_bufferStatus
Per (MAC address, TID) buffer status reports.
void ForwardDown(Ptr< Packet > packet, Mac48Address from, Mac48Address to)
Forward the packet down to DCF/EDCAF (enqueue the packet).
Ptr< WifiMacQueue > GetTxopQueue(AcIndex ac) const override
Get the wifi MAC queue of the (Qos)Txop associated with the given AC, if such (Qos)Txop is installed,...
Time GetBeaconInterval(void) const
An identifier for simulation events.
The HE Operation Information Element.
The HT Operation Information Element.
The MU EDCA Parameter Set.
The Supported Rates Information Element.
Simulation virtual time values and global simulation resolution.
Forward calls to a chain of Callback.
a unique identifier for an interface.
The VHT Operation Information Element.
base class for all MAC-level wifi objects.
WifiMacDropReason
The reason why an MPDU was dropped.
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
store value and timestamp for each Buffer Status Report
uint8_t value
value of BSR
Time timestamp
timestamp of BSR