23#ifndef WIFI_MAC_QUEUE_H
24#define WIFI_MAC_QUEUE_H
34#include <unordered_map>
39class WifiMacQueueScheduler;
46extern template class Queue<WifiMpdu, ns3::WifiMacQueueContainer>;
110 void SetMaxDelay(
Time delay);
116 Time GetMaxDelay()
const;
279 void ExtractAllExpiredMpdus()
const;
283 void WipeAllExpiredMpdus();
305 void DoDispose()
override;
339 void DoDequeue(
const std::list<ConstIterator>& iterators);
Smart pointer class similar to boost::intrusive_ptr.
Template class for packet Queues.
Container::iterator Iterator
Iterator.
Simulation virtual time values and global simulation resolution.
Forward calls to a chain of Callback.
a unique identifier for an interface.
Class for the container used by WifiMacQueue.
This queue implements the timeout procedure described in (Section 9.19.2.6 "Retransmit procedures" pa...
Time m_maxDelay
Time to live for packets in the queue.
Ptr< WifiMacQueueScheduler > m_scheduler
the MAC queue scheduler
NS_LOG_TEMPLATE_DECLARE
redefinition of the log component
TracedCallback< Ptr< const WifiMpdu > > m_traceExpired
Traced callback: fired when a packet is dropped due to lifetime expiration.
AcIndex m_ac
the access category
WifiMpdu stores a (const) packet along with a MAC header.
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
@ AC_UNDEF
Total number of ACs.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::tuple< WifiContainerQueueType, WifiReceiverAddressType, Mac48Address, std::optional< uint8_t > > WifiContainerQueueId
Tuple (queue type, receiver address type, Address, TID) identifying a container queue.